 # Spell Damage Formula

(Difference between revisions)
 Revision as of 16:53, 26 March 2006 (edit)m (Add 'Back' link.)← Previous diff Current revision (06:08, 20 September 2019) (edit) (undo)m (→Protection Spells - Amended the links to point to dejenol.com instead of the old mordor.uni.cc domain) Line 28: Line 28: Added Defense = 3 * LN(Int(SL / 2) + 1)^2 Added Defense = 3 * LN(Int(SL / 2) + 1)^2 - Buggy, Nudibranch explains in [url=http://mordor.uni.cc/forum/index.php?showtopic=1208&st=0&p=11736&#entry11736]this post[/url]. + Buggy, Nudibranch explains in [url=http://dejenol.com/forum/index.php?showtopic=1208&st=0&p=11736&#entry11736]this post[/url]. - Now comparing damage spell formula to values found in [url=http://mordor.uni.cc/forum/index.php?showtopic=201]this thread[/url] + Now comparing damage spell formula to values found in [url=http://dejenol.com/forum/index.php?showtopic=201]this thread[/url] FB BF CB AS FB BF CB AS Line 56: Line 56: Healing = Int(Modifier1 - Modifier2) Healing = Int(Modifier1 - Modifier2) - [http://mordor.uni.cc/forum/Spell_Damage_Formula-t1208.html Discuss this topic in the forum] + [http://dejenol.com/forum/Spell_Damage_Formula-t1208.html Discuss this topic in the forum]

[[Mordor Spoilers|Back to Mordor Spoilers]] [[Mordor Spoilers|Back to Mordor Spoilers]]

# Damage Spells

```SL = Highest Spell Level from all joined guilds that can cast the spell, range 1-255
Base = X in SpellName(X/Y) ie Firebolt(10/1)
Power = Y in SpellName(X/Y)
Resistance = Monster Resistance to Spell Damage-Type
```
```Minimum = (Base + (Base * LN(SL) / 1.61) + Int(SL * (Power-1) / 10)) / 2
Base Damage = Minimum + Random(1 to Minimum)
Final Damage = Base Damage * (1 - Resistance/100)
(Simplified Formula, slightly inaccurate for very low SL)
```

For Kill Spells, if damage is less than monster HP, then damage becomes 0

# Healing Spells

```SL = Spell Level of current Guild, not from highest Guild that can cast the spell.
```
```Minimum = (Base + (Base * LN(SL) / 2,3) + Int(SL * (Power-1) / 10)) / 2
Healing = Minimum + Random(1 to Minimum)
(Simplified Formula, slightly inaccurate for very low SL)
```

# Protection Spells

For Protection gained through items:

```SL = Spell Level from current Guild
Added Defense = 3 * LN(SL)^2
```

For Protection gained through Guild Spells:

```SL = Highest Spell Level from all joined guilds that can cast the spell
Added Defense = 3 * LN(Int(SL / 2) + 1)^2
```

Buggy, Nudibranch explains in this post.

Now comparing damage spell formula to values found in this thread

```          FB      BF       CB       AS
SL  15   25/26   53/ 54   39/40    92/ 95
SL  65   35/35  117/118   59/59   170/172
SL 115   38/38  172/173   66/69   230/232
SL 255   43/43  313/320   89/90   386/387  <--- Max SL
```

FB = Firebolt(10/1)
BF = Blue Flame(15/11)
CB = Cold Blast(15/2)
AS = Acidic Spray(30/11)
X/Y: X is observed Max Damage, Y is calculated Max Damage

Real Spell Damage Formula:

```Modifier1 = Base + (Base * LN(SL + 1) / LN(5)) + Int((SL / 10) * (Power-1))
Modifier2 = Int(Rnd * (Modifier1 - ((SL - 1) / SL^2)) / 2) + 1
Damage = Int(Modifier1 - Modifier2)
Damage = Damage * (1 - Resistance/100)
```

Real Healing Formula:

```Modifier1 = Base + (Base * LN(SL) / LN(10)) + Int((SL / 10) * (Power-1))
Modifier2 = Int(Rnd * (Modifier1 - ((SL - 1) / SL^2)) / 2) + 1
Healing = Int(Modifier1 - Modifier2)
```