2021-01-18 12:51:02 -05:00
|
|
|
-----------------------------------
|
2017-06-05 18:27:18 -04:00
|
|
|
-- ID: 4705
|
|
|
|
|
-- Scroll of Temper
|
|
|
|
|
-- Teaches the white magic Temper
|
2021-01-18 12:51:02 -05:00
|
|
|
-----------------------------------
|
2024-08-24 12:32:37 -04:00
|
|
|
---@type TItem
|
2022-10-06 17:25:46 +03:00
|
|
|
local itemObject = {}
|
Attempt to implement remaining RDM Spells and Abilities, all the way up to Lv99
Implemented Abilities:
Spontaneity - Makes the next spell have no cast time or recast time, as if the caster was under the effect of Chainspell. The implementation mirrors Chainspell, but removes itself after a single spell
Stymie - One Hour Special. Grants a magic accuracy bonus to the next enfeeble spell. From the available information, it seems that as long as the mob is not immune to the status effect, then it will land unresisted. The implementation attempts to mirror this by checking for Stymie + Immunity, and returning unresisted if not immune in the function to calculate resistance to a status effect that is used by all enfeebling spells.
Implemented Spells:
Addle - Increases the targets casting time and lowers their magic accuracy. The exact formula is not known, but the best available information says that the raw value is ~30%, and is boosted to ~50% if Saboteur is active, so this implementation assumes that is the case.
Temper - Grants the target the effect of Multi Strikes, which gives them Double Attack.
Formula used from BGWiki:
-Enhancing Magic Skill < 360 : DA % = 5%
-Enhancing Magic Skill ≥ 360 : DA % = floor( Enhancing Magic Skill - 300 ) ÷ 10 )
-Cap: 20%
TODO: Spell animations, confirm ability animations.
2014-05-31 08:49:33 -04:00
|
|
|
|
2026-05-25 20:42:11 -06:00
|
|
|
itemObject.onItemCheck = function(target, item, caster)
|
2023-07-19 10:34:33 -04:00
|
|
|
return target:canLearnSpell(xi.magic.spell.TEMPER)
|
2018-08-07 19:36:44 -04:00
|
|
|
end
|
Attempt to implement remaining RDM Spells and Abilities, all the way up to Lv99
Implemented Abilities:
Spontaneity - Makes the next spell have no cast time or recast time, as if the caster was under the effect of Chainspell. The implementation mirrors Chainspell, but removes itself after a single spell
Stymie - One Hour Special. Grants a magic accuracy bonus to the next enfeeble spell. From the available information, it seems that as long as the mob is not immune to the status effect, then it will land unresisted. The implementation attempts to mirror this by checking for Stymie + Immunity, and returning unresisted if not immune in the function to calculate resistance to a status effect that is used by all enfeebling spells.
Implemented Spells:
Addle - Increases the targets casting time and lowers their magic accuracy. The exact formula is not known, but the best available information says that the raw value is ~30%, and is boosted to ~50% if Saboteur is active, so this implementation assumes that is the case.
Temper - Grants the target the effect of Multi Strikes, which gives them Double Attack.
Formula used from BGWiki:
-Enhancing Magic Skill < 360 : DA % = 5%
-Enhancing Magic Skill ≥ 360 : DA % = floor( Enhancing Magic Skill - 300 ) ÷ 10 )
-Cap: 20%
TODO: Spell animations, confirm ability animations.
2014-05-31 08:49:33 -04:00
|
|
|
|
2022-10-06 17:25:46 +03:00
|
|
|
itemObject.onItemUse = function(target)
|
2023-07-19 10:34:33 -04:00
|
|
|
target:addSpell(xi.magic.spell.TEMPER)
|
2020-03-19 18:41:42 -07:00
|
|
|
end
|
2021-01-17 11:55:03 -05:00
|
|
|
|
2022-10-06 17:25:46 +03:00
|
|
|
return itemObject
|