Unit not executing order when it's a computer player

dianamod27

Member
Reaction score
1
Trigger:
  • Unit - Order Necromancer 0121 <gen> to Undead Necromancer - Raise Dead

That's all there is to it.
There is exactly one situation in which this order will not be executed: If the unit is owned by a computer. If it's owned by a neutral or user, it does.
I'm not running any AI, the unit has enough mana, the spell is available to it and there are corpses right next to it. I'm completely baffled. Does anyone happen to know why this is happening?
 

Dwalker501

New Member
Reaction score
0
Why set the Colour as -Computer-?

I think that when you set a color to Computer the AI takes over and starts making decisions. It could be the AI saying "what? you want me to cast raise dead.. err how about no"

You dont have to set a controller for the colours if you're playing with the player properties. On my maps I just leave the non USER units as -None- and that way I control the units by triggers.
 

Inflicted

Currently inactive
Reaction score
63
It's quite possible that the problem is related to something else.
Check the following:
- Is the base ability "Undead Necromancer - Raise Dead" ? (It cannot in some cases be a different base unit of the same type)
- Does the unit have enough mana points to cast the ability?
- Does the unit have the ability?
- Are there any triggers based off of ability casts that could interfere with this?
- Are there TechTree Requirments?
- Are the corpses of the correct type? (Some corpses cannot be used)

You could try test in single player with that unit owned by you to see if the unit works. If so, I suggest you remake the ability and try again.
 

dianamod27

Member
Reaction score
1
I always set them as computers, and this is the first time this has happened. Other orders work as I found out.
If you set controller to none, you can't even put them in teams, and you can't give them names.

It's quite possible that the problem is related to something else.
Check the following:
- Is the base ability "Undead Necromancer - Raise Dead" ? (It cannot in some cases be a different base unit of the same type)
- Does the unit have enough mana points to cast the ability?
- Does the unit have the ability?
- Are there any triggers based off of ability casts that could interfere with this?
- Are there TechTree Requirments?
- Are the corpses of the correct type? (Some corpses cannot be used)

You could try test in single player with that unit owned by you to see if the unit works. If so, I suggest you remake the ability and try again.

It's the correct base ability, the unit has enough mana, it has the ability, there are no other triggers interfering with this (the map is in a pretty early stage), there are no tech tree requirements, the corpses are footmen. I tried it in single player too, I'm just stunned by this problem. It only happens when the controller is a computer, even though there is no AI.
 

MP®

Member
Reaction score
11
It's quite possible that the problem is related to something else.
Check the following:
- Is the base ability "Undead Necromancer - Raise Dead" ? (It cannot in some cases be a different base unit of the same type)
- Does the unit have enough mana points to cast the ability?
- Does the unit have the ability?
- Are there any triggers based off of ability casts that could interfere with this?
- Are there TechTree Requirments?
- Are the corpses of the correct type? (Some corpses cannot be used)

You could try test in single player with that unit owned by you to see if the unit works. If so, I suggest you remake the ability and try again.

You didn't read his post very well, did you?
 

Inflicted

Currently inactive
Reaction score
63
You didn't read his post very well, did you?

Yes I did. I am giving many possible if different issues that could occur, its almost a check list to ensure that nothing has been missed.
This could be useful if something on the list was missed. Much more than your pointless post asking how well I read the OP.
 

dianamod27

Member
Reaction score
1
The only info I can still add is that the unit is a custom one based on the campaign's Kel'Thuzad necromancer, however I also tried it with standard necromancers and they also wouldn't cast the damn spell.
I also found out something peculiar: Converting the order function to JASS reveals that the order string is "instant".
Code:
call IssueImmediateOrderBJ( gg_unit_u00J_0121, "instant" )

Edit: Oh and changing it to "raisedead" or a custom string didn't work either. Not that it matters since "instant" works as long as it's not a computer doing it. Since other orders/spells work and the same unit owned by a different controller does cast Raise Dead, I'm just going to assume this is some kind of bug and instead base the ability on Water Elemental. I'd still appreciate any information on this weird issue very much.
 

Molehole

New Member
Reaction score
2
This is exactly same problem I had yesterday. I don't know about your spell but in my spell there was targets allowed: "non-hero". Thats why it worked only when I used it but when I putted my hero against the AI controlled boss it didn't work :D It took me long time to figure this out.

I hope this helped. If not then nvm. But go check the targets allowed anyways.
 

dianamod27

Member
Reaction score
1
The spell's targets are "dead" just like the regular Raise Dead.
I actually tried having completely standard necromancers cast it, and it didn't work either. I can't help but think it's something to do with the "instant" order string. I based the spell on Water Elemental now and it works, but I noticed that even if I change the spell's order string to something else, the trigger will still fire even though it uses the "waterelemental" string. I guess you have to import strings or something.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      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