Heya, my first Spellpack (Unlike my single "Grappling Hook" Spell that I gave up on) including three spells: Undying Fortitude, Corpse Heal, and Bone Stealing.
All are (I think) leakless, except for a part in the "Bone Stealing" trigger, which Ghan was trying to help me with and asked me to upload the map for him (So it is now uploaded). I realize this can't be approved until then but I will fix it.
Undying Fortitude - Gives the hero a % chance to ressurect at a corpse is one is nearby.
Import Difficulty: Easy
Implementation: Copy Spell - Copy Trigger & Variables
MUI: No
MPI: No
GUI/JASS: GUI w/ Custom Script
--------------------------------------------------------------------------------------------------------------------------------------------------
Bone Stealing - Sends the spirit outward in an attempt to steal a person's skeletal remains, if it fails the spirit will fly back to it's original host.
Import Difficulty: Easy/Medium
Implementation: Copy Spell - Copy Dummy Unit - Copy Trigger & Variable
MUI: No
MPI: No
GUI/JASS: GUI w/ Custom Script
--------------------------------------------------------------------------------------------------------------------------------------------------
Corpse Heal - Heal's the caster based on how many corpses are nearby.
Import Difficulty: Easy
Implementation: Copy Spell - Copy Dummy Unit - Copy Trigger & Variable
MUI: Yes! (Thanks Gals and NapaHero)
MPI: I believe so?
GUI/JASS: GUI w/ Custom Script
And here are the spells with screenshot! -
Bone Stealing:
Corpse Heal:
Undying Fortitude: (Due to it's passive and non flashy nature, there are no screen shots of it, you'll have to try it out yourself!)
View attachment SkeleSpellPack.w3x
All are (I think) leakless, except for a part in the "Bone Stealing" trigger, which Ghan was trying to help me with and asked me to upload the map for him (So it is now uploaded). I realize this can't be approved until then but I will fix it.
Undying Fortitude - Gives the hero a % chance to ressurect at a corpse is one is nearby.
Import Difficulty: Easy
Implementation: Copy Spell - Copy Trigger & Variables
MUI: No
MPI: No
GUI/JASS: GUI w/ Custom Script
--------------------------------------------------------------------------------------------------------------------------------------------------
Bone Stealing - Sends the spirit outward in an attempt to steal a person's skeletal remains, if it fails the spirit will fly back to it's original host.
Import Difficulty: Easy/Medium
Implementation: Copy Spell - Copy Dummy Unit - Copy Trigger & Variable
MUI: No
MPI: No
GUI/JASS: GUI w/ Custom Script
--------------------------------------------------------------------------------------------------------------------------------------------------
Corpse Heal - Heal's the caster based on how many corpses are nearby.
Import Difficulty: Easy
Implementation: Copy Spell - Copy Dummy Unit - Copy Trigger & Variable
MUI: Yes! (Thanks Gals and NapaHero)
MPI: I believe so?
GUI/JASS: GUI w/ Custom Script
And here are the spells with screenshot! -
Bone Stealing:
Code:
Steal
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Bone Stealing
Actions
Set Skeleton = (Casting unit)
Set UnitVar = (Target unit of ability being cast)
Wait until ((UnitVar has buff Shocked (Pause)) Equal to True), checking every 0.10 seconds
Set SkelePos = (Target point of ability being cast)
Set SkelePos2 = (Position of Skeleton)
Wait 0.30 seconds
Animation - Play Skeleton's death animation
Unit - Pause Skeleton
Wait 1.00 seconds
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(UnitVar is dead) Equal to True
Then - Actions
Unit - Remove UnitVar from the game
Unit - Move Skeleton instantly to SkelePos
Animation - Play Skeleton's birth animation
Wait 0.30 seconds
Unit - Unpause Skeleton
Else - Actions
Unit - Create 1 Spirit for (Owner of Skeleton) at SkelePos facing Default building facing degrees
Unit - Order (Last created unit) to Move To SkelePos2
Unit - Set level of Spirit Immo (Neutral Hostile 1) for (Last created unit) to (Level of Bone Stealing for Skeleton)
Wait until ((Distance between SkelePos2 and (Position of (Last created unit))) Less than or equal to 100.00), checking every 0.10 seconds
Unit - Remove (Last created unit) from the game
Unit - Unpause Skeleton
Animation - Play Skeleton's birth animation
Custom script: call RemoveLocation(udg_SkelePos)
Custom script: call RemoveLocation(udg_SkelePos2)
Corpse Heal:
Code:
Heal
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to 1s
Actions
Set Skeleton = (Casting unit)
Set SkelePos = (Position of Skeleton)
Set CorpseCheck = (Units within 500.00 of SkelePos matching (((Matching unit) is dead) Equal to True))
For each (Integer A) from 1 to (Number of units in CorpseCheck), do (Actions)
Loop - Actions
Set DeadPos[(Integer A)] = (Position of (Random unit from CorpseCheck))
Unit - Create 1 Dummy for (Owner of Skeleton) at DeadPos[(Integer A)] facing Default building facing degrees
Set CorpseCaster[(Integer A)] = (Last created unit)
Unit - Set level of Spirit Heal for CorpseCaster[(Integer A)] to (Level of 1s for Skeleton)
Unit - Order CorpseCaster[(Integer A)] to Orc Shadow Hunter - Healing Wave Skeleton
Unit - Remove CorpseCaster[(Integer A)] from the game
Custom script: call RemoveLocation(udg_SkelePos)
Custom script: call RemoveLocation(udg_DeadPos[GetForLoopIndexA()])
Custom script: call DestroyGroup(udg_CorpseCheck)
Undying Fortitude: (Due to it's passive and non flashy nature, there are no screen shots of it, you'll have to try it out yourself!)
Code:
Ressurection
Events
Unit - A unit Dies
Conditions
(Level of Bash for (Dying unit)) Not equal to 0
Actions
Set Skeleton = (Dying unit)
Set SkelePos = (Position of Skeleton)
Set CorpseCheck = (Units within 300.00 of SkelePos matching (((Matching unit) is dead) Equal to True))
Set CorpsePos = (Position of (Random unit from CorpseCheck))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Unit-type of Skeleton) Equal to Skeleton
(Number of units in CorpseCheck) Greater than or equal to 1
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Random integer number between 1 and 100) Less than or equal to (((Level of Bash for Skeleton) x 7) + (Level of Bash for Skeleton))
Then - Actions
Wait 0.90 seconds
Hero - Instantly revive Skeleton at CorpsePos, Hide revival graphics
Selection - Select Skeleton for (Owner of Skeleton)
Animation - Play Skeleton's birth animation
Else - Actions
Else - Actions
Custom script: call RemoveLocation(udg_CorpsePos)
Custom script: call RemoveLocation(udg_SkelePos)
Custom script: call DestroyGroup(udg_CorpseCheck)
View attachment SkeleSpellPack.w3x