lindenkron
You can change this now in User CP
- Reaction score
- 102
Arthas' Spellpack
Version 1.3
Version 1.3
I have no idea what it is, MUI MPI leakless etc etc etc, but I'll post it here and you guys can tell me what I need to change / improve etc.
All I know for sure, is that its GUI
I know there is 1 flaw in it that I'm aware of, the Arthas' Movement when he is standing still. I don't know how to fix that, but I'd appreciate any help I can get to fix it.
---->> All comments regarding improvements are welcome <<----
Some screenshots and codes and descriptions:
Arthas Movement Description Passive
Arthas' mere existance causes the ground he walk on to turn into ice, increasing his movementspeed when ever he is on ice.
Level 1 - 20% increased movementspeed.
Level 2 - 40% increased movementspeed.
Level 3 - 60% increased movementspeed.
Arthas Movement Code
Trigger:
- ChangeTerrain
- Events
- Time - Every 0.20 seconds of game time
- Conditions
- Actions
- Set AMTempGroup = (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Equal to Arthas))
- Unit Group - Pick every unit in AMTempGroup and do (Actions)
- Loop - Actions
- Set AMTempPoint[(Player number of (Owner of (Picked unit)))] = (Position of (Picked unit))
- Set CurrentGraphic[(Player number of (Owner of (Picked unit)))] = (Level of Arthas' Movement for (Picked unit))
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- CurrentGraphic[(Player number of (Owner of (Picked unit)))] Greater than or equal to 1
- CurrentGraphic[(Player number of (Owner of (Picked unit)))] Equal to RequiredGraphic[(Player number of (Owner of (Picked unit)))]
- Then - Actions
- Set RequiredGraphic[(Player number of (Owner of (Picked unit)))] = (CurrentGraphic[(Player number of (Owner of (Picked unit)))] + 1)
- Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\FrostWyrmMissile\FrostWyrmMissile.mdl
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- ((Picked unit) has buff Arthas' Movement ) Equal to True
- (Terrain type at AMTempPoint[(Player number of (Owner of (Picked unit)))]) Not equal to Northrend - Ice
- Then - Actions
- Trigger - Run DestroyIce <gen> (ignoring conditions)
- Else - Actions
- If - Conditions
- Loop - Actions
- Custom script: call DestroyGroup (udg_AMTempGroup)
- Events
Trigger:
- DestroyIce Initially off
- Events
- Conditions
- Actions
- Custom script: local integer udg_TerrainType
- Custom script: local location CurrentSpot
- Custom script: set CurrentSpot = udg_AMTempPoint[GetConvertedPlayerId(GetOwningPlayer(GetEnumUnit()))]
- Set TerrainType = (Terrain type at AMTempPoint[(Player number of (Owner of (Picked unit)))])
- Environment - Change terrain type at AMTempPoint[(Player number of (Owner of (Picked unit)))] to Northrend - Ice using variation -1 in an area of size 1 and shape Circle
- Wait 3.00 game-time seconds
- Custom script: set udg_AMTempPoint[GetConvertedPlayerId(GetOwningPlayer(GetEnumUnit()))] = CurrentSpot
- Environment - Change terrain type at AMTempPoint[(Player number of (Owner of (Picked unit)))] to TerrainType using variation -1 in an area of size 1 and shape Circle
- Custom script: call RemoveLocation (udg_AMTempPoint[GetConvertedPlayerId(GetOwningPlayer(GetEnumUnit()))])
------
Chilling Revenge Description Passive
Gives Arthas an aura, that has a 50% chance of chilling enemies that strike him.
Level 1 - 50% chance of slowing attacker movement & attack speed by 10%.
Level 2 - 50% chance of slowing attacker movement & attack speed by 20%.
Level 3 - 50% chance of slowing attacker movement & attack speed by 30%.
Chilling Revenge Code
Trigger:
- Attacked
- Events
- Unit - A unit Is attacked
- Conditions
- (Unit-type of (Attacked unit)) Equal to Arthas
- Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- ((Attacked unit) has buff Chilling Revenge ) Equal to True
- (Random integer number between 1 and 2) Equal to 1
- Then - Actions
- Set CRTempLocation = (Position of (Attacked unit))
- Set CRTempPoint[(Player number of (Owner of (Attacked unit)))] = CRTempLocation
- Set CRTempPoint2[(Player number of (Owner of (Attacked unit)))] = (Position of (Attacking unit))
- Unit - Create 1 Dummy Unit for (Owner of (Attacked unit)) at CRTempPoint[(Player number of (Owner of (Attacked unit)))] facing CRTempPoint2[(Player number of (Owner of (Attacked unit)))]
- Unit - Add DummyUnit - Slow to (Last created unit)
- Unit - Set level of DummyUnit - Slow for (Last created unit) to (Level of Chilling Revenge for (Attacked unit))
- Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike (Attacking unit)
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
- Custom script: call RemoveLocation (udg_CRTempPoint2[GetConvertedPlayerId(GetOwningPlayer(GetAttacker()))])
- Custom script: call RemoveLocation (udg_CRTempPoint[GetConvertedPlayerId(GetOwningPlayer(GetAttackedUnitBJ()))])
- Custom script: call RemoveLocation (udg_CRTempLocation)
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Events
------
Ice Lance Description
Arthas gathers the water in the surrounding air and freezes it, to form an Ice Lance to attack the target.
Level 1 - 125 damage, 1 second stun.
Level 2 - 175 damage, 2 seconds stun.
Level 3 - 225 damage, 3 seconds stun.
Ice Lance Code
Trigger:
- GraphicAddition
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Ice Lance
- Actions
- Set ILTempLocation = (Position of (Target unit of ability being cast))
- Set ILTempPoint[(Player number of (Owner of (Triggering unit)))] = ILTempLocation
- Set DisPointA = (Position of (Casting unit))
- Set DisPointB = (Position of (Target unit of ability being cast))
- Set ILWaitTime = ((Distance between DisPointA and DisPointB) / 1500.00)
- Trigger - Turn on Effects <gen>
- Events
Trigger:
- Effects
- Events
- Time - Every 0.05 seconds of game time
- Conditions
- Actions
- Set ILWait = (ILWait + 0.05)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- ILWait Greater than or equal to ILWaitTime
- Then - Actions
- Special Effect - Create a special effect at ILTempPoint[(Player number of (Owner of (Triggering unit)))] using Abilities\Spells\Items\TomeOfRetraining\TomeOfRetrainingCaster.mdl
- Special Effect - Destroy (Last created special effect)
- Special Effect - Create a special effect at ILTempPoint[(Player number of (Owner of (Triggering unit)))] using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
- Special Effect - Destroy (Last created special effect)
- Custom script: call RemoveLocation (udg_ILTempPoint[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
- Custom script: call RemoveLocation (udg_ILTempLocation)
- Set ILWait = 0.00
- Trigger - Turn off (This trigger)
- Else - Actions
- If - Conditions
- Events
------
Frostmourns Soultheft Description (New)
Call forth the dark powers of Frostmourn, surrounding a target with skeletons from Frostmourns army, dealing 400 damage directly into the soul of the target.
Frostmourns Soultheft Code
Trigger:
- SoulTheftCasted
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Frostmourns Soultheft
- Actions
- Set tempSoultheftCaster[(Player number of (Owner of (Picked unit)))] = (Casting unit)
- Set tempSoultheftTarget[(Player number of (Owner of (Picked unit)))] = (Target unit of ability being cast)
- Trigger - Turn on SoulTheftActive <gen>
- Events
Trigger:
- SoulTheftActive Initially off
- Events
- Time - Every 0.05 seconds of game time
- Conditions
- Actions
- Set STWait = (STWait + 0.05)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- STWait Equal to 0.05
- Then - Actions
- Unit - Pause tempSoultheftTarget[(Player number of (Owner of (Triggering unit)))]
- Animation - Change tempSoultheftTarget[(Player number of (Owner of (Triggering unit)))]'s animation speed to 0.00% of its original speed
- Set STTempLocation = (Position of tempSoultheftTarget[(Player number of (Owner of (Triggering unit)))])
- Unit - Create 1 Dummy Unit (Soul Theft) for (Owner of tempSoultheftCaster[(Player number of (Owner of (Triggering unit)))]) at STTempLocation facing Default building facing degrees
- Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
- Custom script: call RemoveLocation (udg_STTempLocation)
- For each (Integer A) from 1 to 8, do (Actions)
- Loop - Actions
- Set STDegress[(Player number of (Owner of (Triggering unit)))] = (STDegress[(Player number of (Owner of (Triggering unit)))] + 45.00)
- Set STTempLocation = (Position of tempSoultheftTarget[(Player number of (Owner of (Triggering unit)))])
- Set STTempPoint[(Player number of (Owner of (Triggering unit)))] = (STTempLocation offset by 120.00 towards STDegress[(Player number of (Owner of (Triggering unit)))] degrees)
- Special Effect - Create a special effect at STTempLocation using Abilities\Spells\Other\Monsoon\MonsoonBoltTarget.mdl
- Special Effect - Destroy (Last created special effect)
- Unit - Create 1 Frostmourne Soldier for (Owner of tempSoultheftCaster[(Player number of (Owner of (Triggering unit)))]) at STTempPoint[(Player number of (Owner of (Triggering unit)))] facing (Position of tempSoultheftTarget[(Player number of (Owner of (Triggering unit)))])
- Set STTempUnit[(Player number of (Owner of (Triggering unit)))] = (Last created unit)
- Unit - Pause (Last created unit)
- Animation - Play (Last created unit)'s birth animation
- Unit - Add a 1.30 second Generic expiration timer to (Last created unit)
- Trigger - Run SoulTheftAttackandEffects <gen> (ignoring conditions)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- STDegress[(Player number of (Owner of (Triggering unit)))] Greater than or equal to 360.00
- Then - Actions
- Set STDegress[(Player number of (Owner of (Triggering unit)))] = 0.00
- Else - Actions
- If - Conditions
- Custom script: call RemoveLocation (udg_STTempPoint[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
- Custom script: call RemoveLocation (udg_STTempLocation)
- Loop - Actions
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- STWait Equal to 3.55
- Then - Actions
- Animation - Change tempSoultheftTarget[(Player number of (Owner of (Triggering unit)))]'s animation speed to 100.00% of its original speed
- Unit - Unpause tempSoultheftTarget[(Player number of (Owner of (Triggering unit)))]
- Set STWait = 0.00
- Trigger - Turn off (This trigger)
- Else - Actions
- If - Conditions
- Events
Trigger:
- SoulTheftAttackandEffects Initially off
- Events
- Conditions
- Actions
- Custom script: local unit tempUnit
- Custom script: local effect tempEffect
- Custom script: set tempUnit = udg_STTempUnit[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]
- Special Effect - Create a special effect attached to the origin of STTempUnit[(Player number of (Owner of (Triggering unit)))] using Abilities\Spells\Items\AIso\BIsvTarget.mdl
- Set STSpecialEffect[(Player number of (Owner of (Triggering unit)))] = (Last created special effect)
- Custom script: set tempEffect = udg_STSpecialEffect[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]
- Wait 2.00 game-time seconds
- Custom script: set udg_STTempUnit[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = tempUnit
- Custom script: set udg_STSpecialEffect[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = tempEffect
- Custom script: call DestroyEffect( udg_STSpecialEffect[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
- Unit - Unpause STTempUnit[(Player number of (Owner of (Triggering unit)))]
- Unit - Order STTempUnit[(Player number of (Owner of (Triggering unit)))] to Attack Once tempSoultheftTarget[(Player number of (Owner of (Triggering unit)))]
This is my first try on a pack like this, tried to do it as well as I could, so take it easy on me okay?
Edit; Added code and a non-ziped attachment on the request of 'kenny!'
Version 1.1:
- Fixed Chilling Revenge to not display "idle" icon of dummy unit.
- Added delay to Ice Lance so the graphics fit 100%.
- Fixed text on Ice lance to correct information.
- Changed text on Arthas' Move tsomething cooler.
- Added ice animation to the feet of Arthas when he has the ability Arthas' Move.
- Changed Frostmourns Army, to Frostmourns Soultheft. (New ability)