GetFValueO()

FUNKTION

varargs int GetFValueO(string vname, mapping map, object pl)

ARGUMENTE

vname   : name des parameters aus dem spellmapping
map     : spellmapping
pl      : caster

BESCHREIBUNG

'Berechnet' den Wert, den Factor und den Offset des Parameters
in spellmapping.

RUECKGABEWERT

Berechneter (Wert*Factor)/100+Offset aus dem Spellmapping.

BEMERKUNGEN

Ruft (GetValue(vname,map,pl)*GetFactor(vname,map,pl))/100+
GetOffset(vname,map,pl) auf.

BEISPIEL

AddSpell("egal",10,
([
OFFSET(SI_COST):([SM_RACE:(["Zwerg":4]) ]),
FACTOR(SI_COST):([SM_RACE:(["Mensch":90]) ]),
SI_SKILLDAMAGE:100,
OFFSET(SI_SKILLDAMAGE):25,
SI_SKILLDAMAGE_TYPE:DT_EXAMPLE,
FACTOR(SI_SKILLDAMAGE):([SM_RACE:(["Zwerg":80,"Elf":120]) ])
]));

So, was sollen uns diese Zeilen sagen?

Es wird ein Spruch Names 'egal' ins Spellbook eingetragen. Er kostet
regulaer 10 MP. Fuer Zwerge allerdings wird ein Offset von 4 MP
aufgeschlagen. Ausserdem machen Zwerge nur 80% Schaden, Elfen
hingegen 120%. Der Grundschaden betraegt 100 Schadenspunkte, der
Offset des Schadens nochmal 25. Menschen bezahlen fuer diesen
Spruch nur 90% der Kosten.

Nun die Rechenbeispiele:

Fuer die Kosten:
        Value   ValueO  FValue  FValueO
Mensch     10       10       9        9
Elf        10       10      10       10
Hobbit     10       10      10       10
Zwerg      10       14      10       14

Fuer den Schaden:
                Value   ValueO  FValue  FValueO
Mensch          100     125     100     125
Elf             100     125     120     150
Hobbit          100     125     100     125
Zwerg           100     125      80     100

An diesem Beispiel sieht man deutlich, wie man mit ein paar
Offsets und Faktoren die Wirkung eines Spruches deutlich
veraendern kann. Es sollte bei eigenen Berechnungen immer
GetFValueO benutzt werden.

Siehe auch:

“GetValue”, “GetFactor”, “GetOffset”, “GetFValue”, “GetValueO”