Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //TESH.scrollpos=69
- //TESH.alwaysfold=0
- //! runtextmacro BuffType("Weldinator1")
- //! runtextmacro SetBuffName("Weldinator Phase I")
- //! runtextmacro SetBuffAlignment("POSITIVE")
- //! runtextmacro SetBuffTooltip("Adds fire splash to attack.")
- //! runtextmacro SetBuffIcon("ReplaceableTextures\\CommandButtons\\BTNFireBolt.blp")
- //! runtextmacro BuffStruct()
- unit caster
- unit target
- integer abilId
- integer damage
- method onCreate takes nothing returns nothing
- set this.abilId = BuffAbilId
- set this.caster = BuffCaster
- set this.target = BuffTarget
- endmethod
- method onApply takes nothing returns nothing
- set damage = GetUnitAbilityLevel(this.caster,this.abilId)*5
- call Status[this.unit].modDamageBonus(damage)
- endmethod
- method onRemove takes nothing returns nothing
- call Status[this.unit].modDamageBonus(-damage)
- endmethod
- method onDamageDealt takes nothing returns nothing
- local unit u = null
- if Damage_IsAttack() then
- set P = GetOwningPlayer(this.target)
- call GroupEnumUnitsInRange(G2,GetUnitX(GetTriggerUnit()),GetUnitY(GetTriggerUnit()),70,Condition(function EnemyAliveFilter))
- loop
- set u = FirstOfGroup(G2)
- exitwhen u == null
- if u != GetTriggerUnit() then
- call Damage_Spell(this.target,u,GetEventDamage())
- call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",u,"origin"))
- endif
- call GroupRemoveUnit(G2,u)
- endloop
- endif
- endmethod
- //! runtextmacro EndBuff()
- //! runtextmacro BuffType("Weldinator2")
- //! runtextmacro SetBuffName("Weldinator Phase II")
- //! runtextmacro SetBuffAlignment("POSITIVE")
- //! runtextmacro SetBuffTooltip("Brute strength.")
- //! runtextmacro SetBuffIcon("ReplaceableTextures\\CommandButtons\\BTNGolemThunderclap.blp")
- //! runtextmacro BuffStruct()
- unit caster
- unit target
- integer abilId
- integer str
- method onCreate takes nothing returns nothing
- set this.abilId = BuffAbilId
- set this.caster = BuffCaster
- set this.target = BuffTarget
- endmethod
- method onApply takes nothing returns nothing
- set str = R2I(GetHeroStr(this.caster,true)*0.6)
- call Status[this.unit].modStrBonus(str)
- endmethod
- method onRemove takes nothing returns nothing
- call Status[this.unit].modStrBonus(-str)
- endmethod
- //! runtextmacro EndBuff()
- //! runtextmacro BuffType("Weldinator3")
- //! runtextmacro SetBuffName("Weldinator Phase III")
- //! runtextmacro SetBuffAlignment("POSITIVE")
- //! runtextmacro SetBuffTooltip("Somehow being stuffed with explosives makes you run faster.")
- //! runtextmacro SetBuffIcon("ReplaceableTextures\\PassiveButtons\\PASBTNScatterRockets.blp")
- //! runtextmacro BuffStruct()
- unit caster
- unit target
- integer abilId
- integer ms
- real damage
- method onCreate takes nothing returns nothing
- set this.abilId = BuffAbilId
- set this.caster = BuffCaster
- set this.target = BuffTarget
- endmethod
- method onApply takes nothing returns nothing
- set ms = 30
- set damage = GetHeroStr(this.caster,true)*6
- call Status[this.unit].modMoveSpeedBonus(ms)
- endmethod
- method onRemove takes nothing returns nothing
- local unit u = null
- call Status[this.unit].modMoveSpeedBonus(-ms)
- if IsUnitType(this.target,UNIT_TYPE_DEAD) then
- set P = GetOwningPlayer(this.caster)
- call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl",GetUnitX(this.target),GetUnitY(this.target)))
- call GroupEnumUnitsInRange(G2,GetUnitX(this.target),GetUnitY(this.target),400,Condition(function EnemyAliveFilter))
- loop
- set u = FirstOfGroup(G2)
- exitwhen u == null
- call Damage_Spell(this.target,u,damage)
- call DestroyEffect(AddSpecialEffectTarget("Abilities\\Weapons\\FireBallMissile\\FireBallMissile.mdl",u,"chest"))
- call GroupRemoveUnit(G2,u)
- endloop
- endif
- endmethod
- //! runtextmacro EndBuff()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement