Raise Dead order string (still) not working

dianamod27

Member
Reaction score
1
We've had a thread about something very related to this, but this time I can't just base the spell on a different ability. I guess I could trigger it if worst comes to worst, but I'd still like to have closure on this.

First of all, for some weird reason the following two actions are equivalent:
Trigger:
  • Actions
    • Unit - Order TempUnit to Undead Necromancer - Raise Dead
    • Custom script: call IssueImmediateOrderBJ( udg_TempUnit, "instant" )

Despite the actual order string for the spell being "raisedead", it still works as long as the unit isn't controlled by a computer.

Changing it to
Trigger:
  • Custom script: call IssueImmediateOrderBJ( udg_TempUnit, "raisedead" )
just doesn't work at all, even if the unit is controlled by me. Furthermore, Raise Dead reacts to "instant" even if you change the spell's order string.

I just tested all this on a new map with one corpse and one necromancer. I suspect that Raise Dead/this whole "instant" thing is a bug, so I guess what I'm asking is if anyone could please confirm the following statements:
1. A computer unit will never cast Raise Dead if ordered to do so.
2. Changing the given order from "instant" to "raisedead" in a line of custom text doesn't work.
3. Changing the spell's order string doesn't do anything.
 

Imp Midna

Active Member
Reaction score
52
This is not a bug. See: when you edit raise dead in the object editor or look at it in the AbilityData.slk files, you can see that it requieres a target, a dead unit (obviously, since there has to be something to raise a unit from). Now, since the player cant select dead units, the "instant" wrapper was created so you have to click on the ability and it will automatically make the unit cast Raise Dead on a (random?) unit in the casters near. The actuall Ability has, just as you mentioned, the spell order string "raisedead", but this ability requieres a target. Using "raisedead" in a IssueImmediateOrder will then of corse not work, since there is no non-target ability with the string "raisedead". If you want to use the "raisedead" string, you have to use the targetOrder function, where the target is a dead unit.
 

dianamod27

Member
Reaction score
1
Oh I see, thanks. I thought I'd tested it with the TargetOrder but I guess I messed it up.

Unfortunately, it's not over yet. "instant" still doesn't work when the necromancer is owned by a computer, neither does directly ordering a necromancer to "raisedead" a corpse.
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
Is the casting of the ability all that necessary? For a computer, you could just periodically check for dead units to raise, then remove the corpses.
 

dianamod27

Member
Reaction score
1
Yes, the casting is necessary I'm afraid.

Edit: Made another observation. Having a Channel spell with base order ID "raisedead" and any targets allowed, the computer WILL cast it, but not if I make him target a dead unit.
Edit2: I made a trigger that will give two necromancers, one owned by me and one owned by the computer, the same order: Out of all the options, the only thing the computer agrees to do is cast the Channel-based raisedead on corpses, and only if the spell has Dead as Targets Allowed, even though the necro owned by me did it even with empty Targets Allowed. I'll just trigger the spell now, but what the hell is this?
 

Imp Midna

Active Member
Reaction score
52
Yet another example for the Object Editor causing random problems. I remember this skill deactivating healing potions after beeing used once. In this case, the AI scripts seem to entirely block any raisedead related commands - the unit doesnt even get the order to actually cast the spell. Giving a unit the order ID raisedead, i asume the same controlling hardcoded script prevents the casting. Anyways, you will mostlikely have to trigger it, unless you find a way to currently deactivate this script (which is mostlikely impossible). (wow, just notice how this skill keeps making problems over and over and over again... also killed my rezz triggers a few times... i begin to hate it)
 

dianamod27

Member
Reaction score
1
I did trigger it now, but there's still one annoying thing: Creating a skeletal warrior and playing its birth animation right away will show the unit standing there for a fraction of a second before actually playing the animation.
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
You could create a dummy to cast a summoning spell at the position of the corpse. That would play the animation fine.
 

dianamod27

Member
Reaction score
1
Thanks for the response, I tried that actually but then the necromancers wouldn't automatically summon skeletons when they were in combat. I'll just give them the regular Raise Dead in addition though, they do cast that on their own.

During all of this, I also tried using Carrion Beetles as base spell, but computers won't take that order either. That's why I also tried if meat wagons would load corpses if ordered to do so, and they don't do that either. Good thing the entire point of my map isn't fighting a computer-controlled undead faction.

I have a hard time believing that nobody besides me has ever wanted to order a computer to raise dead/raise beetles/get corpses, so would anyone please try ordering a computer player either of those three spells while I go look through some Blizzard maps?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top