blob: 6476f86a993eff50f309c74643188bc67d882c27 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001AddResistanceModifier()
2
3FUNKTION:
4 varargs int AddResistanceModifier(mapping mod, string add)
5
6DEFINIERT IN:
7 /std/living/combat.c
8
9ARGUMENTE:
10 mapping mod:
11 Mapping mit Schadensarten und ihrem Resistenzmodifikator (der im Bereich
12 von -1.0 bis +x liegen kann), z.B. ([DT_FIRE:-1.0]) (Totalresistenz).
13 string add:
14 Ein Identifikator fuer _diesen_ Eintrag des setzenden Objektes.
15
16BESCHREIBUNG:
17 Es werden Resistenzen in dem Objekt gesetzt, die solange bestehen, wie
18 das setzende Objekt existiert, oder nicht RemoveResistanceModifier
19 (mit eventuellem Schluessel add) aufgerufen wird. Zusaetzliche Resistenzen
20 werden eingerechnet.
21
22BEMERKUNGEN:
23 Fuer Ruestungen kann und sollte man P_RESISTANCE_STRENGTHS verwenden.
24
25BEISPIELE:
26 // Oel mit vervierfachtem Feuerschaden
27 int add_action() {
28 ...
29 write(break_string("Du schuettest das Oel ueber "+
30 npc->name(WEN)+".",78));
31 ...
32 npc->AddResistanceModifier(([DT_FIRE:3.0]), "oel");
33 SetProp(P_INVIS,1);
34 SetProp(P_EXTRA_LOOK, "Ueberall tropft Oel herunter.\n");
35 move(npc,M_NOCHECK);
36 ...
37 }
38
39RUeCKGABEWERT:
40 1 fuer Erfolg
41
42SIEHE AUCH:
43 Modifikatoren: RemoveResistanceModifier(), P_RESISTANCE_MODIFIER
44 simple Resistenz: P_RESISTANCE, P_VULNERABILITY
45 Hauptmapping: P_RESISTANCE_STRENGTHS
46 Berechnung: CheckResistance(), UpdateResistanceStrengths()
47 anderes: balance, /std/armour/combat.c, /std/living/combat.c
48
4929.Apr 2002, Gloinson@MG