#include <thing/properties.h>#include <thing/description.h>#include <combat.h>#include <thing/material.h>
gehe zum Quellcode dieser Datei
Funktionen | |
| void | create () |
| string | dam_descr () |
| string | short () |
| varargs string | long () |
| mixed | _query_size () |
| mapping | _query_material () |
Variablen | |
| inherit std thing | description |
| mapping _query_material | ( | ) |
Definiert in Zeile 84 der Datei description.c.
Benutzt P_MATERIAL, P_WEAPON_TYPE, Query(), QueryProp(), WT_AXE, WT_CLUB, WT_KNIFE, WT_SPEAR, WT_STAFF und WT_SWORD.
00084 { 00085 mixed res,wt; 00086 00087 if (mappingp(res=Query(P_MATERIAL))) 00088 return res; 00089 wt=QueryProp(P_WEAPON_TYPE); 00090 switch(wt) { 00091 case WT_SWORD: 00092 return ([MAT_MISC_METAL:100]); 00093 case WT_KNIFE: 00094 return ([MAT_MISC_METAL:80,MAT_MISC_WOOD:20]); 00095 case WT_AXE: 00096 return ([MAT_MISC_METAL:50,MAT_MISC_WOOD:50]); 00097 case WT_SPEAR: 00098 return ([MAT_MISC_METAL:20,MAT_MISC_WOOD:80]); 00099 case WT_STAFF: 00100 case WT_CLUB: 00101 return ([MAT_MISC_WOOD:100]); 00102 } 00103 return ([MAT_MISC_METAL:100]); 00104 }

| mixed _query_size | ( | ) |
Definiert in Zeile 67 der Datei description.c.
Benutzt P_SIZE, P_WEAPON_TYPE, Query(), QueryProp(), WT_AXE, WT_CLUB, WT_KNIFE, WT_SPEAR, WT_STAFF, WT_SWORD und WT_WHIP.
00067 { 00068 mixed res, wt; 00069 if (intp(res=Query(P_SIZE)) && (res>0)) 00070 return res; 00071 wt=QueryProp(P_WEAPON_TYPE); 00072 switch (wt) { 00073 case WT_SWORD : return 100; // default: Langschwert 00074 case WT_AXE : return 80; 00075 case WT_CLUB : return 80; 00076 case WT_SPEAR : return 180; 00077 case WT_KNIFE : return 20; 00078 case WT_WHIP : return 200; 00079 case WT_STAFF : return 150; 00080 } 00081 return 10; // alles andere 00082 }

| void create | ( | ) |
Definiert in Zeile 23 der Datei description.c.
Benutzt create(), DFLT_DAM_DESC, P_DAM_DESC und SetProp().
00024 { 00025 ::create(); 00026 SetProp(P_DAM_DESC,DFLT_DAM_DESC); 00027 }

| string dam_descr | ( | ) |
Definiert in Zeile 29 der Datei description.c.
Benutzt desc, name, P_AC, P_DAM_DESC, P_DAMAGED, P_NAME, P_PARRY, P_SHORT, P_WC, PARRY_ONLY, QueryProp() und WER.
00030 { string re; 00031 mixed desc; 00032 int max,dam,pos; 00033 00034 if (!QueryProp(P_NAME) || !QueryProp(P_DAMAGED) || !QueryProp(P_SHORT) || 00035 !(desc=QueryProp(P_DAM_DESC)) || (!stringp(desc) && !pointerp(desc))) 00036 return ""; 00037 re = capitalize(name(WER,2))+" "; 00038 max = QueryProp(P_WC)+(dam=QueryProp(P_DAMAGED)); 00039 // Bei reinen Parierwaffen den AC als max nehmen! 00040 if (QueryProp(P_PARRY)==PARRY_ONLY) 00041 { 00042 max=QueryProp(P_AC)+dam; 00043 } 00044 if (stringp(desc)) 00045 return (dam>(max/2))?(re+desc+".\n"):""; 00046 pos = (sizeof(desc)*dam/max); 00047 // Sonst koennen Parierwaffen, die Schrott sind, buggen 00048 if (pos==sizeof(desc)) pos--; 00049 if (stringp(desc[pos])) 00050 return (re+desc[pos]+".\n"); 00051 return ""; 00052 }

| varargs string long | ( | ) |
Definiert in Zeile 62 der Datei description.c.
Benutzt dam_descr(), P_LONG, process_string() und QueryProp().
00063 { 00064 return (process_string(QueryProp(P_LONG)||"") + (dam_descr()||"")); 00065 }

| string short | ( | ) |
Definiert in Zeile 54 der Datei description.c.
Benutzt P_SHORT, P_WIELDED und QueryProp().
00055 { string s; 00056 00057 if (!(s=QueryProp(P_SHORT))) 00058 return 0; 00059 return s + (QueryProp(P_WIELDED)?" (gezueckt).\n":".\n"); 00060 }

| inherit std thing description |
Definiert in Zeile 21 der Datei description.c.
1.6.3