Spellpack Skeletal Spells

Pigger

New Member
Reaction score
13
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:
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
 

Siretu

Starcraft 2 Editor Moderator
Reaction score
293
Everything looks nice, but in the triggers for undying fortitude it says
"condition - (Level of Bash for (Dying unit)) Not equal to 0
Shouldn't it be Undying fortitude?
 

Pigger

New Member
Reaction score
13
That's because I just used bash for the base passive ability, and never bothered to change it's editor name.
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
Well..i wonder where's the leak in Bone Stealing trigger?
I cant seems to find out...

And...i wonder if (last created unit) can made past (wait)...
 

Pigger

New Member
Reaction score
13
....I have no clue what happened...but not Bone Stealing is malfunctioning to hell. Could anyone else test it out please?
 

SerraAvenger

Cuz I can
Reaction score
234
And...i wonder if (last created unit) can made past (wait)...
Depends
Get Last Created Unit returns a global variable
That is allways set to the creature you created with any Blizzard JASS creature creating code. So if you have any other creature creating code running during the wait ( from other Triggers ) , it will fuck every thing up.

It is risky, but it is possible that it works. I would not recommend it.

Hth, Davey

EDIT:
Please put an
JASS:
Custom script: exitwhen bj_forLoopAIndex >= 12
into your "corpse heal" right at the top of the for each integer from 1 to...: )

Btw: your code is not completely MUI... It only works for a single Hero like that. So if you use two of them in a single map, it could stop working if both Heroes cast it at the same time.
 

NapaHero

Back from the dead...
Reaction score
43
Isn't Corpse Heal MUI?

Change Skeleton = Casting Unit to Skeleton = Triggering Unit
 

Pigger

New Member
Reaction score
13
Updated the map a little bit (Fixed a bug with Bone Stealing). Added in Serra's custom script (I think it's right?).

Why would I want to change casting to triggering unit?
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
>>Why would I want to change casting to triggering unit?
Makes it MUI

Learn about it Here
 

NapaHero

Back from the dead...
Reaction score
43
>>Makes it MUI

Yeah, that's why I told him to change Casting Unit to Triggering Unit :D

PS: Hmmm...Maybe Corpse Heal can be MPI too?

Code:
Heal
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to 1s
    Actions
        Set Skeleton[(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
        Set SkelePos[(Player number of (Owner of (Triggering unit)))] = (Position of Skeleton[(Player number of (Owner of (Triggering unit)))])
        Set CorpseCheck = (Units within 500.00 of SkelePos[(Player number of (Owner of (Triggering unit)))] matching (((Matching unit) is dead) Equal to True))
        For each (Integer A) from 1 to (Number of units in CorpseCheck), do (Actions)
            Loop - Actions
                Custom script:   exitwhen bj_forLoopAIndex >= 12
                Set DeadPos[(Integer A)] = (Position of (Random unit from CorpseCheck))
                Unit - Create 1 Dummy for (Owner of Skeleton[(Player number of (Owner of (Triggering unit)))]) at DeadPos[(Integer A)] facing Default building facing degrees
                Unit - Set level of Spirit Heal  for (Last created unit) to (Level of 1s for Skeleton[(Player number of (Owner of (Triggering unit)))])
                Unit - Order (Last created unit) to Orc Shadow Hunter - Healing Wave Skeleton[(Player number of (Owner of (Triggering unit)))]
                Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
        Custom script:   call RemoveLocation(udg_SkelePos[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
        Custom script:   call RemoveLocation(udg_DeadPos[GetForLoopIndexA()])
        Custom script:   call DestroyGroup(udg_CorpseCheck)

Something like this.
 

Doomhammer

Bob Kotick - Gamers' corporate spoilsport No. 1
Reaction score
67
I'd like to test that spell map, but:

>> Invalid Attachment specified. If you followed a valid link, please notify the administrator
 

Pigger

New Member
Reaction score
13
Sorry about that Doomhammer, I must have accidentally deleted this one from my attachment files when I was cleaning house :S.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top