blob: 25650fbf3d30293b0c6c0bf66ae743704daedb59 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2GetFValueO()
3************
4
5
6FUNKTION
7========
8
9 varargs int GetFValueO(string vname, mapping map, object pl)
10
11
12ARGUMENTE
13=========
14
15 vname : name des parameters aus dem spellmapping
16 map : spellmapping
17 pl : caster
18
19
20BESCHREIBUNG
21============
22
23 'Berechnet' den Wert, den Factor und den Offset des Parameters
24 in spellmapping.
25
26
27RUECKGABEWERT
28=============
29
30 Berechneter (Wert*Factor)/100+Offset aus dem Spellmapping.
31
32
33BEMERKUNGEN
34===========
35
36 Ruft (GetValue(vname,map,pl)*GetFactor(vname,map,pl))/100+
37 GetOffset(vname,map,pl) auf.
38
39
40BEISPIEL
41========
42
43 AddSpell("egal",10,
44 ([
45 OFFSET(SI_COST):([SM_RACE:(["Zwerg":4]) ]),
46 FACTOR(SI_COST):([SM_RACE:(["Mensch":90]) ]),
47 SI_SKILLDAMAGE:100,
48 OFFSET(SI_SKILLDAMAGE):25,
49 SI_SKILLDAMAGE_TYPE:DT_EXAMPLE,
50 FACTOR(SI_SKILLDAMAGE):([SM_RACE:(["Zwerg":80,"Elf":120]) ])
51 ]));
52
53 So, was sollen uns diese Zeilen sagen?
54
55 Es wird ein Spruch Names 'egal' ins Spellbook eingetragen. Er kostet
56 regulaer 10 MP. Fuer Zwerge allerdings wird ein Offset von 4 MP
57 aufgeschlagen. Ausserdem machen Zwerge nur 80% Schaden, Elfen
58 hingegen 120%. Der Grundschaden betraegt 100 Schadenspunkte, der
59 Offset des Schadens nochmal 25. Menschen bezahlen fuer diesen
60 Spruch nur 90% der Kosten.
61
62 Nun die Rechenbeispiele:
63
64 Fuer die Kosten:
65 Value ValueO FValue FValueO
66 Mensch 10 10 9 9
67 Elf 10 10 10 10
68 Hobbit 10 10 10 10
69 Zwerg 10 14 10 14
70
71 Fuer den Schaden:
72 Value ValueO FValue FValueO
73 Mensch 100 125 100 125
74 Elf 100 125 120 150
75 Hobbit 100 125 100 125
76 Zwerg 100 125 80 100
77
78 An diesem Beispiel sieht man deutlich, wie man mit ein paar
79 Offsets und Faktoren die Wirkung eines Spruches deutlich
80 veraendern kann. Es sollte bei eigenen Berechnungen immer
81 GetFValueO benutzt werden.
82
83Siehe auch:
84
85 "GetValue", "GetFactor", "GetOffset", "GetFValue", "GetValueO"