#include <thing/properties.h>#include <thing/language.h>
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 () |
Definiert in Zeile 23 der Datei getkill.c.
Wird benutzt von _add_entry(), AddSin(), crname(), extinguish(), get_killer(), light(), ListSins(), out_of_fuel(), PlayerDomain(), PrintShort() und RemoveSin().
| #define DD | ( | x | ) |
Definiert in Zeile 18 der Datei getkill.c.
Wird benutzt von get_killer() und get_killer_object().
| 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 }

| 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 }

1.6.3