Name | Type | is_array | initial_value |
A_ActiveSpells | integer | No | |
A_AllBirdsGroup | group | No | |
A_AttackedUnits | group | No | |
A_Birds | unit | Yes | |
A_FinalTarget | unit | No | |
A_GeneralInteger | integervar | Yes | |
A_Hero | unit | Yes | |
A_HeroesGroup | group | No | |
A_Level | integer | Yes | |
A_MUIInteger | integer | No | |
A_RadReal | real | No | |
A_TargetGroups | group | Yes | |
A_TempPoint | location | Yes | |
A_TravelingBirds | group | No | |
CageAnimHoldTimer | timer | Yes | |
CageAnimLock | boolean | Yes | |
Caster | unit | No | |
Caster_GE | unit | No | |
CastingHellfire | boolean | Yes | |
ChargingThunderBall | boolean | Yes | |
DarkDummyGroup | group | Yes | |
DarkOrigin | unit | Yes | |
Dialog_Dialog | dialog | No | |
Dialog_Easy | button | No | |
Dialog_Expert | button | No | |
Dialog_Impossible | button | No | |
Dialog_Noob | button | No | |
Dialog_Normal | button | No | |
Dummy | unit | No | |
ER | integervar | No | |
ER_2 | integervar | No | |
ER_Bugers | group | No | |
ER_Damage | real | Yes | |
ER_DeBug | integer | Yes | |
ER_Entangle_Duration | integer | Yes | |
ER_Equation | real | Yes | |
ER_Ground_Tremble | integer | Yes | |
ER_Group | group | Yes | |
ER_Hero | unit | Yes | |
ER_Jump | real | Yes | |
ER_LiftOff_Speed | real | Yes | |
ER_Max_Strike_Height | real | Yes | |
ER_Part | integer | Yes | |
ER_Point | location | Yes | |
ER_Skip | integer | No | |
ER_Spam | integer | Yes | |
ER_Speed | real | Yes | |
ER_Speed_Constant | real | Yes | |
ER_START | location | Yes | |
ER_Target | unit | Yes | |
ER_Times | integer | No | |
ER_Twist | integer | Yes | |
ER_Yes | boolean | Yes | |
Fire_Wall_Ability_Level | integer | No | |
Fire_Wall_Caster | unit | No | |
Fire_Wall_Distance | real | No | |
Fire_Wall_Dummy_Ability | abilcode | No | |
Fire_Wall_Duration | real | No | |
Fire_Wall_Location | location | No | |
Fire_Wall_Loop_Location | location | No | |
Fire_Wall_Loop_Location_2 | location | No | |
Fire_Wall_Owner | player | No | |
FireDummyGroup | group | Yes | |
FrostDummy | unit | Yes | |
FrostSphere | boolean | Yes | |
Hammer | unit | Yes | |
Hero | unit | Yes | |
IsCastingFrostSphere | boolean | Yes | |
JD_Angle | real | Yes | |
JD_Counter | real | Yes | |
JD_Distances | real | Yes | |
JD_Effect | string | Yes | |
JD_Group | group | No | |
JD_Integers | integer | Yes | |
JD_LevelOfAbility | integer | Yes | |
JD_PickGroup | group | No | |
JD_ReachedDistance | real | Yes | |
JD_SpeedUnits | real | Yes | |
JD_TempPoint | location | Yes | |
JD_TreesDestroy | boolean | Yes | |
JD_Unit | unit | Yes | |
JDA_DestroyTrees_Dash | boolean | No | |
JDA_LevelOfAbility | integer | No | |
JDA_SpecialEffect | string | No | |
JDA_Speed | real | No | |
JDA_TargetPoint | location | No | |
JDA_Unit | unit | No | |
KB | integervar | No | |
KB_Angle | real | Yes | |
KB_angle | real | Yes | |
KB_aoe | real | No | |
KB_caster_unit | unit | No | |
KB_Casters | unit | Yes | |
KB_CheckPathing | boolean | Yes | |
KB_CountBuffs | integer | No | |
KB_current_distance | real | Yes | |
KB_damage | real | Yes | |
KB_damage_periodical | real | Yes | |
KB_damage_source | unit | Yes | |
KB_damage_total | real | Yes | |
KB_destroy_trees | boolean | Yes | |
KB_DestroyTrees | boolean | Yes | |
KB_Distance | real | Yes | |
KB_distance | real | Yes | |
KB_dps | real | Yes | |
KB_dps_duration | real | Yes | |
KB_dps_enable | boolean | Yes | |
KB_dps_fragment | real | Yes | |
KB_dps_period | real | Yes | |
KB_dyn_index | integer | No | |
KB_Effect | string | Yes | |
KB_effect | string | Yes | |
KB_effect2 | string | Yes | |
KB_EffectCounter | integer | Yes | |
KB_EffectCounter2 | integer | Yes | |
KB_Effects_1 | string | Yes | |
KB_Effects_2 | string | Yes | |
KB_EnableEffect | boolean | Yes | |
KB_GeneralIntegers | integervar | Yes | |
KB_group | group | Yes | |
KB_index | integer | Yes | |
KB_index_is_empty | boolean | Yes | |
KB_index_selected | boolean | No | |
KB_Integer | integervar | Yes | |
KB_KnockbackedUnits | group | No | |
KB_leak_point | location | Yes | |
KB_Levels | integer | Yes | |
KB_MaxDistance | real | Yes | |
KB_NiceEffect | boolean | Yes | |
KB_Off | boolean | Yes | |
KB_p_damage_enable | boolean | Yes | |
KB_Point | location | Yes | |
KB_ReachedDistance | real | Yes | |
KB_ReducedReal | real | No | |
KB_ReduceSpeedReal | real | Yes | |
KB_Skip | integer | No | |
KB_SpecificSpeed | real | Yes | |
KB_Speed | real | Yes | |
KB_speed | real | Yes | |
KB_SpeedDecrease | real | Yes | |
KB_StartPositions | location | Yes | |
KB_TempPoint | location | Yes | |
KB_TempReal | real | No | |
KB_Times | integer | No | |
KB_TotalKnockUnits | integer | No | |
KB_unit | unit | Yes | |
KB_Unit | unit | Yes | |
KB_Units | unit | Yes | |
KB_UnitsDestroyTrees | boolean | Yes | |
KBA_Caster | unit | No | |
KBA_DestroyTrees | boolean | No | |
KBA_DistancePerLevel | real | No | |
KBA_Level | integer | No | |
KBA_SpecialEffects | string | Yes | |
KBA_Speed | real | No | |
KBA_StartingPosition | location | No | |
KBA_TargetUnit | unit | No | |
LEVEL | integer | No | |
Move | group | No | |
MoveFast | group | No | |
MoveSlow | group | No | |
Multi_Shot_Ability_Level | integer | No | |
Multi_Shot_Base_Arrow_Count | integer | No | |
Multi_Shot_Caster | unit | No | |
Multi_Shot_Dummy_Ability | abilcode | No | |
Multi_Shot_Facing | real | No | |
Multi_Shot_Location | location | No | |
Multi_Shot_Location_2 | location | No | |
Multi_Shot_Loop_Location | location | No | |
Multi_Shot_Loop_Location2 | location | No | |
Multi_Shot_Owner | player | No | |
Multi_Shot_Total_Arrow_Count | integer | No | |
MWX_Caster | unit | Yes | |
MWX_Counter | integer | Yes | |
MWX_Index | integer | Yes | |
MWX_Number | integervar | Yes | |
MWX_Point | location | Yes | |
MWX_Point_Copy | location | Yes | |
MWX_Position | location | Yes | |
MWX_Units | group | Yes | |
MWX_X | real | Yes | |
MWX_Y | real | Yes | |
NextLevel | timer | No | |
Picked | unit | No | |
PickedNail | unit | Yes | |
PickGroup | group | No | |
Player_Hero | unit | No | |
RO_CurrentRoots | unit | No | |
RO_Groups | group | Yes | |
RO_Integer | integer | Yes | |
RO_TempPoint | location | Yes | |
RockSummon | unit | Yes | |
Shockwave_Angle | real | No | |
Shockwave_Group | group | Yes | |
Shockwave_Point | location | Yes | |
Spell | integervar | No | |
Spell_Angle | real | Yes | |
Spell_Caster | unit | Yes | |
Spell_Distance | real | Yes | |
Spell_EffectHealingEffect | string | Yes | |
Spell_EffectOnHit | string | Yes | |
Spell_EffectTail | string | Yes | |
Spell_KBCheckPathing | boolean | Yes | |
Spell_KBDistance | real | Yes | |
Spell_KBDoKnockback | boolean | Yes | |
Spell_KBEffect | string | Yes | |
Spell_KBEnableEffect | boolean | Yes | |
Spell_KBNiceEffect | boolean | Yes | |
Spell_KBNiceSpeedDecrease | real | Yes | |
Spell_KBSpeed | real | Yes | |
Spell_KBUnitsDestroyTrees | boolean | Yes | |
Spell_ModelSize | real | Yes | |
Spell_Off | boolean | Yes | |
Spell_Point | location | Yes | |
Spell_ProjectileBounce | boolean | Yes | |
Spell_ProjectileBounceFacing | real | Yes | |
Spell_ProjectileCheckPathing | boolean | Yes | |
Spell_ProjectileCheckZ | boolean | Yes | |
Spell_ProjectileDamage | real | Yes | |
Spell_ProjectileDestroyTrees | boolean | Yes | |
Spell_ProjectileHealAllies | boolean | Yes | |
Spell_ProjectileHealingDone | real | Yes | |
Spell_ProjectileHeight1 | real | Yes | |
Spell_ProjectileHeight2 | real | Yes | |
Spell_ProjectileHitAllies | boolean | Yes | |
Spell_ProjectileIgnoreFullHP | boolean | Yes | |
Spell_ProjectileModel | string | Yes | |
Spell_ProjectileModelEffect | effect | Yes | |
Spell_ProjectileSpeed | real | Yes | |
Spell_ProjectileTailDistance | real | Yes | |
Spell_ProjectileTailEffect | boolean | Yes | |
Spell_ProjectileUnit | unit | Yes | |
Spell_Skip | integer | No | |
Spell_TailEffectDelay | integer | Yes | |
Spell_TailEffectInteger | integer | Yes | |
Spell_Times | integer | No | |
Spell_UnitGroup | group | No | |
Target_GE | unit | No | |
TargetPoint | location | Yes | |
TD_AOE | real | Yes | |
TD_caster | unit | Yes | |
TD_caster_point | location | Yes | |
TD_current_dist | real | Yes | |
TD_destroy_trees | boolean | Yes | |
TD_distance | real | Yes | |
TD_dyn_index | integer | No | |
TD_group | group | Yes | |
TD_height_max | real | Yes | |
TD_index_is_empty | boolean | Yes | |
TD_index_selected | boolean | No | |
TD_integer | integer | Yes | |
TD_invulnerable | boolean | Yes | |
TD_jump_speed | real | Yes | |
TD_leak_point | location | Yes | |
TD_min_AOE | real | Yes | |
TD_ms_increase | real | Yes | |
TD_number_of_jumps | integer | Yes | |
TD_random_target | unit | Yes | |
TD_target_point | location | Yes | |
TD_target_X | real | Yes | |
TD_target_Y | real | Yes | |
TD_temp_real | real | Yes | |
TempPoint1 | location | No | |
TempPoint2 | location | No | |
TempPoint3 | location | No | |
ThunderBall | unit | Yes | |
ThunderBallGroup | group | No | |
Timer01 | timer | No | |
TK_AttackType | attacktype | No | |
TK_DamageType | damagetype | No | |
TK_FlyingUnits | group | No | |
TK_FSpeed | real | Yes | |
TK_HDmgInPercIncreasement | real | No | |
TK_HDmgInPercStart | real | No | |
TK_Hero | unit | Yes | |
TK_ImpactDmgIncreasement | real | No | |
TK_ImpactDmgStart | real | No | |
TK_ImpactSFX | string | No | |
TK_Integers | integer | Yes | |
TK_Interval | real | Yes | |
TK_Level | integer | Yes | |
TK_LiftSFX | string | No | |
TK_LiftSFXTimer | real | No | |
TK_LsfxT | real | Yes | |
TK_MaxHeight | real | Yes | |
TK_MaxHeightIncreasement | real | No | |
TK_MaxHeightStart | real | No | |
TK_MinHeightIncreasement | real | No | |
TK_MinHeightStart | real | No | |
TK_Pause | boolean | No | |
TK_Speed | real | No | |
TK_SpeedVariationPerc | real | No | |
TK_SpellAoEIncreasement | real | No | |
TK_SpellAoEStart | real | No | |
TK_StartSFX | string | No | |
TK_TempPoint | location | Yes | |
TK_Unit | unit | Yes | |
TK_UnitGroup | group | No | |
WindDistance | real | Yes |
//TESH.scrollpos=0
//TESH.alwaysfold=0
This is the Advanced Shockwave Spell by Paladon.
I´ll try to comment my triggering as far as i´m able to.
You may need triggering basics to understand what i´m doing exactly,
but i´m sure that this documentation will be helpful to those who want to
learn some advanced features of GUI triggering.
Thanks for testing this spell.
Paladon
PS:
This spell is created due to a request and uses my Knockback System.
If you need further informations and examples about this system, please search for it in the spell section of //www.hiveworkshop.com
Changelog:
Added the Knockback System readmes and fixed a minor flaw concerning the balance of the spell.
I additionally added some more detailed comments at several places since someone asked me to do so.
I´d be glad if you credit me if you´re using this spell, or the systems it uses, in your very own map.
----- Simple Projectile System (SPS) [Version 1.0] ----- (Created by: The_Flood (Flood @ hiveworkshop))
Required things:
> In the Import Manager (F12) you'll find an imported model called "DUMMY.mdx", make sure you import this model with this system.
> In the Object Editor (F6) at Units, you'll find a unit called "Spell_Dummy", make sure you import this model with this system.
> Required triggers: Test Spell 1 or Test Spell 2, Spell Loop and Knockback Loop.
Warning: Modify this system at your own risk, incorrect changes may cause errors to this system.
!!!Read all this to understand what every thing in this system do.!!!
Set Spell_Times = (Spell_Times + 1) // This allows the system to be MUI.
Set Spell_Skip = (Spell_Skip + 1) // This allows the system to be MUI.
Set Spell_Off[Spell_Times] = False // This allows the system to be MUI.
Set Spell_Caster[Spell_Times] = (Triggering unit) // Sets the spellcaster into a unit-variable.
-------- Projectile Model --------
Set Spell_ProjectileModel[Spell_Times] = Abilities\Weapons\AvengerMissile\AvengerMissile.mdl // The model your projectile will use.
Set Spell_ModelSize[Spell_Times] = 100.00 // The size your projectile will have. (100.00 is default)
-------- Locations (Point) & Neccesary Reals --------
Set Spell_Point[0] = (Position of Spell_Caster[Spell_Times]) // Sets the position of the Spellcaster into a point-variable.
Set Spell_Point[1] = (Target point of ability being cast) // Sets the location of the target point of ability being cast into a point-variable.
Set Spell_Distance[Spell_Times] = (Distance between Spell_Point[0] and Spell_Point[1]) // Calculates the distance between the position of the spellcaster and the position where the ability were cast.
Set Spell_Angle[Spell_Times] = (Angle from Spell_Point[0] to Spell_Point[1]) // Calculates the angle from the position of the spellcaster and the position of the ability were cast.
Set Spell_Point[2] = (Spell_Point[0] offset by 25.00 towards Spell_Angle[Spell_Times] degrees) // This is the location that the projectile dummy will be created at.
-------- Booleans --------
Set Spell_ProjectileDestroyTrees[Spell_Times] = True // Set this to true if you want your projectile to destroy trees in its way.
Set Spell_ProjectileHitAllies[Spell_Times] = False // Set this to true if you want your projtile to be able to hit allied units.
Set Spell_ProjectileHealAllies[Spell_Times] = False // If "Spell_ProjectileHitAllies" is true, and you set this to true, you'r allied units will be healed when the projectile hits them.
Set Spell_ProjectileIgnoreFullHP[Spell_Times] = False // Set this to true if you want to ignore to heal friendly units with full HP.
Set Spell_ProjectileCheckPathing[Spell_Times] = True // Set this to true if your projectiles will be destroyed when they reaches unwalkable terrain (cliffs, etc).
Set Spell_ProjectileTailEffect[Spell_Times] = True // Set this to true if you want a tail effect after your projectile (special effects appearing behind).
Set Spell_ProjectileCheckZ[Spell_Times] = True // Set this to true if you want GetLocationZ detection. With this activated the projectiles is affected by the terrain, a cliff with more height then your projectile
will destroy your projectile. Also makes the movement of your projectiles nicer.
Set Spell_ProjectileBounce[Spell_Times] = False // Allows your projectile to bounce on walls, this isn't fully working yet. When this is activated the CheckZ option won't kill your projectile.
Set Spell_KBDoKnockback[Spell_Times] = True // Set this to true if you want units to be knocked back when your projectile hits them.
Set Spell_KBEnableEffect[Spell_Times] = True // Set this to true if you want an effect to appear when units is being knockbacked.
Set Spell_KBCheckPathing[Spell_Times] = False // Set this to true if you want to check the current pathing of the knockedbacked unit, if this is false, units will be able to be knockedback through the boundary.
If it's true, knockedbacked units will stop when they can't be knockbacked anymore, else will they glide across non-walkable things.
Set Spell_KBUnitsDestroyTrees[Spell_Times] = True // Set this to true if you want the knockedbacked units to kill trees while they are knockbacked.
Set Spell_KBNiceEffect[Spell_Times] = True // Set this to true if you want to use the NiceEffectSystem. This will cause units to slowdown on their way while they are knockedback, this will make it look nicer.
Or else will they just stop instant when the knockback is over.
-------- Effects --------
Set Spell_KBEffect[Spell_Times] = Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmDamage.mdl // This is the effect for the knockback.
Set Spell_HealingEffect[Spell_Times] = Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl // This is the effect that will appear when a friendly unit is healed.
Set Spell_EffectOnHit[Spell_Times] = Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl // This is the effect that will appear when an enemie unit is hitted by the projectile.
Set Spell_EffectTail[Spell_Times] = Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl //This is the effect that will appear as a tail after your projectile while it moves.
-------- Spell Stuffs (Projectile Options) --------
Set Spell_TailEffectDelay[Spell_Times] = 3 // This is the delay of the tail effects, the larger number = longer time for the tail effects to come.
Set Spell_ProjectileTailDistance[Spell_Times] = 50.00 // This is how far away your tail effect should be created from your projectile.
Set Spell_ProjectileSpeed[Spell_Times] = 25.00 // This is the speed of the projectile.
Set Spell_ProjectileHealingDone[Spell_Times] = 0.00 // This is the amount that your friendly units will be healed, remember to turn on both "Spell_ProjectileHitAllies" and "Spell_ProjectileHealAllies" t make this work.
Set Spell_ProjectileDamage[Spell_Times] = 300.00 ///is is the amount that your enemies or allies (if only "Spell_ProjectileHitAllies" is true) will be damaged.
-------- Spell Stuffs (Knockback Options (If you have "Spell_KBNiceEffect" = True, try make all those three values look good with eachother.)) --------
Set Spell_KBNiceSpeedDecrease[Spell_Times] = 0.45 // This is the value that will decrease the "KBSpeed" when unit's are knockedback. This will only work if "Spell_KBNiceEffect" is true.
Set Spell_KBDistance[Spell_Times] = 250.00 // This is the distance the knockedbacked units will be knockedback.
Set Spell_KBSpeed[Spell_Times] = 15.00 // This is the speed that the knockedback units will be knockedbacked with. Remember that this will decrease if you have "Spell_KBNiceEffect" at true.
Minimum value is: 1.00.
-------- Create the Projectile --------
Unit - Create 1 Spell_Dummy for (Owner of Spell_Caster[Spell_Times]) at Spell_Point[2] facing Spell_Angle[Spell_Times] degrees // Creates a unit (The Dummy Projectile) at the spellcasters position
Set Spell_ProjectileUnit[Spell_Times] = (Last created unit) // Sets the unit (The Dummy Projectile) into a unit-variable.
Special Effect - Create a special effect attached to the origin of Spell_ProjectileUnit[Spell_Times] using Spell_ProjectileModel[Spell_Times] // Creates the model for the projectile dummy.
Set Spell_ProjectileModelEffect[Spell_Times] = (Last created special effect) // Store the model effect into a special effect-variable.
Animation - Change Spell_ProjectileUnit[Spell_Times]'s size to (Spell_ModelSize[Spell_Times]%, Spell_ModelSize[Spell_Times]%, Spell_ModelSize[Spell_Times]%) of its original size // Sets the model size of the projectile.
-------- REMOVE LOCATION LEAKS --------
Custom script: call RemoveLocation(udg_Spell_Point[0]) // Remove location leaks.
Custom script: call RemoveLocation(udg_Spell_Point[1]) // Remove location leaks.
Custom script: call RemoveLocation(udg_Spell_Point[2]) // Remove location leaks.