Discussion customizing devour

T

tenebrous

Guest
EDIT: A possible solution is offered toward the end of this thread by Acehart!

All right, here's another toughie - the age-old question of making an ability like Devour that devours multiple units.

I've read all the posts about Devour in this forum, and by far the best suggestion was from Ryoko. The suggestion was to create an ability based off the Goblin Zeppelin's Cargo Hold, Load, Cargo Hold Death and Unload abilities.

But before I get to that, some things I discovered:

1. The unit that's going to carry people (from now on I'll call it a Wumpus) has to have AT LEAST the following abilities in order to work: Cargo Hold and Load.

2. You can't make the Load ability target Enemy units, no matter how you customize the ability. I tried. Nothing I can do changes that fact - even altering the Targets Allowed field.

...SO, what I did was:

A. Chose some ability that has a generic target (I picked Aerial Shackles because it's rather benign), stripped all the fx off it, and then called it "Devour."

B. Gave the Wumpus this new "Devour" ability as well as Cargo Hold, Cargo Hold Death and Load. (I didn't give it Unload because I'm not letting the Player unload the unit from the creature).

C. Created the below trigger:

Code:
InitiateDevour
    Events
        Unit - A unit Begins casting an ability
    Conditions
        And - All (Conditions) are true
            Conditions
                (Ability being cast) Equal to Devour (Ancient Wumpus - Dummy)
    Actions
        Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) - 50.00)
        Unit - Change ownership of (Target unit of ability being cast) to (Owner of (Triggering unit)) and Retain color
        Unit - Order (Triggering unit) to Load (Target unit of ability being cast)

...Which checks for the casting of "Devour" by a Wumpus, then changes the ownership of the target of "Devour" (an Enemy unit) into a Player-Controlled Unit in order to Load it into the Wumpus. (I'll get to the problems with this in a minute)

D. To kill the unit slowly, I used this trigger:

Code:
Stomach
    Events
        Unit - A unit Is loaded into a transport
    Conditions
        (Unit-type of (Transporting unit)) Equal to Ancient Wumpus (PC)
    Actions
        Unit - Add a ((Life of (Triggering unit)) / 30.00) second Disease Cloud expiration timer to (Triggering unit)

...adds a death timer to the unit in the Cargo Hold equal to its HP divided by 30, (which effectively deals 30 damage a second to the unit in the Cargo Hold). I tried working with a loop that does damage over time to the unit in the Cargo Hold, but this instantly crashes the program if you try to loop it (go figure).

BUT, the obvious problems with this setup are:

- The Enemy units loaded/killed in this way are counted as the _your_ losses, rather than your Enemy's...

-The display for the Goblin Zeppelin Cargo Hold does not update the HP of units in the Cargo Hold, so you have no way of knowing the condition of the units inside.

-I can't allow the Player to devour Enemy Hero units (even though its possible with this setup) because once they are ownership-changed, they become buildable by the Player. I tried removing the Hero classification prior to issuing the Load order, but it doesn't change the Hero's reappearance in the Player's Altar, on the Hero list, or his death announcement.

-The Player can unload the devoured unit by clicking on its icon in the Cargo Hold.

...And of course who knows how many other problems...

Does anyone have any ideas as to how to go about this in a different way, or any ideas as to how to fix my crazy workaround? I _have_ tried a variety of alternatives (for hours on end)...

PS: I'm not even going to get into the horrible problems one encounters when trying to base the ability off the actual Devour ability - that's old news, and it only leads to a dead end.
 

Rad

...
Reaction score
228
Im not gonna read all that unless you REALLY REALLY REALLY want me to because A: i never used devour except in melee games, B: Im lazy.

One thing I can suggest is when you cast it hides all units in the AoE and adds them to a unit group, every 3 seconds they lose 5% of thier maximum health untill they or the kodo (or whatever) dies. When the kodo dies unhide them and move to the kodo. Walla, now just deal with the effects, ability disabling, and the fog-of-war situations.
 
T

tenebrous

Guest
Aforementioned problems with what you suggest:

- I'm not using the Devour ability because it can't devour multiple units
- I want the Player to see the units being devoured, which is why I'm using the Goblin Zeppelin Cargo Hold ability, per Ryoko
 

Rad

...
Reaction score
228
Best advice I can give knowing almost nothing about load/cargohold etc is to PM ryoko and suggest he view this thread.
 

Rad

...
Reaction score
228
Sure... though knowing Ryoko's habits his PM box is full, or hes not allowing PM's. You could search some of his threads to see where he goes and try to get some attention. And no i did not suggest that you spam other thread with off topic chat ;)
 

SD_Ryoko

Ultra Cool Member
Reaction score
85
Okay, well it looks like you answered it yourself.

We know that

By design, devour does one unit.

By design, cargo hold doesn't update the life, and must be your unit to load.

All of these, you cannot change.

So Unless theres a different ability to use, you would have to settle for one of the other.

Or, if you can give me a map that does what your looking for, I can tell you how they did it.

But I have not seen it.

Sorry :(
 

Jazradel

Helping people do more by doing less.
Reaction score
102
Well when he cast's it you could pick every targeted unit and create a copy for yourself. Then load it into your devouring unit and reload them whenever you deal them damage.
 
T

tenebrous

Guest
I think I've got it!

Okay, this took two days of hellish torture, but I think I've managed to pull off a hero unit with multiple devour cargo.

I've attached the map so you can see it for yourself. The triggers are too long to post here.

Unfortunately, since I don't know JASS (and thus have no idea how to do real local variables) other than custom script suggested by others to prevent leaks, you'd only be able to use this ability on 1 unit (that is, if you're on multiplayer, you have to enforce that only 1 person builds the unit or else it won't work).

It may still be a little buggy, and although it's very rare, I've noticed the triggers do slip on occassion, so it apparently isn't airtight. I definitely welcome any suggestions as to how to improve the ability.
 

Attachments

  • Devour Cargo Example.w3x
    38.8 KB · Views: 216

Sargon

New Member
Reaction score
83
Please read the forum rules regarding bumping posts. Basically, do notbump your post unless it has been 24 hours and the post is falling off the first page (or has already fallen off).
 

Sargon

New Member
Reaction score
83
Rad said:
Cmon Sargon it was the next day cut em some slack :rolleyes:

No it wasn't. :p At least, not by my clock settings.
 

Rad

...
Reaction score
228
Yesterday, 09:20 PM
Today, 06:16 AM

Hmm I guess it was pretty close. I didnt notice it was 6 AM! lol ;) (My time of course)
 

Sargon

New Member
Reaction score
83
You crazy west-coast people and your three-hour time difference. :p
 
T

tenebrous

Guest
ummm

I tried to follow the rules - I went to sleep and woke up and BAM new day.

Besides, I'm only trying to give something back to the forum for all the help it gave me in the first place.

edit: AND you penalized me with this red dot thing?? how vile
 
T

tenebrous

Guest
-->

Krofttt - what exactly does that ability do? Can you explain more clearly?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top