• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Extreme Bites - vampirism spell

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Great ability of agility attacking very fast your enemy, no chance of defense or evade. the target unit gets 20/30/40 damage, an you drain 10/15/20 life points per bite.




the tiggers:

[/HIDDEN]


  • Select victim
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Extreme Bites
    • Actions
      • -------- ---------------------------------- --------
      • -------- Dont touch this! --------
      • Set MultiUnit[1] = (Casting unit)
      • Set MultiUnit[2] = (Target unit of ability being cast)
      • Set MultiPoint[1] = (Position of MultiUnit[2])
      • Set MultiPoint[2] = (Position of MultiUnit[1])
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Here you can change de dmg per bite --------
      • Set MultiDmg = (10.00 + ((Real((Level of Extreme Bites for MultiUnit[1]))) x 10.00))
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Especial FX , Dont touch!!!!! --------
      • Unit - Pause MultiUnit[1]
      • Animation - Change MultiUnit[1]'s animation speed to 0.00% of its original speed
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 75.00%, 75.00%) with 0.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 50.00%, 50.00%) with 15.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 25.00%, 25.00%) with 30.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s animation speed to 100.00% of its original speed
      • Unit - Unpause MultiUnit[1]
      • Trigger - Turn on Bites Push <gen>
      • Unit - Make MultiUnit[1] Invulnerable
      • Cinematic - Fade out and back in over 3.50 seconds using texture White Mask and color (100.00%, 10.00%, 10.00%) with 30.00% transparency
      • Wait 3.00 seconds
      • Trigger - Turn off Bites Push <gen>
      • Unit - Make MultiUnit[1] Vulnerable
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 25.00%, 25.00%) with 30.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 50.00%, 50.00%) with 15.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 75.00%, 75.00%) with 0.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
      • Set MultiUnit[1] = No unit
      • Set MultiUnit[2] = No unit
  • Bites Push
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • Set Multi_Leak_Point = (MultiPoint[1] offset by ((Random angle) + 5.00) towards (Random angle) degrees)
      • Unit - Move MultiUnit[2] instantly to Multi_Leak_Point
      • Custom script: call RemoveLocation (udg_Multi_Leak_Point)
      • Set Multi_Leak_Point = (Position of MultiUnit[2])
      • Unit - Move MultiUnit[1] instantly to Multi_Leak_Point
      • Custom script: call RemoveLocation (udg_Multi_Leak_Point)
      • Animation - Play MultiUnit[1]'s attack animation
      • Animation - Play MultiUnit[2]'s death animation
      • Special Effect - Create a special effect at (Position of MultiUnit[2]) using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of MultiUnit[2]) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Cause MultiUnit[1] to damage MultiUnit[2], dealing MultiDmg damage of attack type Spells and damage type Normal
      • Unit - Set life of MultiUnit[1] to ((Life of MultiUnit[1]) + (MultiDmg / 2.00))
      • Trigger - Turn on Bites Finish <gen>
  • Bites Finish
    • Events
    • Conditions
      • MultiUnit[2] Equal to (Dying unit)
    • Actions
      • Unit - Order MultiUnit[1] to Stop
      • Animation - Reset MultiUnit[1]'s animation
      • Trigger - Turn off Bites Push <gen>
      • Trigger - Turn off (This trigger)
[/HIDDEN]


Keywords:
Vampire, drain ,extreme ,bites , knockback,
agility, damage, blood, steal.
Contents

Extreme Bites (vampire Spell) 1.0 (Map)

Reviews
12th Dec 2015 IcemanBo: Too long time as NeedsFix. Rejected. 13:04, 16th Jan 2011 TriggerHappy: Spell is not MUI (with the way you're using waits).

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long time as NeedsFix. Rejected.

13:04, 16th Jan 2011
TriggerHappy:

Spell is not MUI (with the way you're using waits).
 
Level 37
Joined
Mar 6, 2006
Messages
9,240

  • Select victim
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Extreme Bites
    • Actions
      • -------- ---------------------------------- --------
      • -------- Dont touch this! --------
      • Set MultiUnit[1] = (Casting unit)
      • Set MultiUnit[2] = (Target unit of ability being cast)
      • Set MultiPoint[1] = (Position of MultiUnit[2])
      • Set MultiPoint[2] = (Position of MultiUnit[1])
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Here you can change de dmg per bite --------
      • Set MultiDmg = (10.00 + ((Real((Level of Extreme Bites for MultiUnit[1]))) x 10.00))
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Especial FX , Dont touch!!!!! --------
      • Unit - Pause MultiUnit[1]
      • Animation - Change MultiUnit[1]'s animation speed to 0.00% of its original speed
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 75.00%, 75.00%) with 0.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 50.00%, 50.00%) with 15.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 25.00%, 25.00%) with 30.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s animation speed to 100.00% of its original speed
      • Unit - Unpause MultiUnit[1]
      • Trigger - Turn on Bites Push <gen>
      • Unit - Make MultiUnit[1] Invulnerable
      • Cinematic - Fade out and back in over 3.50 seconds using texture White Mask and color (100.00%, 10.00%, 10.00%) with 30.00% transparency
      • Wait 3.00 seconds
      • Trigger - Turn off Bites Push <gen>
      • Unit - Make MultiUnit[1] Vulnerable
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 25.00%, 25.00%) with 30.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 50.00%, 50.00%) with 15.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 75.00%, 75.00%) with 0.00% transparency
      • Wait 0.10 seconds
      • Animation - Change MultiUnit[1]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
      • Set MultiUnit[1] = No unit
      • Set MultiUnit[2] = No unit
  • Bites Push
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • Set Multi_Leak_Point = (MultiPoint[1] offset by ((Random angle) + 5.00) towards (Random angle) degrees)
      • Unit - Move MultiUnit[2] instantly to Multi_Leak_Point
      • Custom script: call RemoveLocation (udg_Multi_Leak_Point)
      • Set Multi_Leak_Point = (Position of MultiUnit[2])
      • Unit - Move MultiUnit[1] instantly to Multi_Leak_Point
      • Custom script: call RemoveLocation (udg_Multi_Leak_Point)
      • Animation - Play MultiUnit[1]'s attack animation
      • Animation - Play MultiUnit[2]'s death animation
      • Special Effect - Create a special effect at (Position of MultiUnit[2]) using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at (Position of MultiUnit[2]) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Cause MultiUnit[1] to damage MultiUnit[2], dealing MultiDmg damage of attack type Spells and damage type Normal
      • Unit - Set life of MultiUnit[1] to ((Life of MultiUnit[1]) + (MultiDmg / 2.00))
      • Trigger - Turn on Bites Finish <gen>
  • Bites Finish
    • Events
    • Conditions
      • MultiUnit[2] Equal to (Dying unit)
    • Actions
      • Unit - Order MultiUnit[1] to Stop
      • Animation - Reset MultiUnit[1]'s animation
      • Trigger - Turn off Bites Push <gen>
      • Trigger - Turn off (This trigger)


Not MUI and leaks.
 
Level 8
Joined
Jun 30, 2010
Messages
259
As I see it, removing the waits would make it almost MUI, except for the 3 second wait.
And that would also ruin the eyecandy.
I am not trying this, I am just reading the triggers.
Try to save all your specific unit data in Hashtables and use Hashtable Integer data combined with Unit groups or use Dummy units with expiration timers in order to time the spell.
This is something I have explained a lot of times, in fact, I think I might be able to quote it.

Found it!
The quote is taken from a private message that I sent some days ago.

Hashtables are not as hard as they seem to be.
You simply do it like this:
  • Hashtable - Save 0.00 as (Key --Your String-- of (Key (Triggering unit)) in Hashtable
This is for saving a Real.

--0.00 can be replaced by ANY number, either a variable or whatever value you want to save as a variable, so Hashtables won't leak if you are using an unspecified value.--

--The first value after the real can be replaced by a number or a word. This is like a name. You can choose this yourself. Remember: Use the Hashtable - Get String ID.--

--The second value is the unit you want to save the value to. If a unit casts an ability, and you want that unit to get the value, use (Key (Triggering Unit)) Remember: Use the Hashtable - Get Handle ID.--

--The last value is the Hashtable you want to save the data in. Normally, you only require one hashtable. To create a hashtable, create a hashtable variable and create a trigger:
  • Hashtable
    • Events
      • Time - Elapsed game time is 0.01 seconds
    • Conditions
    • Actions
      • Hashtable - Create a hashtable
      • Set Hashtable = (Last created hashtable)
--

I usually call my Hashtable variable "Hashtable".

When you wish to load a Hashtable value, use any action you would normally use for that particular action, for example, you want to load a real number for a certain variable.
  • Load Hashtable Data
    • Events
    • Conditions
    • Actions
      • Set RealVariable = (Load (Key --Your String--) of (Key (Picked unit)) from Hashtable)
      • -------- NOTE!!! --------
      • -------- The Picked Unit is not what you refer to to load a value. If you wish to load a value from a lot of units, for example, for a knockback, do this: --------
      • Unit Group - Pick every unit in UnitGroupVariable and do (Actions)
        • Loop - Actions
          • Set RealVariable = (Load (Key --Your String--) of (Key (Picked unit)) from Hashtable)
      • -------- If you are using this method, don't forget to add the picked unit to the specific group when the unit uses the certain ability. --------
About Strings
You can type in any name you want for your string! Simply type in the same thing (NOTE: When you load, you require the EXACT same string!) in your loading trigger!
Typing a word that refers to the certain value might also help, for example, for an angle, you can name it Angle.
 
Top