getkill.c-Dateireferenz

#include <thing/properties.h>
#include <thing/language.h>
Include-Abhängigkeitsdiagramm für getkill.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define DD(x)
#define ME   this_object()
#define PL   this_player()
#define PO   previous_object()
#define CAP(x)   capitalize(x)

Funktionen

string get_killer ()
object get_killer_object ()

Makro-Dokumentation

#define CAP ( x   )     capitalize(x)
#define DD ( x   ) 

Definiert in Zeile 18 der Datei getkill.c.

Wird benutzt von get_killer() und get_killer_object().

#define ME   this_object()

Definiert in Zeile 20 der Datei getkill.c.

#define PL   this_player()

Definiert in Zeile 21 der Datei getkill.c.

#define PO   previous_object()

Definiert in Zeile 22 der Datei getkill.c.


Dokumentation der Funktionen

string get_killer (  ) 

Definiert in Zeile 25 der Datei getkill.c.

Benutzt CAP, DD, ME, name, old_explode(), PL, PO und RAW.

00026 {
00027   string killer;
00028 
00029   DD(sprintf("TP    = %O\n", this_player()));
00030   DD(sprintf("TI    = %O\n", this_interactive()));
00031   DD(sprintf("PO(1) = %O\n", previous_object()));
00032   DD(sprintf("PO(2) = %O\n", previous_object(2)));
00033   DD(sprintf("PO(3) = %O\n", previous_object(3)));
00034   DD(sprintf("PO(4) = %O\n", previous_object(4)));
00035   DD(sprintf("Stacktiefe = %i\n", caller_stack_depth()));
00036 
00037   if (PL)
00038   {
00039     if (PL->id("\nchaos_gilden_daemon"))
00040       return CAP(PL->QueryProp("chaos_daem_beschwoerer"))+" (mit Kampfdaemon)";
00041     if (PL->id("Beistand") && !PL->id("P-KRIEGER"))
00042       return CAP((PL->QueryProp("klerus_owner"))->name())+" (mit Beistand)";
00043     if (PL == ME)   // Goblinring und andere Retrowaffen
00044     {
00045       if (!PO)
00046         return PL->name(RAW);
00047       if (old_explode(object_name(PO), "#")[0]=="/d/ebene/obj/gring")
00048         return (PO->QueryProp("worn"))->name(RAW)+" (mit Goblinring)";
00049       if (old_explode(object_name(PO), "#")[0]=="/d/unterwelt/wurzel/dorf/shabz")
00050         return (PO->QueryProp("worn"))->name(RAW)+" (mit Abzeichen)";
00051       if (old_explode(object_name(PO), "#")[0]=="/d/wueste/tsunami/schule/rue/hex_toga2")
00052         return (PO->QueryProp("worn"))->name(RAW)+" (mit Toga)";
00053       return PL->name(RAW);
00054     }
00055     return PL->name(RAW);
00056   }
00057   else if (PO)
00058   {
00059     if (old_explode(object_name(PO), "#")[0]=="/p/seher/laden/obj/bumerang.c")
00060       return (PO->query_werfer())->name(RAW)+" (mit Bumerang)";
00061     else
00062       return PO->name(RAW);
00063   }
00064   else
00065     return "<unbekannt>";
00066 }

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

object get_killer_object (  ) 

Definiert in Zeile 68 der Datei getkill.c.

Benutzt DD, find_player(), ME, old_explode(), PL und PO.

00069 {
00070   DD(sprintf("TP    = %O\n", this_player()));
00071   DD(sprintf("TI    = %O\n", this_interactive()));
00072   DD(sprintf("PO(1) = %O\n", previous_object()));
00073   DD(sprintf("PO(2) = %O\n", previous_object(2)));
00074   DD(sprintf("PO(3) = %O\n", previous_object(3)));
00075   DD(sprintf("PO(4) = %O\n", previous_object(4)));
00076   DD(sprintf("Stacktiefe = %i\n", caller_stack_depth()));
00077 
00078   if (PL)
00079   {
00080     if (PL->id("\nchaos_gilden_daemon"))
00081       return find_player(PL->QueryProp("chaos_daem_beschwoerer"));
00082     if (PL->id("Beistand") && !PL->id("P-KRIEGER"))
00083       return PL->QueryProp("klerus_owner");
00084     if (PL == ME)   // Goblinring und andere Retrowaffen
00085     {
00086       if (!PO)
00087         return PL;
00088       if (old_explode(object_name(PO), "#")[0]=="/d/ebene/obj/gring")
00089         return PO->QueryProp("worn");
00090       if (old_explode(object_name(PO), "#")[0]=="/d/unterwelt/wurzel/dorf/shabz")
00091         return PO->QueryProp("worn");
00092       if (old_explode(object_name(PO), "#")[0]=="/d/wueste/tsunami/schule/rue/hex_toga2")
00093         return PO->QueryProp("worn");
00094       return PL;
00095     }
00096     return PL;
00097   }
00098   else if (PO)
00099   {
00100     if (old_explode(object_name(PO), "#")[0]=="/p/seher/laden/obj/bumerang.c")
00101       return PO->query_werfer();
00102     else
00103       return PO;
00104   }
00105   else
00106     return 0;
00107 }

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

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