Point Target Spell further then point

xAnaMorphine

Active Member
Reaction score
43
Hey :<

I picked up some Missile System and I want to change the functionallity to my needs. So this is set in the System:
Trigger:
  • http://www.youtube.com/watch?v=4fXPQZQLWNA&amp;translated=1
    • Set QJ_TargetPoint = (Target point of ability being cast)

If I cast the Ability, the missile will only move to the point I selected.
Am I able to change it somehow so that the missile moves further?
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
how about uploading the code here? would make it alot more easier for us to tell you what to do.
 

Ashlebede

New Member
Reaction score
43
Point with polar offset?

Trigger:
  • Set loc = ((Target point of ability being cast) offset by 100.00 towards (Angle from (Position of (Triggering unit)) to (Target point of ability being cast)) degrees)


Ta-Daa! :D (Now remove the leaks)
 

xAnaMorphine

Active Member
Reaction score
43
Point with polar offset?

Trigger:
  • Set loc = ((Target point of ability being cast) offset by 100.00 towards (Angle from (Position of (Triggering unit)) to (Target point of ability being cast)) degrees)


Ta-Daa! :D (Now remove the leaks)

Heh, I came with this up so far.
Does Offset leak btw?

Trigger:
  • Trigger
    • Set TEMP_Point = (Target point of ability being cast)
    • Set loc = (TEMP_Point offset by 100.00 towards (Angle from (Position of (Triggering unit)) to TEMP_Point) degrees)
    • Custom script: call RemoveLocation(udg_TEMP_Point)
    • Custom script: call RemoveLocation(udg_loc)
 

Crazy_Dead

New Member
Reaction score
24
(TEMP_Point offset by 100.00 towards (Angle from (Position of (Triggering unit)) to TEMP_Point) degrees)

All of you who says triggering dont leak, you are maybe right. NO idea.

But I always make a variable to Triggering Unit also. :)
 

xAnaMorphine

Active Member
Reaction score
43
problem is, it wont work because the missile will always run into the middle of the map somehow
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Please show the entire code for the spell...

And also, there is still a leak there:
Trigger:
  • Set TempPoint = (Position of (Triggering unit))
    • Set TEMP_Point = (Target point of ability being cast)
    • Set loc = (TEMP_Point offset by 100.00 towards (Angle from TempPoint to TEMP_Point) degrees)
    • Custom script: call RemoveLocation(udg_TempPoint)
    • Custom script: call RemoveLocation(udg_TEMP_Point)
    • Custom script: call RemoveLocation(udg_loc)
 

xAnaMorphine

Active Member
Reaction score
43
okay here is the whole system
http://www.hiveworkshop.com/forums/...6279/?prev=search=jeffq%20missile&d=list&r=20

Trigger:
  • QJS Hash Table
    • Ereignisse
      • Map initialization
    • Bedingungen
    • Aktionen
      • Hashtabelle - Create a hashtable
      • Set QJS_arrowTable = (Last created hashtable)



Trigger:
  • QJS AttackDamageType
    • Ereignisse
      • Zeit - Elapsed game time is 0.00 seconds
    • Bedingungen
    • Aktionen
      • -------- Attack Type Presets --------
      • Set QJS_atkTypePreset[0] = Zaubersprüche
      • Set QJS_atkTypePreset[1] = Normal
      • Set QJS_atkTypePreset[2] = Durchbohren
      • Set QJS_atkTypePreset[3] = Belagerung
      • Set QJS_atkTypePreset[4] = Magie
      • Set QJS_atkTypePreset[5] = Chaos
      • Set QJS_atkTypePreset[6] = Held
      • -------- Damage Type Presets --------
      • Set QJS_dmgTypePreset[0] = Unbekannt
      • Set QJS_dmgTypePreset[1] = Normal
      • Set QJS_dmgTypePreset[2] = Erweitert
      • Set QJS_dmgTypePreset[3] = Feuer
      • Set QJS_dmgTypePreset[4] = Kälte
      • Set QJS_dmgTypePreset[5] = Blitz
      • Set QJS_dmgTypePreset[6] = Gift
      • Set QJS_dmgTypePreset[7] = Seuche
      • Set QJS_dmgTypePreset[8] = Göttlich
      • Set QJS_dmgTypePreset[9] = Magie
      • Set QJS_dmgTypePreset[10] = Schall
      • Set QJS_dmgTypePreset[11] = Säure
      • Set QJS_dmgTypePreset[12] = Gewalt
      • Set QJS_dmgTypePreset[13] = Tod
      • Set QJS_dmgTypePreset[14] = Geist
      • Set QJS_dmgTypePreset[15] = Pflanze
      • Set QJS_dmgTypePreset[16] = Defensiv
      • Set QJS_dmgTypePreset[17] = Demolierung
      • Set QJS_dmgTypePreset[18] = Schleichendes Gift
      • Set QJS_dmgTypePreset[19] = Geistverbindung
      • Set QJS_dmgTypePreset[20] = Schattenschlag
      • Set QJS_dmgTypePreset[21] = Allgemein


Trigger:
  • Arrow Create
    • Ereignisse
    • Bedingungen
    • Aktionen
      • Set QJS_tempPos = (Position of QJ_Caster)
      • -------- Create Arrow Unit for Caster --------
      • Einheit - Create 1 QJ_Model for (Owner of QJ_Caster) at QJS_tempPos facing (Facing of QJ_Caster) degrees
      • Animation - Change (Last created unit)&#039;s size to ((100.00 x QJ_Size)%, (100.00 x QJ_Size)%, ((100.00 x QJ_Size) + 1.00)%) of its original size
      • -------- Homing Limit for Target Unit only --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • &#039;IF&#039;-Bedingungen
          • QJ_TargetUnit Gleich Keine Einheit
        • &#039;THEN&#039;-Aktionen
          • Set QJ_Homing = False
        • &#039;ELSE&#039;-Aktionen
      • -------- Attack Type ID Limit --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • &#039;IF&#039;-Bedingungen
          • Or - Any (Conditions) are true
            • Bedingungen
              • QJ_attackTypeID Größer als 6
              • QJ_attackTypeID Kleiner als 0
        • &#039;THEN&#039;-Aktionen
          • Set QJ_attackTypeID = 0
        • &#039;ELSE&#039;-Aktionen
      • -------- Damage Type Limit --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • &#039;IF&#039;-Bedingungen
          • Or - Any (Conditions) are true
            • Bedingungen
              • QJ_damageTypeID Größer als 21
              • QJ_attackTypeID Kleiner als 0
        • &#039;THEN&#039;-Aktionen
          • Set QJ_damageTypeID = 0
        • &#039;ELSE&#039;-Aktionen
      • -------- Save stuff to hashtable of Arrow System --------
      • -------- Target Unit or Target Position --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • &#039;IF&#039;-Bedingungen
          • QJ_TargetUnit Gleich Keine Einheit
        • &#039;THEN&#039;-Aktionen
          • -------- Target Point --------
          • -------- Calculate Distance and Angle --------
          • Set QJS_Angle = (Angle from QJS_tempPos to QJ_TargetPoint)
          • Set QJS_Distance = (Distance between QJS_tempPos and QJ_TargetPoint)
        • &#039;ELSE&#039;-Aktionen
          • Set QJS_tempPos_Target = (Position of QJ_TargetUnit)
          • -------- Target Unit --------
          • Set QJS_Angle = (Angle from QJS_tempPos to QJS_tempPos_Target)
          • Set QJS_Distance = (Distance between QJS_tempPos and QJS_tempPos_Target)
          • -------- Save Victim --------
          • Hashtabelle - Save Handle OfQJ_TargetUnit as (Key victim) of (Key (Last created unit)) in QJS_arrowTable
          • -------- Clear --------
          • Custom script: call RemoveLocation(udg_QJS_tempPos_Target)
      • -------- Save Caster --------
      • Hashtabelle - Save Handle OfQJ_Caster as (Key caster) of (Key (Last created unit)) in QJS_arrowTable
      • -------- Save if Homing is False --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • &#039;IF&#039;-Bedingungen
          • QJ_Homing Gleich False
        • &#039;THEN&#039;-Aktionen
          • -------- Save Angle --------
          • Hashtabelle - Save QJS_Angle as (Key angle) of (Key (Last created unit)) in QJS_arrowTable
          • -------- Save Distance --------
          • Hashtabelle - Save QJS_Distance as (Key dist) of (Key (Last created unit)) in QJS_arrowTable
        • &#039;ELSE&#039;-Aktionen
      • -------- Save Damage --------
      • Hashtabelle - Save QJ_Damage as (Key dmg) of (Key (Last created unit)) in QJS_arrowTable
      • -------- Save Speed --------
      • Hashtabelle - Save QJ_Speed as (Key spd) of (Key (Last created unit)) in QJS_arrowTable
      • -------- Save Attack Type ID --------
      • Hashtabelle - Save QJ_attackTypeID as (Key atkid) of (Key (Last created unit)) in QJS_arrowTable
      • -------- Save Damage Type ID --------
      • Hashtabelle - Save QJ_damageTypeID as (Key dmgid) of (Key (Last created unit)) in QJS_arrowTable
      • -------- Collision --------
      • Hashtabelle - Save QJ_Collision as (Key collision) of (Key (Last created unit)) in QJS_arrowTable
      • -------- Homing --------
      • Hashtabelle - Save QJ_Homing as (Key homing) of (Key (Last created unit)) in QJS_arrowTable
      • -------- AoE --------
      • Hashtabelle - Save QJ_AoE as (Key aoe) of (Key (Last created unit)) in QJS_arrowTable
      • -------- Save AoE Radius / AoE Effect --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • &#039;IF&#039;-Bedingungen
          • QJ_AoE Gleich True
        • &#039;THEN&#039;-Aktionen
          • -------- Save AoE Radius --------
          • Hashtabelle - Save QJ_AoERadius as (Key aoeradius) of (Key (Last created unit)) in QJS_arrowTable
          • -------- Save AoE Effect --------
          • Hashtabelle - Save QJ_AoESFX as (Key aoesfx) of (Key (Last created unit)) in QJS_arrowTable
        • &#039;ELSE&#039;-Aktionen
      • -------- Pierce --------
      • Hashtabelle - Save QJ_Pierce as (Key pierce) of (Key (Last created unit)) in QJS_arrowTable
      • -------- Save Pierce Damaged Group (Empty) --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • &#039;IF&#039;-Bedingungen
          • QJ_Pierce Gleich True
        • &#039;THEN&#039;-Aktionen
          • Custom script: set udg_QJS_DamagedGroup = CreateGroup()
          • Hashtabelle - Save Handle OfQJS_DamagedGroup as (Key dgroup) of (Key (Last created unit)) in QJS_arrowTable
        • &#039;ELSE&#039;-Aktionen
      • -------- Turn Collision for Arrow Off --------
      • Einheit - Turn collision for (Last created unit) Aus
      • -------- Add arrow unit to group --------
      • Einheitengruppe - Add (Last created unit) to QJS_arrowGroup
      • -------- Turn On Move --------
      • Auslöser - Turn on Arrow Move &lt;gen&gt;
      • -------- Clear --------
      • Custom script: call RemoveLocation(udg_QJS_tempPos)


Trigger:
  • Arrow Move
    • Ereignisse
      • Zeit - Every 0.03 seconds of game time
    • Bedingungen
    • Aktionen
      • -------- Pick every unit in arrow group --------
      • Einheitengruppe - Pick every unit in QJS_arrowGroup and do (Actions)
        • Schleifen - Aktionen
          • -------- Load values --------
          • -------- Load Caster --------
          • Set QJ_Caster = (Load (Key caster) of (Key (Picked unit)) in QJS_arrowTable)
          • -------- Load Victim --------
          • Set QJ_TargetUnit = (Load (Key victim) of (Key (Picked unit)) in QJS_arrowTable)
          • -------- Load Damage --------
          • Set QJ_Damage = (Load (Key dmg) of (Key (Picked unit)) from QJS_arrowTable)
          • -------- Load Speed --------
          • Set QJ_Speed = (Load (Key spd) of (Key (Picked unit)) from QJS_arrowTable)
          • -------- Load Attack Type ID --------
          • Set QJ_attackTypeID = (Load (Key atkid) of (Key (Picked unit)) from QJS_arrowTable)
          • -------- Load Damage Type ID --------
          • Set QJ_damageTypeID = (Load (Key dmgid) of (Key (Picked unit)) from QJS_arrowTable)
          • -------- Load Collision --------
          • Set QJ_Collision = (Load (Key collision) of (Key (Picked unit)) from QJS_arrowTable)
          • -------- Load AoE --------
          • Set QJ_AoE = (Load (Key aoe) of (Key (Picked unit)) from QJS_arrowTable)
          • -------- Load Homing --------
          • Set QJ_Homing = (Load (Key homing) of (Key (Picked unit)) from QJS_arrowTable)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • &#039;IF&#039;-Bedingungen
              • QJ_Homing Gleich True
            • &#039;THEN&#039;-Aktionen
              • -------- Set Position --------
              • Set QJS_arrowPos = (Position of (Picked unit))
              • Set QJS_victimPos = (Position of QJ_TargetUnit)
              • -------- Update Angle &amp; Distance --------
              • Set QJS_Angle = (Angle from QJS_arrowPos to QJS_victimPos)
              • Set QJS_Distance = (Distance between QJS_arrowPos and QJS_victimPos)
              • -------- Distance - 50 if not Bug --------
              • Set QJS_Distance = (QJS_Distance - 50.00)
              • -------- Clear --------
              • Custom script: call RemoveLocation(udg_QJS_arrowPos)
              • Custom script: call RemoveLocation(udg_QJS_victimPos)
            • &#039;ELSE&#039;-Aktionen
              • -------- Load Angle --------
              • Set QJS_Angle = (Load (Key angle) of (Key (Picked unit)) from QJS_arrowTable)
              • -------- Load Distance --------
              • Set QJS_Distance = (Load (Key dist) of (Key (Picked unit)) from QJS_arrowTable)
          • -------- Load Pierce --------
          • Set QJ_Pierce = (Load (Key pierce) of (Key (Picked unit)) from QJS_arrowTable)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • &#039;IF&#039;-Bedingungen
              • QJ_Pierce Gleich True
            • &#039;THEN&#039;-Aktionen
              • Set QJS_DamagedGroup = (Load (Key dgroup) of (Key (Picked unit)) in QJS_arrowTable)
            • &#039;ELSE&#039;-Aktionen
          • -------- Movement --------
          • Set QJS_tempPos = (Position of (Picked unit))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • &#039;IF&#039;-Bedingungen
              • QJS_Distance Größer als 0.00
            • &#039;THEN&#039;-Aktionen
              • -------- Move Position --------
              • Set QJS_movePos = (QJS_tempPos offset by QJ_Speed towards QJS_Angle degrees)
              • -------- Collision --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • &#039;IF&#039;-Bedingungen
                  • QJ_Collision Gleich True
                • &#039;THEN&#039;-Aktionen
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • &#039;IF&#039;-Bedingungen
                      • (Terrain pathing at QJS_movePos of type Begehbarkeit is off) Gleich True
                    • &#039;THEN&#039;-Aktionen
                      • -------- Hit Cliff/Rock --------
                      • Schwebender Text - Create floating text that reads Hit Obstacle! at QJS_movePos with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                      • Schwebender Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                      • Schwebender Text - Change (Last created floating text): Deaktivieren permanence
                      • Schwebender Text - Change the fading age of (Last created floating text) to 1.00 seconds
                      • Schwebender Text - Change the lifespan of (Last created floating text) to 1.50 seconds
                      • -------- If Pierce = False --------
                      • -------- Don&#039;t Do damage as pierce arrow will do damage while moving. --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • &#039;IF&#039;-Bedingungen
                          • QJ_Pierce Gleich False
                        • &#039;THEN&#039;-Aktionen
                          • -------- Deal Damage If AoE is On --------
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • &#039;IF&#039;-Bedingungen
                              • QJ_AoE Gleich True
                            • &#039;THEN&#039;-Aktionen
                              • -------- Attack Type ID Coversion --------
                              • Set QJS_AttackType = QJS_atkTypePreset[QJ_attackTypeID]
                              • -------- Damage Type ID Coversion --------
                              • Set QJS_DamageType = QJS_dmgTypePreset[QJ_damageTypeID]
                              • -------- Load AoE Radius --------
                              • Set QJ_AoERadius = (Load (Key aoeradius) of (Key (Picked unit)) from QJS_arrowTable)
                              • -------- Load Effect --------
                              • Set QJ_AoESFX = (Load (Key aoesfx) of (Key (Picked unit)) from QJS_arrowTable)
                              • -------- Create AoE Effect --------
                              • Spezialeffekt - Create a special effect at QJS_movePos using QJ_AoESFX
                              • Spezialeffekt - Destroy (Last created special effect)
                              • -------- Set Victim Group in AoE Range --------
                              • Set QJS_victimGroup = (Units within QJ_AoERadius of QJS_movePos matching ((((Matching unit) is alive) Gleich True) and (((Matching unit) belongs to an enemy of (Owner of QJ_Caster)) Gleich True)))
                              • -------- Damage --------
                              • Einheitengruppe - Pick every unit in QJS_victimGroup and do (Actions)
                                • Schleifen - Aktionen
                                  • Einheit - Cause QJ_Caster to damage (Picked unit), dealing QJ_Damage damage of attack type QJS_AttackType and damage type QJS_DamageType
                            • &#039;ELSE&#039;-Aktionen
                              • -------- No Damage if AoE off --------
                        • &#039;ELSE&#039;-Aktionen
                          • -------- If Pierce True, clear off Damaged Group --------
                          • Einheitengruppe - Remove all units from QJS_DamagedGroup
                          • Custom script: call DestroyGroup(udg_QJS_DamagedGroup)
                      • -------- Turn Collision for Arrow On --------
                      • Einheit - Turn collision for (Picked unit) Ein
                      • -------- Kill Arrow --------
                      • Einheit - Kill (Picked unit)
                      • -------- Remove from Arrow Group --------
                      • Einheitengruppe - Remove (Picked unit) from QJS_arrowGroup
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • &#039;IF&#039;-Bedingungen
                          • (Number of units in QJS_arrowGroup) Gleich 0
                        • &#039;THEN&#039;-Aktionen
                          • Auslöser - Turn off (This trigger)
                        • &#039;ELSE&#039;-Aktionen
                      • -------- Clear Hash Table --------
                      • Hashtabelle - Clear all child hashtables of child (Key (Picked unit)) in QJS_arrowTable
                      • -------- Clear --------
                      • Custom script: call RemoveLocation(udg_QJS_movePos)
                    • &#039;ELSE&#039;-Aktionen
                      • -------- Move Arrow --------
                      • Einheit - Move (Picked unit) instantly to QJS_movePos, facing QJS_Angle degrees
                      • -------- Update Distance --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • &#039;IF&#039;-Bedingungen
                          • QJ_Homing Gleich False
                        • &#039;THEN&#039;-Aktionen
                          • Hashtabelle - Save (QJS_Distance - QJ_Speed) as (Key dist) of (Key (Picked unit)) in QJS_arrowTable
                        • &#039;ELSE&#039;-Aktionen
                      • -------- If Pierce = True --------
                      • -------- Do Damage --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • &#039;IF&#039;-Bedingungen
                          • QJ_Pierce Gleich True
                        • &#039;THEN&#039;-Aktionen
                          • -------- Attack Type ID Coversion --------
                          • Set QJS_AttackType = QJS_atkTypePreset[QJ_attackTypeID]
                          • -------- Damage Type ID Coversion --------
                          • Set QJS_DamageType = QJS_dmgTypePreset[QJ_damageTypeID]
                          • -------- Check for AoE --------
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • &#039;IF&#039;-Bedingungen
                              • QJ_AoE Gleich True
                            • &#039;THEN&#039;-Aktionen
                              • -------- Load AoE Radius --------
                              • Set QJ_AoERadius = (Load (Key aoeradius) of (Key (Picked unit)) from QJS_arrowTable)
                              • -------- Load Effect --------
                              • Set QJ_AoESFX = (Load (Key aoesfx) of (Key (Picked unit)) from QJS_arrowTable)
                            • &#039;ELSE&#039;-Aktionen
                              • -------- AoE Radius = Default, 150 --------
                              • Set QJ_AoERadius = 150.00
                          • -------- Set Victim Group --------
                          • Set QJS_victimGroup = (Units within QJ_AoERadius of QJS_movePos matching ((((Matching unit) is alive) Gleich True) and ((((Matching unit) belongs to an enemy of (Owner of QJ_Caster)) Gleich True) and (((Matching unit) is in QJS_DamagedGroup) Gleich False))))
                          • Einheitengruppe - Pick every unit in QJS_victimGroup and do (Actions)
                            • Schleifen - Aktionen
                              • Set QJS_victimPos = (Position of (Picked unit))
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • &#039;IF&#039;-Bedingungen
                                  • QJ_AoE Gleich True
                                • &#039;THEN&#039;-Aktionen
                                  • -------- Create AoE Effect --------
                                  • Spezialeffekt - Create a special effect at QJS_victimPos using QJ_AoESFX
                                  • Spezialeffekt - Destroy (Last created special effect)
                                • &#039;ELSE&#039;-Aktionen
                              • -------- Damage --------
                              • Einheit - Cause QJ_Caster to damage (Picked unit), dealing QJ_Damage damage of attack type QJS_AttackType and damage type QJS_DamageType
                              • -------- Damage Text --------
                              • Schwebender Text - Create floating text that reads Hit! at QJS_victimPos with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                              • Schwebender Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                              • Schwebender Text - Change (Last created floating text): Deaktivieren permanence
                              • Schwebender Text - Change the fading age of (Last created floating text) to 1.00 seconds
                              • Schwebender Text - Change the lifespan of (Last created floating text) to 1.50 seconds
                              • -------- Add to Damage Group --------
                              • Einheitengruppe - Add (Picked unit) to QJS_DamagedGroup
                              • -------- Clear --------
                              • Custom script: call RemoveLocation(udg_QJS_victimPos)
                          • -------- Update Damaged Group in Hash Table --------
                          • Hashtabelle - Save Handle OfQJS_DamagedGroup as (Key dgroup) of (Key (Picked unit)) in QJS_arrowTable
                          • -------- Clear --------
                          • Custom script: call DestroyGroup(udg_QJS_victimGroup)
                        • &#039;ELSE&#039;-Aktionen
                • &#039;ELSE&#039;-Aktionen
                  • -------- Move Arrow --------
                  • Einheit - Move (Picked unit) instantly to QJS_movePos, facing QJS_Angle degrees
                  • -------- Update Distance --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • &#039;IF&#039;-Bedingungen
                      • QJ_Homing Gleich False
                    • &#039;THEN&#039;-Aktionen
                      • Hashtabelle - Save (QJS_Distance - QJ_Speed) as (Key dist) of (Key (Picked unit)) in QJS_arrowTable
                    • &#039;ELSE&#039;-Aktionen
                  • -------- If Pierce = True --------
                  • -------- Do Damage --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • &#039;IF&#039;-Bedingungen
                      • QJ_Pierce Gleich True
                    • &#039;THEN&#039;-Aktionen
                      • -------- Attack Type ID Coversion --------
                      • Set QJS_AttackType = QJS_atkTypePreset[QJ_attackTypeID]
                      • -------- Damage Type ID Coversion --------
                      • Set QJS_DamageType = QJS_dmgTypePreset[QJ_damageTypeID]
                      • -------- Check for AoE --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • &#039;IF&#039;-Bedingungen
                          • QJ_AoE Gleich True
                        • &#039;THEN&#039;-Aktionen
                          • -------- Load AoE Radius --------
                          • Set QJ_AoERadius = (Load (Key aoeradius) of (Key (Picked unit)) from QJS_arrowTable)
                          • -------- Load Effect --------
                          • Set QJ_AoESFX = (Load (Key aoesfx) of (Key (Picked unit)) from QJS_arrowTable)
                        • &#039;ELSE&#039;-Aktionen
                          • -------- AoE Radius = Default, 150 --------
                          • Set QJ_AoERadius = 150.00
                      • -------- Set Victim Group --------
                      • Set QJS_victimGroup = (Units within QJ_AoERadius of QJS_movePos matching ((((Matching unit) is alive) Gleich True) and ((((Matching unit) belongs to an enemy of (Owner of QJ_Caster)) Gleich True) and (((Matching unit) is in QJS_DamagedGroup) Gleich False))))
                      • Einheitengruppe - Pick every unit in QJS_victimGroup and do (Actions)
                        • Schleifen - Aktionen
                          • Set QJS_victimPos = (Position of (Picked unit))
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • &#039;IF&#039;-Bedingungen
                              • QJ_AoE Gleich True
                            • &#039;THEN&#039;-Aktionen
                              • -------- Create AoE Effect --------
                              • Spezialeffekt - Create a special effect at QJS_victimPos using QJ_AoESFX
                              • Spezialeffekt - Destroy (Last created special effect)
                            • &#039;ELSE&#039;-Aktionen
                          • -------- Damage --------
                          • Einheit - Cause QJ_Caster to damage (Picked unit), dealing QJ_Damage damage of attack type QJS_AttackType and damage type QJS_DamageType
                          • -------- Damage Text --------
                          • Schwebender Text - Create floating text that reads Hit! at QJS_victimPos with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                          • Schwebender Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                          • Schwebender Text - Change (Last created floating text): Deaktivieren permanence
                          • Schwebender Text - Change the fading age of (Last created floating text) to 1.00 seconds
                          • Schwebender Text - Change the lifespan of (Last created floating text) to 1.50 seconds
                          • -------- Add to Damage Group --------
                          • Einheitengruppe - Add (Picked unit) to QJS_DamagedGroup
                          • -------- Clear --------
                          • Custom script: call RemoveLocation(udg_QJS_victimPos)
                      • -------- Update Damaged Group in Hash Table --------
                      • Hashtabelle - Save Handle OfQJS_DamagedGroup as (Key dgroup) of (Key (Picked unit)) in QJS_arrowTable
                      • -------- Clear --------
                      • Custom script: call DestroyGroup(udg_QJS_victimGroup)
                    • &#039;ELSE&#039;-Aktionen
              • -------- Clear --------
              • Custom script: call RemoveLocation(udg_QJS_movePos)
            • &#039;ELSE&#039;-Aktionen
              • -------- End --------
              • -------- Pierce = False --------
              • -------- Remove End Damage as Moving will do Damage --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • &#039;IF&#039;-Bedingungen
                  • QJ_Pierce Gleich False
                • &#039;THEN&#039;-Aktionen
                  • -------- Attack Type ID Coversion --------
                  • Set QJS_AttackType = QJS_atkTypePreset[QJ_attackTypeID]
                  • -------- Damage Type ID Coversion --------
                  • Set QJS_DamageType = QJS_dmgTypePreset[QJ_damageTypeID]
                  • -------- Position of Arrow --------
                  • Set QJS_arrowPos = (Position of (Picked unit))
                  • -------- Deal Damage --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • &#039;IF&#039;-Bedingungen
                      • QJ_TargetUnit Gleich Keine Einheit
                    • &#039;THEN&#039;-Aktionen
                      • -------- Target Point --------
                      • -------- Check for AoE or Single Target --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • &#039;IF&#039;-Bedingungen
                          • QJ_AoE Gleich True
                        • &#039;THEN&#039;-Aktionen
                          • -------- AOE --------
                          • -------- Load AoE Radius --------
                          • Set QJ_AoERadius = (Load (Key aoeradius) of (Key (Picked unit)) from QJS_arrowTable)
                          • -------- Load Effect --------
                          • Set QJ_AoESFX = (Load (Key aoesfx) of (Key (Picked unit)) from QJS_arrowTable)
                          • -------- Create AoE Effect --------
                          • Spezialeffekt - Create a special effect at QJS_arrowPos using QJ_AoESFX
                          • Spezialeffekt - Destroy (Last created special effect)
                          • -------- Set Victim Group in AoE Range --------
                          • Set QJS_victimGroup = (Units within QJ_AoERadius of QJS_arrowPos matching ((((Matching unit) is alive) Gleich True) and (((Matching unit) belongs to an enemy of (Owner of QJ_Caster)) Gleich True)))
                          • -------- Damage --------
                          • Einheitengruppe - Pick every unit in QJS_victimGroup and do (Actions)
                            • Schleifen - Aktionen
                              • Einheit - Cause QJ_Caster to damage (Picked unit), dealing QJ_Damage damage of attack type QJS_AttackType and damage type QJS_DamageType
                          • -------- Clear --------
                          • Custom script: call DestroyGroup(udg_QJS_victimGroup)
                        • &#039;ELSE&#039;-Aktionen
                          • -------- Single Target --------
                          • -------- Set Victim Group --------
                          • Set QJS_victimGroup = (Units within 150.00 of QJS_arrowPos matching ((((Matching unit) is alive) Gleich True) and (((Matching unit) belongs to an enemy of (Owner of QJ_Caster)) Gleich True)))
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • &#039;IF&#039;-Bedingungen
                              • (Number of units in QJS_victimGroup) Größer als 0
                            • &#039;THEN&#039;-Aktionen
                              • Einheit - Cause QJ_Caster to damage (Random unit from QJS_victimGroup), dealing QJ_Damage damage of attack type QJS_AttackType and damage type QJS_DamageType
                            • &#039;ELSE&#039;-Aktionen
                          • -------- Clear --------
                          • Custom script: call DestroyGroup(udg_QJS_victimGroup)
                    • &#039;ELSE&#039;-Aktionen
                      • -------- Target Unit --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • &#039;IF&#039;-Bedingungen
                          • QJ_AoE Gleich True
                        • &#039;THEN&#039;-Aktionen
                          • -------- AOE --------
                          • -------- Load AoE Radius --------
                          • Set QJ_AoERadius = (Load (Key aoeradius) of (Key (Picked unit)) from QJS_arrowTable)
                          • -------- Load Effect --------
                          • Set QJ_AoESFX = (Load (Key aoesfx) of (Key (Picked unit)) from QJS_arrowTable)
                          • -------- Create AoE Effect --------
                          • Spezialeffekt - Create a special effect at QJS_arrowPos using QJ_AoESFX
                          • Spezialeffekt - Destroy (Last created special effect)
                          • -------- Set Victim Group in AoE Range --------
                          • Set QJS_victimGroup = (Units within QJ_AoERadius of QJS_arrowPos matching ((((Matching unit) is alive) Gleich True) and (((Matching unit) belongs to an enemy of (Owner of QJ_Caster)) Gleich True)))
                          • -------- Damage --------
                          • Einheitengruppe - Pick every unit in QJS_victimGroup and do (Actions)
                            • Schleifen - Aktionen
                              • Einheit - Cause QJ_Caster to damage (Picked unit), dealing QJ_Damage damage of attack type QJS_AttackType and damage type QJS_DamageType
                          • -------- Clear --------
                          • Custom script: call DestroyGroup(udg_QJS_victimGroup)
                        • &#039;ELSE&#039;-Aktionen
                          • -------- Single Target --------
                          • -------- Set Victim Group --------
                          • Set QJS_victimGroup = (Units within 150.00 of QJS_arrowPos matching ((Matching unit) Gleich QJ_TargetUnit))
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • &#039;IF&#039;-Bedingungen
                              • (QJ_TargetUnit is alive) Gleich True
                              • (Number of units in QJS_victimGroup) Größer als 0
                            • &#039;THEN&#039;-Aktionen
                              • Einheit - Cause QJ_Caster to damage QJ_TargetUnit, dealing QJ_Damage damage of attack type QJS_AttackType and damage type QJS_DamageType
                            • &#039;ELSE&#039;-Aktionen
                              • -------- Miss. --------
                              • Schwebender Text - Create floating text that reads Miss! at QJS_arrowPos with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                              • Schwebender Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                              • Schwebender Text - Change (Last created floating text): Deaktivieren permanence
                              • Schwebender Text - Change the fading age of (Last created floating text) to 1.00 seconds
                              • Schwebender Text - Change the lifespan of (Last created floating text) to 1.50 seconds
                          • -------- Clear --------
                          • Custom script: call DestroyGroup(udg_QJS_victimGroup)
                • &#039;ELSE&#039;-Aktionen
                  • -------- If Pierce True, clear off Damaged Group --------
                  • Einheitengruppe - Remove all units from QJS_DamagedGroup
                  • Custom script: call DestroyGroup(udg_QJS_DamagedGroup)
              • -------- Clear --------
              • Custom script: call RemoveLocation(udg_QJS_arrowPos)
              • -------- Turn Collision for Arrow On --------
              • Einheit - Turn collision for (Picked unit) Ein
              • -------- Kill Arrow --------
              • Einheit - Kill (Picked unit)
              • -------- Remove from Arrow Group --------
              • Einheitengruppe - Remove (Picked unit) from QJS_arrowGroup
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • &#039;IF&#039;-Bedingungen
                  • (Number of units in QJS_arrowGroup) Gleich 0
                • &#039;THEN&#039;-Aktionen
                  • Auslöser - Turn off (This trigger)
                • &#039;ELSE&#039;-Aktionen
              • -------- Clear Hash Table --------
              • Hashtabelle - Clear all child hashtables of child (Key (Picked unit)) in QJS_arrowTable
          • -------- Clear --------
          • Custom script: call RemoveLocation(udg_QJS_tempPos)


Trigger:
  • Example 4
    • Ereignisse
      • Einheit - A unit Startet den Effekt einer Fähigkeit
    • Bedingungen
      • (Ability being cast) Gleich Example 4
    • Aktionen
      • -------- Set all variables that is needed --------
      • Set QJ_Caster = (Triggering unit)
      • Set QJ_attackTypeID = 5
      • Set QJ_damageTypeID = 21
      • Set QJ_Damage = 250.00
      • Set QJ_Speed = 20.00
      • Set QJ_Model = Dummy 4
      • Set QJ_Size = 3.00
      • Set QJ_TargetUnit = Keine Einheit
      • Set QJ_TargetPoint = (Target point of ability being cast)
      • Set QJ_Homing = False
      • Set QJ_Collision = True
      • Set QJ_Pierce = True
      • Set QJ_AoE = False
      • -------- Run Arrow Create --------
      • Auslöser - Run Arrow Create &lt;gen&gt; (ignoring conditions)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top