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