blob: 5f849048a7e0037c2e33fafcf24e0a5481c8a354 [file] [log] [blame]
notstromd1dec4a2018-12-03 10:20:32 +01001/*
2 Manchmal moechte man ja einem NPC eine ordentliche Waffe geben, die dann
3 aber fuer Spieler nicht so geeignet oder schlicht zu gut waere. In diesem
4 Fall ist eine Moeglichkeit, die Waffenwerte abhaengig von demjenigen zu
5 setzen, der sie gerade dabeihat.
6*/
notstrom2b580792018-12-03 10:12:20 +01007inherit "/std/weapon";
8
9#include __PATH__(1)"defs.h"
10
11
12protected void create() {
13 if (!clonep()) {
14 set_next_reset(-1);
15 return;
16 }
17 ::create();
18
19 SetProp(P_SHORT, "Eine besondere Axt");
20 SetProp(P_LONG, BSLF(
21 "Dies ist die Axt von Kawumm, dem Zwerg. Niemand kann so damit zuhauen "
22 "wie er."));
23
24 SetProp(P_NAME, "Axt");
25 SetProp(P_GENDER, FEMALE);
26 AddId(({"axt"}));
27
28 /* Dies ist Kawumms persoenliche Axt, und mit der macht er mehr Schaden als
29 jeder andere. Gleichzeitig ist dies ein Beispiel dafuer, wie man eine
30 Prop mit einer Closure setzt. Da F_QUERY_METHOD angegeben ist, wird die
31 eingebundene Inline-Function jedesmal ausgefuehrt, wenn der Wert von P_WC
32 abgefragt wird, also z.B. auch bei jedem Attack(). Der umgekehrte Fall
33 waere, wenn wir F_SET_METHOD verwenden, dann wuerde die Inline-Function
34 ausgefuehrt, wenn jemand SetProp(P_WC) aufruft. */
35 Set(P_WC, function int() {
36 if (load_name(ENV()) == __PATH__(1)"npc/zwerg5")
37 return 180;
38 return 100;
39 }, F_QUERY_METHOD);
40
41 SetProp(P_WEAPON_TYPE, WT_AXE);
42 SetProp(P_DAM_TYPE, DT_SLASH);
43 SetProp(P_NR_HANDS, 1);
44
45 SetProp(P_VALUE, 200);
46 SetProp(P_WEIGHT, 3250);
47 SetProp(P_SIZE, 90);
48
49 SetProp(P_MATERIAL, ([MAT_STEEL:100]));
50}
51