-
Are you planning to upload your awesome spell or system to Hive? Please review the rules here.Dismiss Notice
-
Find your way through the deepest dungeon in the 18th Mini Mapping Contest Poll.Dismiss Notice
-
A brave new world lies beyond the seven seas. Join the 34th Modeling Contest today!Dismiss Notice
-
Check out the Staff job openings thread.Dismiss Notice
Dismiss Notice
Hive 3 Remoosed BETA - NOW LIVE. Go check it out at BETA Hive Workshop! Post your feedback in this new forum BETA Feedback.
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.
Kamehameha Version 4.50
Submitted by
Dat-C3
- Tags:
- Target Ground, GUI / Triggers
- Filesize:
- 29 KB
- Rating:
-
(4 votes)
- Downloads:
- 710
- Uploaded:
- Apr 29, 2014
- Updated:
- Jul 14, 2014
- Resources:
- 1
- Author(s):
- Dat-C3
- State:
- Approved

This bundle is marked as approved. It works and satisfies the submission rules.
Yay with the help of deathismyfriend,PurgeandFire,BPower,Ceday,edo494 I finally got this spell fully fixed MUI leakless. Thank you, you guys. I would just like to give another special thanks to them because this spell would of been rejected without these guys.
I am kind of lame when it comes to placement and sometimes even the best needs help I would hope?
Special Thanks goes to MetaDeath for his unit-group lines as well original idea, without him I wouldn't be submitting this spell today.
A thanks also goes out to Ajijang2013 for inspiring me to submit this sooner.
Basically it creates a line of units every so few decimal seconds causing damage to anyone nearby this line.
Features to come:
More customize options for the spell. - Done
Better move function. - Done
Maybe a collision effect. - Done
Different versions of the spell in #1 post so people know how to make different kinds of beams without spamming triggers. - No idea when I will do this
If you want anything else/more suggest it down below in the comments.
Keywords:
tal,tal0n,dat,dat-c3,c3,kame,kamehameha,ha,hame,fail,pro,epic,lol,fun,1337,hax,o.o
I am kind of lame when it comes to placement and sometimes even the best needs help I would hope?
Special Thanks goes to MetaDeath for his unit-group lines as well original idea, without him I wouldn't be submitting this spell today.
A thanks also goes out to Ajijang2013 for inspiring me to submit this sooner.
Basically it creates a line of units every so few decimal seconds causing damage to anyone nearby this line.
Features to come:
More customize options for the spell. - Done
Better move function. - Done
Maybe a collision effect. - Done
Different versions of the spell in #1 post so people know how to make different kinds of beams without spamming triggers. - No idea when I will do this
If you want anything else/more suggest it down below in the comments.
Posted Triggers
-
Events
-
Map initialization
-
-
Conditions
-
Actions
-
-------- This is here to let the system know to destroy trees or not with this spell --------
-
Set KillTrees = True
-
-------- This is the order ID of the spell, shouldn't need to be changed. --------
-
Set kameorder99 = (Order(flare))
-
-------- This is your ability/spell --------
-
Set kame = Kamehameha
-
-------- This is the Attack Type --------
-
Set kameatktype = Spells
-
-------- This is the Damage Type and this one ignores armor --------
-
Set kamedmgtype = Universal
-
-------- This is the special effect that pops up when a unit gets hit by the spell --------
-
Set kamesfxoncollide = Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
-
-------- This is what your beam/projectiles will look like --------
-
Set kamemissilesfx = Abilities\Weapons\SpiritOfVengeanceMissile\SpiritOfVengeanceMissile.mdl
-
-------- This sets your explosion effects --------
-
Set kamefinaleffect = Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
-
Set kamefinaleffect2 = Objects\Spawnmodels\NightElf\NEDeathMedium\NEDeath.mdl
-
-------- We do this to enable it to work better then 0.03 and to be more precise. --------
-
Custom script: set udg_kametimer = 0.03125
-
-------- This is how you can add events through GUI/Triggering --------
-
Trigger - Add to kameloop <gen> the event (Time - Every kametimer seconds of game time)
-
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Kamehameha
-
-
Actions
-
-------- Setting the index to make the entire spell work --------
-
Set kameindex99 = (kameindex99 + 1)
-
-------- --------
-
-------- Creating and setting the unit groups because the GUI version doesn't work correctly --------
-
Custom script: set udg_kamegroup99[udg_kameindex99] = CreateGroup()
-
-------- --------
-
-------- This identifes the caster --------
-
Set kameu99[kameindex99] = (Triggering unit)
-
-------- --------
-
Set kamelevel[kameindex99] = (Level of kame for kameu99[kameindex99])
-
-------- --------
-
-------- This is how much your damage gets multiplied at the final explosion --------
-
-------- Set it to 1 if you don't want any bonus explosion damage --------
-
Set kameendmultiplier[kameindex99] = 4.00
-
-------- --------
-
-------- This identifes the player --------
-
Set kameplayer[kameindex99] = (Owner of kameu99[kameindex99])
-
-------- --------
-
-------- This is your damage --------
-
Set kamedmg[kameindex99] = (25.00 + ((Real(kamelevel[kameindex99])) x 50.00))
-
-------- --------
-
-------- This is the current speed your beam/spell moves at per 0.03 seconds --------
-
Set kamespeed[kameindex99] = (10.00 + ((Real(kamelevel[kameindex99])) x 10.00))
-
-------- --------
-
-------- This is the size of the projectile at the front of the beam --------
-
Set kammainbeamsize[kameindex99] = (200.00 + ((Real(kamelevel[kameindex99])) x 100.00))
-
-------- --------
-
-------- This is the area where units get hit by the spell --------
-
Set kameAoE[kameindex99] = (150.00 + ((Real(kamelevel[kameindex99])) x 20.00))
-
-------- --------
-
-------- This is the entire beam size besides the front --------
-
Set kamesize[kameindex99] = (200.00 + ((Real(kamelevel[kameindex99])) x 100.00))
-
-------- --------
-
-------- This helps clean a leak --------
-
Set kamep = (Position of kameu99[kameindex99])
-
-------- --------
-
-------- This sets where you targeted the ground with so it'll know when to stop/explode at that point --------
-
Set kamecastp99[kameindex99] = (Target point of ability being cast)
-
-------- --------
-
-------- This creates the front part of the beam --------
-
Unit - Create 1 Dummy for kameplayer[kameindex99] at kamep facing (Angle from kamep to kamecastp99[kameindex99]) degrees
-
Set kamedummyu99[kameindex99] = (Last created unit)
-
-------- This adds the effect of a blue beam --------
-
Special Effect - Create a special effect attached to the origin of kamedummyu99[kameindex99] using Abilities\Weapons\SpiritOfVengeanceMissile\SpiritOfVengeanceMissile.mdl
-
Set kamesfx99[kameindex99] = (Last created special effect)
-
-------- --------
-
-------- This is to set it's size and height so it isn't in the ground --------
-
Animation - Change kamedummyu99[kameindex99]'s size to (kammainbeamsize[kameindex99]%, 100.00%, 100.00%) of its original size
-
Animation - Change kamedummyu99[kameindex99] flying height to 75.00 at 0.00
-
-------- --------
-
Custom script: call RemoveLocation(udg_kamep)
-
-------- --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
kameindex99 Equal to 1
-
-
Then - Actions
-
-------- Don't forget to turn this on when imported into your map --------
-
Trigger - Turn on kameloop <gen>
-
-
Else - Actions
-
-
-------- --------
-
-
Events
-
Conditions
-
Actions
-
-------- All the stuff that is easily changeable is already in kameinit and kamecast for you --------
-
-------- Only edit stuff here once you understand what is what if even only a little --------
-
-------- Some knowledge is better then going into it with nothing --------
-
-------- --------
-
For each (Integer kameloop99) from 1 to kameindex99, do (Actions)
-
Loop - Actions
-
-------- This checks where your front beam is --------
-
Set kamep = (Position of kamedummyu99[kameloop99])
-
-------- --------
-
-------- Destroys trees in the path of the beam only if the value is set to true --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
KillTrees Equal to True
-
-
Then - Actions
-
Destructible - Pick every destructible in (Region centered at kamep with size (kameAoE[kameloop99], kameAoE[kameloop99])) and do (Actions)
-
Loop - Actions
-
Set ISD_d = (Picked destructible)
-
Trigger - Run system <gen> (checking conditions)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
ISD_boolean Equal to True
-
-
Then - Actions
-
Set ISD_d = (Picked destructible)
-
Destructible - Kill ISD_d
-
Set ISD_d = No destructible
-
-
Else - Actions
-
-
-
-
-
Else - Actions
-
-
-------- The conditions are doing a distance check to see if the beam arrived at its explsion point --------
-
-------- It also is checking to make sure your caster is still focusing the spell --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Distance between kamep and kamecastp99[kameloop99]) Greater than or equal to 20.00
-
(Current order of kameu99[kameloop99]) Equal to kameorder99
-
-
Then - Actions
-
-------- This sets the radius to damage units within --------
-
Set kamedmggroup = (Units within kameAoE[kameloop99] of kamep)
-
Unit Group - Pick every unit in kamedmggroup and do (Actions)
-
Loop - Actions
-
Set kamepickedu = (Picked unit)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(kamepickedu is dead) Not equal to True
-
(kamepickedu is hidden) Not equal to True
-
(kamepickedu belongs to an enemy of kameplayer[kameloop99]) Equal to True
-
-
Then - Actions
-
Unit - Cause kameu99[kameloop99] to damage kamepickedu, dealing kamedmg[kameloop99] damage of attack type kameatktype and damage type kamedmgtype
-
-------- This sets the collide effect as well makes sure it doesn't lag too badly --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 2) Equal to 1
-
-
Then - Actions
-
Special Effect - Create a special effect attached to the chest of kamepickedu using kamesfxoncollide
-
Special Effect - Destroy (Last created special effect)
-
-
Else - Actions
-
-
-
Else - Actions
-
-
Set kamepickedu = No unit
-
-
-
-------- We can't forget to get rid of the group leak --------
-
Custom script: call DestroyGroup(udg_kamedmggroup)
-
-------- This creates the entire beam besides the front --------
-
Set kamedumdumindexer99 = (kamedumdumindexer99 + 1)
-
Unit - Create 1 Dummy for (Owner of kameu99[kameloop99]) at kamep facing (Angle from kamep to kamecastp99[kameloop99]) degrees
-
Set kamequickunit = (Last created unit)
-
Unit - Change ownership of kamequickunit to Neutral Victim and Retain color
-
Player - Set Neutral Victim handicap to (100.00 + (Real(kamedumdumindexer99)))%
-
Unit - Change ownership of kamequickunit to kameplayer[kameloop99] and Retain color
-
Player - Set Neutral Victim handicap to 100.00%
-
Unit Group - Add kamequickunit to kamegroup99[kameloop99]
-
Special Effect - Create a special effect attached to the origin of kamequickunit using kamemissilesfx
-
Set kame2sfx99[(Integer((Max life of kamequickunit)))] = (Last created special effect)
-
Animation - Change kamequickunit's size to (kamesize[kameloop99]%, 100.00%, 100.00%) of its original size
-
Animation - Change kamequickunit flying height to 75.00 at 0.00
-
Set kamequickunit = No unit
-
-------- --------
-
-------- This sets the radius to damage units within all of the beam --------
-
Unit Group - Pick every unit in kamegroup99[kameloop99] and do (Actions)
-
Loop - Actions
-
Set kamepickedu2 = (Picked unit)
-
Set kamep3 = (Position of kamepickedu2)
-
Set kamedmggroup = (Units within kameAoE[kameloop99] of kamep3)
-
Unit Group - Pick every unit in kamedmggroup and do (Actions)
-
Loop - Actions
-
Set kamepickedu = (Picked unit)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(kamepickedu is dead) Not equal to True
-
(kamepickedu is hidden) Not equal to True
-
(kamepickedu belongs to an enemy of kameplayer[kameloop99]) Equal to True
-
-
Then - Actions
-
Unit - Cause kameu99[kameloop99] to damage kamepickedu, dealing kamedmg[kameloop99] damage of attack type kameatktype and damage type kamedmgtype
-
-------- This sets the collide effect as well makes sure it doesn't lag too badly --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 2) Equal to 1
-
-
Then - Actions
-
Special Effect - Create a special effect attached to the chest of kamepickedu using kamesfxoncollide
-
Special Effect - Destroy (Last created special effect)
-
-
Else - Actions
-
-
-
Else - Actions
-
-
Set kamepickedu = No unit
-
-
-
Custom script: call RemoveLocation(udg_kamep3)
-
Set kamepickedu2 = No unit
-
Custom script: call DestroyGroup(udg_kamedmggroup)
-
-
-
-------- --------
-
-------- This is how we move a beam --------
-
Set kamep2 = (kamep offset by kamespeed[kameloop99] towards (Angle from kamep to kamecastp99[kameloop99]) degrees)
-
Custom script: call SetUnitX ( udg_kamedummyu99[udg_kameloop99] , GetLocationX(udg_kamep2))
-
Custom script: call SetUnitY ( udg_kamedummyu99[udg_kameloop99] , GetLocationY(udg_kamep2))
-
Custom script: call RemoveLocation(udg_kamep2)
-
-------- --------
-
-
Else - Actions
-
-------- Finishing/explosion effects --------
-
Special Effect - Create a special effect at kamep using kamefinaleffect
-
Special Effect - Destroy (Last created special effect)
-
Special Effect - Create a special effect at kamep using kamefinaleffect2
-
Special Effect - Destroy (Last created special effect)
-
-------- --------
-
-------- Destroys trees within the blast radius only if the value was set to true --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
KillTrees Equal to True
-
-
Then - Actions
-
Destructible - Pick every destructible in (Region centered at kamep with size ((kameAoE[kameloop99] x 2.00), (kameAoE[kameloop99] x 2.00))) and do (Actions)
-
Loop - Actions
-
Set ISD_d = (Picked destructible)
-
Trigger - Run system <gen> (checking conditions)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
ISD_boolean Equal to True
-
-
Then - Actions
-
Set ISD_d = (Picked destructible)
-
Destructible - Kill ISD_d
-
Set ISD_d = No destructible
-
-
Else - Actions
-
-
-
-
-
Else - Actions
-
-
-------- Explosion damage --------
-
Set kamedmggroup = (Units within kameAoE[kameloop99] of kamep)
-
Unit Group - Pick every unit in kamedmggroup and do (Actions)
-
Loop - Actions
-
Set kamepickedu = (Picked unit)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(kamepickedu is dead) Not equal to True
-
(kamepickedu is hidden) Not equal to True
-
(kamepickedu belongs to an enemy of kameplayer[kameloop99]) Equal to True
-
-
Then - Actions
-
Unit - Cause kameu99[kameloop99] to damage kamepickedu, dealing (kamedmg[kameloop99] x kameendmultiplier[kameloop99]) damage of attack type kameatktype and damage type kamedmgtype
-
-------- This sets the collide effect as well makes sure it doesn't lag too badly --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 2) Equal to 1
-
-
Then - Actions
-
Special Effect - Create a special effect attached to the chest of kamepickedu using kamesfxoncollide
-
Special Effect - Destroy (Last created special effect)
-
-
Else - Actions
-
-
-
Else - Actions
-
-
Set kamepickedu = No unit
-
-
-
Custom script: call DestroyGroup(udg_kamedmggroup)
-
-------- --------
-
-------- So the caster isn't stuck --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Current order of kameu99[kameloop99]) Equal to kameorder99
-
-
Then - Actions
-
Unit - Order kameu99[kameloop99] to Stop
-
-
Else - Actions
-
-
-------- --------
-
-------- Gets rid of the dummy unit --------
-
Unit - Kill kamedummyu99[kameloop99]
-
-------- --------
-
-------- Gets rid of the rest of the beam --------
-
Unit Group - Pick every unit in kamegroup99[kameloop99] and do (Actions)
-
Loop - Actions
-
Custom script: call DestroyEffect( udg_kame2sfx99[R2I(GetUnitStateSwap(UNIT_STATE_MAX_LIFE, GetEnumUnit()))] )
-
Unit - Add a 1.00 second Generic expiration timer to (Picked unit)
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
kamedumdumindexer99 Greater than 1000
-
-
Then - Actions
-
Set kamedumdumindexer99 = 0
-
-
Else - Actions
-
-
-------- --------
-
Custom script: call DestroyEffect(udg_kamesfx99[udg_kameindex99])
-
-------- Just nulling up some handles --------
-
Set kamedummyu99[kameloop99] = kamedummyu99[kameindex99]
-
Set kamedummyu99[kameindex99] = No unit
-
-------- --------
-
Set kamespeed[kameloop99] = kamespeed[kameindex99]
-
-------- --------
-
Set kameu99[kameloop99] = kameu99[kameindex99]
-
Set kameu99[kameindex99] = No unit
-
-------- --------
-
Set kameplayer[kameloop99] = kameplayer[kameindex99]
-
Custom script: set udg_kameplayer[udg_kameindex99] = null
-
-------- --------
-
Custom script: call RemoveLocation(udg_kamecastp99[udg_kameloop99])
-
Set kamecastp99[kameloop99] = kamecastp99[kameindex99]
-
-------- --------
-
Custom script: call DestroyGroup(udg_kamegroup99[udg_kameloop99])
-
Set kamegroup99[kameloop99] = kamegroup99[kameindex99]
-
Custom script: set udg_kamegroup99[udg_kameindex99] = null
-
-------- --------
-
-------- --------
-
Set kameindex99 = (kameindex99 - 1)
-
Set kameloop99 = (kameloop99 - 1)
-
-------- --------
-
-------- Turning the trigger off if nobodys casting so we don't cause extra lags --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
kameindex99 Equal to 0
-
-
Then - Actions
-
Set kamedumdumindexer99 = 0
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
-
-------- --------
-
-
-
-------- Cleans up location at the top --------
-
Custom script: call RemoveLocation(udg_kamep)
-
-------- --------
-
-
-
Keywords:
tal,tal0n,dat,dat-c3,c3,kame,kamehameha,ha,hame,fail,pro,epic,lol,fun,1337,hax,o.o
Contents
Page 2 of 2