Projekt

Allgemein

Profil

Aktionen

Fehler #20249

offen

Downranking-Formel für Spells veraltet

Von Veylen vor etwa 8 Jahren hinzugefügt. Vor mehr als 1 Jahr aktualisiert.

Status:
Bestätigt
Priorität:
Normal
Zugewiesen an:
Kategorie:
Mechanik
Zielversion:
Beginn:
11.08.2016
Update Text Deutsch:
Tags:

Beschreibung

Bei uns ist scheinbar die Formel für den downrank Koeffizienten noch auf Stand 2.2.

In der unit.cpp steht folgendes:

2265     float LvlFactor = (float(spellProto->SpellLevel) + 6.0f) / float(getLevel());
2266 if (LvlFactor > 1.0f)
2267 LvlFactor = 1.0f;

Das ist laut Quellen aber nochmal geändert worden:

If caster level is less than max caster level, then the penalty = 1.0.
If caster level is at or greater than max caster level, then the penalty = (22 + max level - caster level) / 20.
The penalty is capped at 0. Max caster level per spell is also pretty inconsistent, but it's around 4 levels higher than the level at which you get the spell.
Basically, once the caster is 3 levels higher than the max cast level of the spell, the standard coefficient of the spell is multiplied by that penalty (losing 5% of the coefficient per level), with the coefficient reaching zero when the player is 22 levels higher than the max cast level.

Ein Auszug aus dem AddOn DrDamage, wo diese Formel schon übernommen wurde sieht so aus:

1.7.8_release -- Caster.lua -- line 405ff
--CORE: Factor for downranking, factor for spells under level 20
calculation.penaltyMod = 1
if spell.spellLevel then
if (spell.spellLevel < 20) and not baseSpell.NoLowLevelPenalty then
calculation.penaltyMod = 1 - ((20 - spell.spellLevel) * 0.0375)
end
if not (spell.NoDownrank or baseSpell.NoDownrank) then || Ab hier
local mod = math_min(1,math_max(0,(22 + spell.spellLevel + (spell.Downrank or baseSpell.Downrank or 5) - playerLevel) * 0.05))
if mod < 1 then
calculation.penaltyMod = calculation.penaltyMod * mod
calculation.downrank = true
end
end
end

Anmerkung: In r1420 von DrDamage wurde dieser Block auskommentiert. Da diese Version am 20. Nov 2010 hochgeladen wurde, ist das aber schon 4.0.1, auch wenn die Version als 3.3.5 angegeben ist. Die letzte Version die Tatsächlich vor 4.0.1 released wurde ist 1.7.8_release (oben verlinkt)

Aktionen

Auch abrufbar als: Atom PDF