Код

///////////////////////////////////////////////////////////////////////////////////////////////////////////
// Spellshift Event - Mordaunt
//
// This script changes the type of damage done by certain spells
// The event should be placed on all players & NPCs
///////////////////////////////////////////////////////////////////////////////////////////////////////////

[COMMENT]
Only spells appearing in thebelow damage shift are affected by the damage changes.
These bring the spells more "inline" with OSI's spells (though not exactly)


[DEFNAME damage_shift]
newdam_05 04014 //Magic Arrow
olddam_05 04804
newdam_12 01202 //Harm - cold
olddam_12 0408c
newdam_37 01202 //Mind Blast - cold
olddam_37 0408c
olddam_18 04016 //Fire ball
newdam_18 04014 //fire magic
olddam_55 04016 //Meteor Swarm
newdam_55 04014//fire magic
olddam_57 04086 //Earthquake
newdam_57 04082 //total body physical
olddam_69 04016 //Fire Bolt
newdam_69 04014 //fire magic


[COMMENT Unchanged spells]
//olddam_11 04088 //Poison

//olddam_28 04094 //firefield

//olddam_30 040a4 //Lightening

//olddam_39 04088 //Poison Field

//olddam_42 04804 // Energy Bolt

//olddam_49 040a4 // Chain Lightening

//olddam_51 04094 //Flame Strike



[EVENTS e_spell_shift]
ON=@SPELLEFFECT
if (<serv.spell.<argn1>.flags> & spellflag_harm)
    tag.spellargn=<eval <ARGN>>
ENDIF
RETURN 0

ON=@GETHIT
IF (<TAG0.SPELLARGN>)
        IF (<def0.olddam_<eval <tag0.spellargn>>>)
            IF (<ARGN2> == <def0.newdam_<eval <tag.spellargn>>>)
                Return 0
            ELSEIF (<ARGN2> == <def0.olddam_<eval <tag.spellargn>>>)
                ARGN2=<def0.newdam_<eval <tag.spellargn>>>
                RETURN 0
            ENDIF
        ELSE
            RETURN 0
        ENDIF
TAG.SPELLARGN=
ENDIF
RETURN 0