Timeout ueber reset() loesen

Der Reset zerstoert das Objekt schon. Statt Callouts
einzutragen, wird jetzt einfach mit set_next_reset()
ein neuer Resetzeitpunkt gesetzt, der dem alten Timeout
entspricht.

Change-Id: Ibf0742e25ab1002d39fa4fadd166d34e5d586c3b
diff --git a/secure/login.c b/secure/login.c
index 10b4c78..2f64885 100644
--- a/secure/login.c
+++ b/secure/login.c
@@ -86,7 +86,6 @@
 public string short();
 public string query_real_name();
 public nomask int query_prevent_shadow();
-static void time_out();
 public int remove();
 // the following 3 lfuns deal with dummy player creation
 public mixed new_logon( string str);
@@ -176,7 +175,7 @@
 
     input_to( "logon2", INPUT_PROMPT,
         "Wie heisst Du denn (\"neu\" fuer neuen Spieler)? ");
-    call_out( "time_out", 300 );
+    set_next_reset(300);
     return 1;
 }
 
@@ -520,10 +519,7 @@
         return 1;
     }
 
-    while ( remove_call_out( "time_out" ) != -1 )
-        ;
-    call_out( "time_out", 600 );
-
+    set_next_reset(600);
     password = md5_crypt( password, 0 );
     save_object( SECURESAVEPATH + loginname[0..0] + "/" + loginname );
     master()->RemoveFromCache( loginname );
@@ -980,7 +976,11 @@
 void reset()
 {
   if (clonep())
+  {
+    if (interactive(this_object()))
+      tell_object(this_object(),"Time out!");
     remove();
+  }
 }
 
 public string short()
@@ -1001,14 +1001,6 @@
 }
 
 
-static void time_out()
-{
-    if (this_player())
-      tell_object(this_player(),"Time out!");
-    destruct( this_object() );
-}
-
-
 // Wird von simul_efuns benutzt, um nen dummy-Spielerobjekt zu erzeugen. Nicht
 // im Loginprozess involviert.
 public mixed new_logon( string str)