• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • ✅ HD Level Design Contest #1 POLL is now OPEN! Check out the stunning visuals of the final entries. 🔗Click here to cast your vote!

Help making spells

Status
Not open for further replies.
Level 5
Joined
Aug 8, 2008
Messages
113
How to make these spells
Incenerate
Places a buff on on surrounding enemies that causes them to take extra damage whenever a victim or another ally with the buff recieves damage from a spell or attack.

Owl thief
Creates an owl with permanent invisbility and that has an aura that diverts some of the income of surrounding enemies to self.

Lightning Armor
Increases armor of self and surrounding allies. Enemies take damage when they use a spell on a nearby ally.

Flash (Ultimate)
Makes it so that when you blink you teleport surrounding allies with you to the targeted location.
 
Level 7
Joined
Jul 3, 2011
Messages
251
Spells

Hopefully this will be of use to you, let me know if they aren't.

  • Dmg Start
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
        • Loop - Actions
          • Trigger - Add to Dmg <gen> the event (Unit - (Picked unit) Takes damage)
  • Dmg Add
    • Events
      • Unit - A unit enters (Playable map area)
    • Conditions
    • Actions
      • Trigger - Add to Dmg <gen> the event (Unit - (Triggering unit) Takes damage)
  • Dmg
    • Events
    • Conditions
      • ((Triggering unit) has buff YourBuffHere) Equal to True
    • Actions
      • Unit - Cause (Damage source) to damage (Triggering unit), dealing YourDamageHere damage of attack type Spells and damage type Normal
  • Owl
    • Events
      • Time - Every 5.00 seconds of game time
    • Conditions
    • Actions
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units of type OwlHere) and do (Actions)
        • Loop - Actions
          • Set P = (Position of (Picked unit))
          • Custom script: set bj_wantDestroyGroup = true
          • Unit Group - Pick every unit in (Units within 500.00 of P matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Picked unit))) Equal to True))) and do (Actions)
            • Loop - Actions
              • Player - Set (Owner of (Picked unit)) Current gold to (((Owner of (Picked unit)) Current gold) - 1)
          • Custom script: call RemoveLocation (udg_P)
  • Armour
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to LightningSpellHere
    • Actions
      • Set P = (Position of (Triggering unit))
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units within 500.00 of P matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Picked unit))) Equal to False))) and do (Actions)
        • Loop - Actions
          • Unit - Create 1 DummyHere for (Owner of (Triggering unit)) at P facing Default building facing degrees
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Hide (Last created unit)
          • Unit - Add LightningSpellHere (Best to use an armour spell like Inner Fire) to (Last created unit)
          • Unit - Order (Last created unit) to YourSpellHere (Picked unit)
      • Custom script: call RemoveLocation (udg_P)
  • Armour Dmg
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
    • Actions
      • Set P = (Position of (Triggering unit))
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units within 500.00 of P matching ((((Matching unit) has buff LightningBuffHere (Caster)) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))) and do (Actions)
        • Loop - Actions
          • Unit - Cause (Picked unit) to damage (Triggering unit), dealing 500.00 damage of attack type Spells and damage type Normal
      • Custom script: call RemoveLocation (udg_P)
  • Flash
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to FlashHere
    • Actions
      • Set P = (Position of (Triggering unit))
      • Set P2 = (Target point of ability being cast)
      • Unit Group - Pick every unit in (Units within 500.00 of P matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to False))) and do (Actions)
        • Loop - Actions
          • Unit - Move (Picked unit) instantly to P2
      • Custom script: set bj_wantDestroyGroup = true
      • Custom script: call RemoveLocation (udg_P)
      • Custom script: call RemoveLocation (udg_P2)
 
Last edited:

Bannar

Code Reviewer
Level 26
Joined
Mar 19, 2008
Messages
3,140
@Zaio, your triggers are pretty nice but there are small mistakes:

Owl: I'm not sure if using (Picked unit) is second group creation is save, better to set variable to that unit temporary. Also, it would be nice to check if number of units around isn't 0.

Incinerate: Shouldn't we create a group for units that have been target? You could make use of GDD here.

Flash: Change (Owner of (Triggering unit)) to (Triggering player) - it's not mistake, but that reference is smoother.
 
Level 7
Joined
Jul 3, 2011
Messages
251
@Zaio, your triggers are pretty nice but there are small mistakes:

Owl: I'm not sure if using (Picked unit) is second group creation is save, better to set variable to that unit temporary. Also, it would be nice to check if number of units around isn't 0.

Incinerate: Shouldn't we create a group for units that have been target? You could make use of GDD here.

Flash: Change (Owner of (Triggering unit)) to (Triggering player) - it's not mistake, but that reference is smoother.

Yeah i made a few mistakes, it was late for me when i started triggering so was tired, another was in the "Flash" i put set bj_wantDestroyGroup = true below the unit group xD, and about the owl it does work, i tested it o.0
 
Level 6
Joined
Jun 18, 2011
Messages
147
and about the owl it does work, i tested it o.0
I don't see where it diverts the income to the owner of the spell caster. Perhaps squelch thought it didn't work because his income was not increasing.
 
Status
Not open for further replies.
Top