HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Locusts are retarded

07-30-2003, 08:46 PM#1
KenjiMcCloud
I have worked the entire day on a locust swarm spell that is supposed to heal your units. I tried this one:

Let a summoned enemy dummy cast a locust spell that does no damage and use triggers to make the attacking an actual heal. However, I found no way whatsoever to make the retarded locusts attack. I gave them an attack, I gave them the Unknown(ULoc) ability, I made sure that they belong to an enemy player, but they will just stick to the stupid summon and don't do shit. They just don't move. Well they do move, but they act as if there was NOTHING to attack, even though they are surrounded by enemies. I tried, anything of that player does attack, but the locusts don't.

Then I tried something else:

I let my hero cast the locust swarm by himself and I just transfer the locusts to an enemy player. That works, PARTLY. The locusts will attack/heal my units, but they will totally ignore the "Max Swarm Units per target" number. Absolutely. They DO act as summons, and they come back when the duration is over, but they just IGNORE the max swarm units number. That is retarded. They will just ALL stick to the hero that casted the spell.

I then did this trigger(Info: The spell is called "Spirits of Wit" and the SpiritUnits are 3 kinds of units I summon for it)
Code:
ChangeWispOwner
    Events
        Time - Every 0.50 seconds of game time
    Conditions
    Actions
        Unit Group - Pick every unit in (Units owned by Player 1 (Red) matching ((((Unit-type of (Matching unit)) Equal to SpiritUnit1) or ((Unit-type of (Matching unit)) Equal to SpiritUnit2)) or ((Unit-type of (Matching unit)) Equal to SpiritUnit3))) and do (Actions)
            Loop - Actions
                Unit - Change ownership of (Picked unit) to Player 12 (Brown) and Retain color
                Unit - Order (Picked unit) to Move To ((Position of (Picked unit)) offset by (Random real number between 0.00 and 270.00) towards (Random angle) degrees)
And this one:
Code:
AttackIsHeal
    Events
        Unit - A unit Is attacked
    Conditions
        Or - Any (Conditions) are true
            Conditions
                (Unit-type of (Attacking unit)) Equal to SpiritUnit1
                (Unit-type of (Attacking unit)) Equal to SpiritUnit2
                (Unit-type of (Attacking unit)) Equal to SpiritUnit3
    Actions
        Special Effect - Create a special effect attached to the chest of (Attacked unit) using Abilities\Spells\Human\Heal\HealTarget.mdl
        Unit - Set life of (Attacked unit) to ((Life of (Attacked unit)) + (3.00 x (Real(SpiritsOfWitLevel))))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Percentage life of (Attacked unit)) Greater than or equal to 95.00
            Then - Actions
                Unit - Order (Attacking unit) to Move To ((Position of (Attacked unit)) offset by (Random real number between 0.00 and 300.00) towards (Random angle) degrees)
            Else - Actions
And now they will spread out when I cast them(some will just stop in the middle of the movement though and try to find a target), and then they go and cluster, attack one full-hp unit and then it happens.
They will all stop attacking, even though they were ordered per trigger to MOVE away. It worked when I casted it, why doesn't it work then?

Gawd. These retarded little shits. So much time...
edit: Naturally, it doesn't even slightly look like Locust Swarm. The spirits just keep standing there and don't fly around, the stupid locust swarm SOUND is still playing, even though I replaced it(I gotta do it the hard way, then) and actually, they all don't attack. They are all morons. When they attacked a couple of times and the trigger tells them what to do(theoretically), they just stop doing ANYTHING and just all come back when their duration is over. Yay.
07-30-2003, 10:14 PM#2
Drider
Did you just post that whole thing to complain? Because I don't see any part that requests for help from other people. :bgrun:
07-30-2003, 11:07 PM#3
hodi
hm, can´t you just tell the Ability (and the Locutus Unit) to Target Friends?
Then give the Locutus a negative damage ?

hodi
07-31-2003, 12:29 AM#4
|)@rk-Revenant
1 word: JASS
07-31-2003, 11:31 AM#5
KenjiMcCloud
Oh yes, naturally you are all asked to help and tell me why the locusts act like dipshits. ;/

They DO belong to an enemy player, but if they are casted by a dummy(maybe he needs his own attack+acquisition range) they will just stick to him and don't attack; when I just give them to an enemy player when they spawn they will attack but they won't behave like locusts, they will ignore the "Max Swarm Units per target" value and when I tell them through a trigger to move away, they just stop doing anything.
I don't know what's wrong, I am kinda at the end of my possibilities. I'd be happy if a locust expert could come and teach them respect.

Edit: If I set the Allowed Targets for the locust swarm my hero casts to "Friends" then I can not give the locusts to another player and they will not auto-target my units. I would have to do it through triggers, and that is obviously flawed. I didn't try this explicitly though, I just figured that it wouldn't work. I know that they don't auto-target friendlies, I tried THAt out.
07-31-2003, 05:18 PM#6
KenjiMcCloud
Oooh man. Maybe someone wants to write this down or acknowledge this or something, here's what I did:

I gave the locusts I summoned to an enemy player that treats ME as an ally, whereas I myself treat him as an enemy. That means that my units won't run away when his units attack me. That is perfect. Naturally they will retain the color, and here comes the trick:
Code:
AttackIsHeal
    Events
        Unit - A unit Is attacked
    Conditions
        Or - Any (Conditions) are true
            Conditions
                (Unit-type of (Attacking unit)) Equal to SpiritUnit1
                (Unit-type of (Attacking unit)) Equal to SpiritUnit2
                (Unit-type of (Attacking unit)) Equal to SpiritUnit3
    Actions
        Special Effect - Create a special effect attached to the chest of (Attacked unit) using Abilities\Spells\Human\Heal\HealTarget.mdl
        Unit - Set life of (Attacked unit) to ((Life of (Attacked unit)) + (1.00 x (Real(SpiritsOfWitLevel))))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Percentage life of (Attacked unit)) Greater than or equal to (Percentage life of (Random unit from (Units within 400.00 of (Position of (Attacking unit)) matching (((Owner of (Matching unit)) is in PhuckCrew) Equal to True))))
            Then - Actions
                Unit - Order (Attacking unit) to Attack (Random unit from (Units within 400.00 of (Position of (Attacking unit))))
            Else - Actions
This makes them behave more like an actual uncoordinated swarm. The spirits have the Staff of Sanctuary projectile, which fits INCREDIBLY well. I'm so happy that this skill turned out well, I relied on it totally. The key was to tell them to attack a unit, as opposed to letting them move away and find another target. Locusts want to bite, it seems.
So for anyone who'd like to do something like this or thought about it, you know what you have to do now. This was a bitch, really.
Thanks for bearing with me:p