blob: 14528ea8f01d3ea5eef4574ff30f6780e1612e93 [file] [log] [blame]
notstromc0a51aa2018-11-12 20:21:16 +01001inherit "/std/npc";
2
3#include <new_skills.h>
4#include __PATH__(1)"defs.h"
5
6
7protected void create() {
8 if (!clonep()) {
9 set_next_reset(-1);
10 return;
11 }
12 ::create();
13
14 create_default_npc(20, 600);
15
16 SetProp(P_SHORT, "Ein spiegelblanker Zwerg");
17 SetProp(P_LONG, BSLF(
18 "Dieser Zwerg ist (oha!) FRISCHGEWASCHEN!!\n"
19 "Er ist so spiegelblank, dass Du Dir tatsaechlich vorstellen kannst, "
20 "dass er nicht nur Licht, sondern noch viel mehr reflektiert."));
21 SetProp(P_NAME, "Kawumm");
22 SetProp(P_ARTICLE, 0);
23 SetProp(P_GENDER, MALE);
24
25 AddId(({"zwerg", "kawumm"}));
26 SetProp(P_ALIGN, 100);
27 SetProp(P_RACE, "Zwerg");
28 SetProp(P_SIZE, 102);
29
30 SetProp(P_MURDER_MSG,
31 "He! Ich gehoere doch zu Notstroms Magiertutorial, %s.");
32 SetProp(P_DIE_MSG, " kippt um wie eine leere Bierflasche.\n");
33}
34
35/* Defend() wird aufgerufen, wenn dieses Objekt etwas auf die Omme bekommt -
36 oder bekommen soll. Resistenzen erledigt man am besten ueber die Prop aus
37 dem vorangegangenen Beispiel, aber manchmal moechte man ja etwas machen,
38 was ein wenig lustiger ist. */
39public int Defend(int dam, string|string* dam_type, int|mapping spell,
40 object enemy) {
41 if (mappingp(spell) && spell[SP_PHYSICAL_ATTACK]) {
42 tell_object(enemy, BSLF(
43 "Kawumm ist so glaenzend plankpoliert, dass er Deinen Angriff glatt "
44 "reflektiert."));
45 tell_room(ENV(enemy), BSLF(
46 "Kawumm ist so glaenzend plankpoliert, dass er den Angriff von "+
47 enemy->name()+"glatt reflektiert."),
48 ({enemy}));
49
50 m_add(spell, SP_RECURSIVE, 1);
51 enemy->Defend(dam, dam_type, spell, enemy);
52 /* Wir geben hier 0 zurueck, sind also vollstaendig immun gegen
53 Spells ohne physische Schadenskomponente. Man koennte auch einen
54 kleinen Teil des Schadens durchkommen lassen, aber dann haette
55 der Zwerg einen anderen Namen: */
56 return 0;
57 }
58 return ::Defend(dam, dam_type, spell, enemy);
59}