death_room_vc.c-Dateireferenz

#include <defines.h>
#include <properties.h>
#include <moving.h>
#include <language.h>
#include <wizlevels.h>
#include <daemon.h>
#include <new_skills.h>
Include-Abhängigkeitsdiagramm für death_room_vc.c:

gehe zum Quellcode dieser Datei

Funktionen

public int no_attack ()
public int no_poison (int val)
public void create ()
void test_remove ()
public void reset ()
public void exit (object liv)
static void deep_destruct (object ob)
public void init ()
public int filter_ldfied (string str)

Variablen

inherit std room

Dokumentation der Funktionen

public void create (  ) 

Definiert in Zeile 23 der Datei death_room_vc.c.

Benutzt break_string(), create(), IS_BLUE, MALE, P_ARTICLE, P_GENDER, P_INT_LONG, P_INT_SHORT, P_LIGHT, P_LOG_FILE und SetProp().

00024 {
00025   if (IS_BLUE(this_object())) return;
00026     ::create();
00027     
00028     SetProp( P_GENDER, MALE );
00029     SetProp( P_ARTICLE, 0 );
00030     SetProp( P_LIGHT,1 );
00031     SetProp( P_LOG_FILE, "TOD/Todesraum" );
00032     SetProp( P_INT_SHORT, "Arbeitszimmer des Todes" );
00033     SetProp( P_INT_LONG, break_string(
00034              "Ein dunkler Raum, erleuchtet von dunklem Licht, das sich der "
00035              "Dunkelheit nicht so sehr zu widersetzen scheint, indem es "
00036              "leuchtet, als dass es der dunkelste Punkt in einer weniger "
00037              "dunklen Umgebung ist. Im seltsamen Licht erkennst Du einen "+
00038              "zentral aufgestellten Schreibtisch, der mit Diagrammen und "
00039              "Buechern bedeckt ist. Die Waende verschwinden hinter Regalen, "
00040              "die gefuellt sind mit in Leder gebundenen, dunklen Waelzern, "
00041              "von denen geheimnisvolle Runen leuchten.\nTod.", 78, 0, 1 ) );
00042     previous_object()->CustomizeObject();
00043     call_other("/room/death/death_room","???");
00044 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

static void deep_destruct ( object  ob  )  [static]

Definiert in Zeile 66 der Datei death_room_vc.c.

Benutzt x.

00067 {
00068     if ( objectp(ob) && environment(ob) == this_object() )
00069         filter( deep_inventory(ob) + ({ ob }),
00070                       lambda( ({'x/*'*/}), ({#'destruct, 'x}) ) );
00071 }

public void exit ( object  liv  ) 

Definiert in Zeile 59 der Datei death_room_vc.c.

Benutzt call_out().

00060 {
00061   call_out("test_remove",2);
00062   return;
00063 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

public int filter_ldfied ( string  str  ) 

Definiert in Zeile 126 der Datei death_room_vc.c.

Wird benutzt von long().

00127 {
00128     // Description:   Filter out relevant commands.
00129     string verb;
00130     
00131     verb=query_verb();
00132     
00133     if ( (verb == "schlafe" || verb == "schlaf") && str == "ein" ){
00134         write("DU KANNST DEM TOD NICHT ENTRINNEN!\n");
00135         return 0;
00136     }
00137     
00138     if ( verb == "typo" || verb == "fehler" || verb == "bug" || verb == "idee" )
00139         return 0;
00140 
00141     write( "Dein Koerper gehorcht Dir nicht !\n" );
00142     return 1;
00143 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

public void init (  ) 

Definiert in Zeile 73 der Datei death_room_vc.c.

Benutzt call_out(), F_SET_METHOD, init(), IS_DEPUTY, IS_WIZARD, M_GO, M_NOCHECK, M_SILENT, move(), name, no_poison(), P_GHOST, P_NO_ATTACK, P_TMP_MOVE_HOOK, P_WANTS_TO_LEARN, QueryPrayRoom(), QueryProp() und upperstring().

00074 {  
00075   string prayroom;
00076   int res;
00077 
00078   ::init();
00079   if ( !query_once_interactive(this_player()) ){
00080       call_out( "deep_destruct", 0, this_player() );
00081       return;
00082   }
00083 
00084   if ( !(prayroom = (string) this_player()->QueryPrayRoom()) )
00085       prayroom = "/room/pray_room";
00086   
00087   if ( !this_player()->QueryProp(P_GHOST) )
00088     {
00089       if ( IS_WIZARD(this_player()) &&
00090            this_player()->QueryProp(P_WANTS_TO_LEARN) )
00091                 {
00092           if ( !this_player()->QueryProp(P_INVIS) )
00093               tell_room( this_object(),
00094                          "Der Tod sagt: WAS WILLST DU HIER, "+
00095                          upperstring((string) this_player()->name())+"?\n"+
00096                          "Der Tod sagt: DU BIST UNSTERBLICH, DU HAST HIER "
00097                          "NICHTS ZU SUCHEN!\n\n" );
00098                 }
00099       else 
00100                 {
00101           write("Der Tod sagt: WAS TUST DU HIER? DEINE ZEIT IST NOCH "
00102                 "NICHT REIF!\n\n");
00103           
00104                   if ( catch(res = (int) this_player()->move( prayroom,M_GO|M_SILENT|M_NOCHECK ))
00105                || res < 1 && environment(this_player()) == this_object() )
00106               this_player()->move( "/room/pray_room", M_GO|M_SILENT|M_NOCHECK );
00107                 }
00108       return;
00109     }
00110 
00111   if ( !IS_DEPUTY(this_player()) ){
00112     add_action( "filter_ldfied", "", 1 );
00113     this_player()->Set( P_TMP_MOVE_HOOK,
00114                         ({ time()+31536000, 
00115                            find_object("/room/death/death_room"), 
00116                            "hier_geblieben" }) );
00117   }
00118 
00119   this_player()->Set( P_NO_ATTACK, #'no_attack, F_QUERY_METHOD );
00120   this_player()->Set( P_POISON, #'no_poison, F_SET_METHOD );
00121   
00122   "/room/death/death_room"->add_player(this_player());
00123 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

public int no_attack (  ) 

Definiert in Zeile 145 der Datei death_room_vc.c.

Benutzt F_QUERY_METHOD, i und P_NO_ATTACK.

Wird benutzt von DoFindEnemyVictim(), heart_beat(), Kill(), PresentEnemies() und TryAttackSpell().

00146 {
00147   int i;
00148 
00149   // Spieler haengt noch in der Todessequenz
00150   if( present(previous_object()) )
00151     return 1;
00152   else
00153     previous_object()->Set( P_NO_ATTACK, 0, F_QUERY_METHOD );
00154 
00155   return 0;
00156 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

public int no_poison ( int  val  ) 

Definiert in Zeile 158 der Datei death_room_vc.c.

Wird benutzt von init().

00159 {
00160   if ( val != 0 )
00161   {
00162     catch( raise_error("Poisoning dead players is illegal. Calling object "
00163       "was "+object_name(previous_object(1)))+"\n";publish );
00164   }
00165   return 0;
00166 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

public void reset ( void   ) 

Definiert in Zeile 52 der Datei death_room_vc.c.

Benutzt reset() und test_remove().

00053 {
00054   ::reset();
00055   test_remove();
00056   return;
00057 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

void test_remove (  ) 

Definiert in Zeile 46 der Datei death_room_vc.c.

Benutzt destruct().

Wird benutzt von extinguish(), light(), out_of_fuel(), reset() und unlight().

00047 {
00048   if (!sizeof(all_inventory(this_object())&users()))
00049     if (!this_object()->remove()) destruct(this_object());
00050 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:


Variablen-Dokumentation

inherit std room

Definiert in Zeile 18 der Datei death_room_vc.c.

Erzeugt am Thu Jun 3 14:41:04 2010 für MorgenGrauen Mudlib von  doxygen 1.6.3