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
  • 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 The Helper:
    I think we need to add something to the bottom of the front page that shows the Headline News forum that has a link to go to the News Forum Index so people can see there is more news. Do you guys see what I am saying, lets say you read all the articles on the front page and you get to the end and it just ends, no kind of link for MOAR!
  • The Helper The Helper:
    Happy Wednesday!
    +1
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    Sticking with the desserts for now the latest recipe is Fried Apple Pies - https://www.thehelper.net/threads/recipe-fried-apple-pies.194297/
  • The Helper The Helper:
    Finally finding about some of the bots that are flooding the users online - bytespider apparently is a huge offender here - ignores robots.txt and comes in from a ton of different IPs
  • Monovertex Monovertex:
    @The Helper I'm really not seeing the "Signature" link in the sidebar on that page. Here's a screenshot:
  • The Helper The Helper:
    I have reported it - I was wondering why nobody I have given sigs to over the last few years have used them
  • The Helper The Helper:
    Ghan has said he has fixed this. Monovertex please confirm this fix. This was only a problem with people that had signatures in the upper levels like not the special members but the respected members.
  • The Helper The Helper:
    Here is a better place to manage this stuff https://www.thehelper.net/account/account-details which I think should be way more visible
  • The Helper The Helper:
    I am hoping that online user count drop is finally that TikTok bot banned

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top