• 🏆 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!

Help with copying a spell

Status
Not open for further replies.
Level 7
Joined
Dec 29, 2008
Messages
252
I'm trying to copy a spell to my map but whenever i test the spell, the only SE that shows up is the blood. Here's what the original triggers look like
  • Slicing Finnaly On
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Supreme Slicing
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • SF_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Slicing Finnaly Loop <gen>
        • Else - Actions
      • Set SF_Times = (SF_Times + 1)
      • Set SF_Skip = (SF_Skip + 1)
      • Set SF_Off[SF_Times] = True
      • Set SF_Hero[SF_Times] = (Casting unit)
      • Set SF_Point[0] = (Position of SF_Hero[SF_Times])
      • Set SF_Targeted[SF_Times] = (Target unit of ability being cast)
      • Set SF_Point[1] = (Position of SF_Targeted[SF_Times])
      • -------- ===================================================== --------
      • Set SF_Jumps[SF_Times] = 5
      • -------- Level of Supreme Slicing --------
      • Set SF_Slices[SF_Times] = ((Level of Supreme Slicing for SF_Hero[SF_Times]) x 4)
      • Set SF_Damage[SF_Times] = ((Real((Level of Supreme Slicing for SF_Hero[SF_Times]))) x 25.00)
      • -------- ================= --------
      • Set SF_Chase_Begin_Speed[SF_Times] = 13.50
      • Set SF_Slice_Speed[SF_Times] = 20.00
      • Set SF_Max_Dist_Slice[SF_Times] = 500.00
      • Set SF_Slicer_Spin_Slice[SF_Times] = 3.00
      • -------- ===================================================== --------
      • Set SF_Distance_Slice[SF_Times] = 15.00
      • Set SF_Angle[SF_Times] = 0.00
      • Set SF_Steps[SF_Times] = 1
      • Set SF_Comence_Debug[SF_Times] = 0
      • Set SF_Debug_Power[SF_Times] = 0
      • -------- Dummy_for_Map --------
      • Unit - Create 1 Dummy_For_Map for (Owner of SF_Hero[SF_Times]) at SF_Point[0] facing (Facing of SF_Hero[SF_Times]) degrees
      • -------- ============= --------
      • Set SF_Dummy[SF_Times] = (Last created unit)
      • Special Effect - Create a special effect attached to the chest of SF_Dummy[SF_Times] using Abilities\Weapons\SentinelMissile\SentinelMissile.mdl
      • Set SF_SpecialEffect[SF_Times] = (Last created special effect)
      • Special Effect - Create a special effect attached to the chest of SF_Dummy[SF_Times] using Abilities\Spells\Other\HealingSpray\HealBottleMissile.mdl
      • Set SF_SpecialEffect2[SF_Times] = (Last created special effect)
      • Custom script: call RemoveLocation(udg_SF_Point[0])
      • Custom script: call RemoveLocation(udg_SF_Point[1])
  • Slicing Finnaly Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • For each (Integer SC) from 1 to SF_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • SF_Off[SC] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • SF_Jumps[SC] Equal to 0
                • Then - Actions
                  • Set SF_Skip = (SF_Skip - 1)
                  • Set SF_Off[SC] = False
                  • Special Effect - Destroy SF_SpecialEffect[SC]
                  • Special Effect - Destroy SF_SpecialEffect2[SC]
                  • Unit - Add a 0.01 second Generic expiration timer to SF_Dummy[SC]
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • SF_Skip Equal to 0
                    • Then - Actions
                      • Set SF_Times = 0
                      • Trigger - Turn off Slicing Finnaly Loop <gen>
                    • Else - Actions
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • SF_Slices[SC] Equal to 0
                          • (SF_Targeted[SC] is dead) Equal to True
                    • Then - Actions
                      • Set SF_Jumps[SC] = (SF_Jumps[SC] - 1)
                      • -------- Level of Supreme Slicing --------
                      • Set SF_Slices[SC] = ((Level of Supreme Slicing for SF_Hero[SC]) x 4)
                      • -------- ============== --------
                      • Set SF_Point[6] = (Position of SF_Dummy[SC])
                      • Set SF_Group[SC] = (Units within 500.00 of SF_Point[6] matching (((Owner of (Matching unit)) Not equal to (Owner of SF_Hero[SC])) and (((Matching unit) Not equal to SF_Targeted[SC]) and (((Matching unit) is alive) Equal to True))))
                      • Set SF_Targeted[SC] = No unit
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Number of units in SF_Group[SC]) Equal to 0
                        • Then - Actions
                          • Set SF_Jumps[SC] = 0
                        • Else - Actions
                          • Set SF_Targeted[SC] = (Random unit from SF_Group[SC])
                          • Set SF_Debug_Power[SC] = 0
                      • Custom script: call DestroyGroup(udg_SF_Group[udg_SC])
                      • Custom script: call RemoveLocation(udg_SF_Point[6])
                    • Else - Actions
                      • Set SF_Point[2] = (Position of SF_Targeted[SC])
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • SF_Debug_Power[SC] Equal to 0
                        • Then - Actions
                          • Set SF_Point[3] = (Position of SF_Dummy[SC])
                          • Set SF_Point[4] = (SF_Point[3] offset by SF_Chase_Begin_Speed[SC] towards (Angle from SF_Point[3] to SF_Point[2]) degrees)
                          • Unit - Move SF_Dummy[SC] instantly to SF_Point[4]
                          • Unit - Make SF_Dummy[SC] face (Angle from SF_Point[3] to SF_Point[2]) over 0.02 seconds
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Distance between SF_Point[2] and SF_Point[3]) Less than or equal to 15.00
                            • Then - Actions
                              • Set SF_Angle[SC] = (Random angle)
                              • Set SF_Comence_Debug[SC] = (Random integer number between 1 and 2)
                              • Set SF_Slices[SC] = (SF_Slices[SC] - 1)
                              • Unit - Cause SF_Dummy[SC] to damage SF_Targeted[SC], dealing SF_Damage[SC] damage of attack type Spells and damage type Sonic
                              • Special Effect - Create a special effect attached to the chest of SF_Targeted[SC] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
                              • Special Effect - Destroy (Last created special effect)
                              • Set SF_Debug_Power[SC] = 1
                            • Else - Actions
                          • Custom script: call RemoveLocation(udg_SF_Point[3])
                          • Custom script: call RemoveLocation(udg_SF_Point[4])
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • SF_Debug_Power[SC] Equal to 1
                            • Then - Actions
                              • Set SF_Point[5] = (SF_Point[2] offset by SF_Distance_Slice[SC] towards SF_Angle[SC] degrees)
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • SF_Comence_Debug[SC] Equal to 1
                                • Then - Actions
                                  • Set SF_Angle[SC] = (SF_Angle[SC] + SF_Slicer_Spin_Slice[SC])
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • SF_Comence_Debug[SC] Equal to 2
                                    • Then - Actions
                                      • Set SF_Angle[SC] = (SF_Angle[SC] - SF_Slicer_Spin_Slice[SC])
                                    • Else - Actions
                              • Unit - Move SF_Dummy[SC] instantly to SF_Point[5]
                              • Unit - Make SF_Dummy[SC] face SF_Angle[SC] over 0.02 seconds
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • SF_Steps[SC] Equal to 0
                                • Then - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • SF_Distance_Slice[SC] Less than or equal to 15.00
                                    • Then - Actions
                                      • Set SF_Steps[SC] = 1
                                      • Set SF_Angle[SC] = (Random angle)
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • SF_Comence_Debug[SC] Equal to 1
                                        • Then - Actions
                                          • Set SF_Comence_Debug[SC] = 2
                                        • Else - Actions
                                          • Set SF_Comence_Debug[SC] = 1
                                      • Unit - Cause SF_Dummy[SC] to damage SF_Targeted[SC], dealing SF_Damage[SC] damage of attack type Spells and damage type Sonic
                                      • Special Effect - Create a special effect attached to the chest of SF_Targeted[SC] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
                                      • Special Effect - Destroy (Last created special effect)
                                      • Set SF_Slices[SC] = (SF_Slices[SC] - 1)
                                    • Else - Actions
                                      • Set SF_Distance_Slice[SC] = (SF_Distance_Slice[SC] - SF_Slice_Speed[SC])
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • SF_Steps[SC] Equal to 1
                                    • Then - Actions
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • SF_Distance_Slice[SC] Greater than or equal to SF_Max_Dist_Slice[SC]
                                        • Then - Actions
                                          • Set SF_Steps[SC] = 0
                                        • Else - Actions
                                          • Set SF_Distance_Slice[SC] = (SF_Distance_Slice[SC] + SF_Slice_Speed[SC])
                                    • Else - Actions
                              • Custom script: call RemoveLocation(udg_SF_Point[5])
                            • Else - Actions
                      • Custom script: call RemoveLocation(udg_SF_Point[2])
            • Else - Actions
And now here's what it looks like in mine:
  • Slicing Finnaly On
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Cleaving Blade
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • SF_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Slicing Finnaly Loop <gen>
        • Else - Actions
      • Set SF_Times = (SF_Times + 1)
      • Set SF_Skip = (SF_Skip + 1)
      • Set SF_Off[SF_Times] = True
      • Set SF_Hero[SF_Times] = (Casting unit)
      • Set SF_Point[0] = (Position of SF_Hero[SF_Times])
      • Set SF_Targeted[SF_Times] = (Target unit of ability being cast)
      • Set SF_Point[1] = (Position of SF_Targeted[SF_Times])
      • -------- ===================================================== --------
      • Set SF_Jumps[SF_Times] = 5
      • -------- Level of Supreme Slicing --------
      • Set SF_Slices[SF_Times] = ((Level of Cleaving Blade for SF_Hero[SF_Times]) x 4)
      • Set SF_Damage[SF_Times] = ((Real((Level of Cleaving Blade for SF_Hero[SF_Times]))) x 25.00)
      • -------- ================= --------
      • Set SF_Chase_Begin_Speed[SF_Times] = 13.50
      • Set SF_Slice_Speed[SF_Times] = 20.00
      • Set SF_Max_Dist_Slice[SF_Times] = 500.00
      • Set SF_Slicer_Spin_Slice[SF_Times] = 3.00
      • -------- ===================================================== --------
      • Set SF_Distance_Slice[SF_Times] = 15.00
      • Set SF_Angle[SF_Times] = 0.00
      • Set SF_Steps[SF_Times] = 1
      • Set SF_Comence_Debug[SF_Times] = 0
      • Set SF_Debug_Power[SF_Times] = 0
      • -------- Dummy_for_Map --------
      • Unit - Create 1 Dummy_For_Map for (Owner of SF_Hero[SF_Times]) at SF_Point[0] facing (Facing of SF_Hero[SF_Times]) degrees
      • -------- ============= --------
      • Set SF_Dummy[SF_Times] = (Last created unit)
      • Special Effect - Create a special effect attached to the chest of SF_Dummy[SF_Times] using Abilities\Weapons\SentinelMissile\SentinelMissile.mdl
      • Set SF_SpecialEffect[SF_Times] = (Last created special effect)
      • Special Effect - Create a special effect attached to the chest of SF_Dummy[SF_Times] using Abilities\Spells\Other\HealingSpray\HealBottleMissile.mdl
      • Set SF_SpecialEffect2[SF_Times] = (Last created special effect)
      • Custom script: call RemoveLocation(udg_SF_Point[0])
      • Custom script: call RemoveLocation(udg_SF_Point[1])
  • Slicing Finnaly Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • For each (Integer SC) from 1 to SF_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • SF_Off[SC] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • SF_Jumps[SC] Equal to 0
                • Then - Actions
                  • Set SF_Skip = (SF_Skip - 1)
                  • Set SF_Off[SC] = False
                  • Special Effect - Destroy SF_SpecialEffect[SC]
                  • Special Effect - Destroy SF_SpecialEffect2[SC]
                  • Unit - Add a 0.01 second Generic expiration timer to SF_Dummy[SC]
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • SF_Skip Equal to 0
                    • Then - Actions
                      • Set SF_Times = 0
                      • Trigger - Turn off Slicing Finnaly Loop <gen>
                    • Else - Actions
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • SF_Slices[SC] Equal to 0
                          • (SF_Targeted[SC] is dead) Equal to True
                    • Then - Actions
                      • Set SF_Jumps[SC] = (SF_Jumps[SC] - 1)
                      • -------- Level of Supreme Slicing --------
                      • Set SF_Slices[SC] = ((Level of Cleaving Blade for SF_Hero[SC]) x 4)
                      • -------- ============== --------
                      • Set SF_Point[6] = (Position of SF_Dummy[SC])
                      • Set SF_Group[SC] = (Units within 500.00 of SF_Point[6] matching (((Owner of (Matching unit)) Not equal to (Owner of SF_Hero[SC])) and (((Matching unit) Not equal to SF_Targeted[SC]) and (((Matching unit) is alive) Equal to True))))
                      • Set SF_Targeted[SC] = No unit
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Number of units in SF_Group[SC]) Equal to 0
                        • Then - Actions
                          • Set SF_Jumps[SC] = 0
                        • Else - Actions
                          • Set SF_Targeted[SC] = (Random unit from SF_Group[SC])
                          • Set SF_Debug_Power[SC] = 0
                      • Custom script: call DestroyGroup(udg_SF_Group[udg_SC])
                      • Custom script: call RemoveLocation(udg_SF_Point[6])
                    • Else - Actions
                      • Set SF_Point[2] = (Position of SF_Targeted[SC])
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • SF_Debug_Power[SC] Equal to 0
                        • Then - Actions
                          • Set SF_Point[3] = (Position of SF_Dummy[SC])
                          • Set SF_Point[4] = (SF_Point[3] offset by SF_Chase_Begin_Speed[SC] towards (Angle from SF_Point[3] to SF_Point[2]) degrees)
                          • Unit - Move SF_Dummy[SC] instantly to SF_Point[4]
                          • Unit - Make SF_Dummy[SC] face (Angle from SF_Point[3] to SF_Point[2]) over 0.02 seconds
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Distance between SF_Point[2] and SF_Point[3]) Less than or equal to 15.00
                            • Then - Actions
                              • Set SF_Angle[SC] = (Random angle)
                              • Set SF_Comence_Debug[SC] = (Random integer number between 1 and 2)
                              • Set SF_Slices[SC] = (SF_Slices[SC] - 1)
                              • Unit - Cause SF_Dummy[SC] to damage SF_Targeted[SC], dealing SF_Damage[SC] damage of attack type Spells and damage type Sonic
                              • Special Effect - Create a special effect attached to the chest of SF_Targeted[SC] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
                              • Special Effect - Destroy (Last created special effect)
                              • Set SF_Debug_Power[SC] = 1
                            • Else - Actions
                          • Custom script: call RemoveLocation(udg_SF_Point[3])
                          • Custom script: call RemoveLocation(udg_SF_Point[4])
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • SF_Debug_Power[SC] Equal to 1
                            • Then - Actions
                              • Set SF_Point[5] = (SF_Point[2] offset by SF_Distance_Slice[SC] towards SF_Angle[SC] degrees)
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • SF_Comence_Debug[SC] Equal to 1
                                • Then - Actions
                                  • Set SF_Angle[SC] = (SF_Angle[SC] + SF_Slicer_Spin_Slice[SC])
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • SF_Comence_Debug[SC] Equal to 2
                                    • Then - Actions
                                      • Set SF_Angle[SC] = (SF_Angle[SC] - SF_Slicer_Spin_Slice[SC])
                                    • Else - Actions
                              • Unit - Move SF_Dummy[SC] instantly to SF_Point[5]
                              • Unit - Make SF_Dummy[SC] face SF_Angle[SC] over 0.02 seconds
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • SF_Steps[SC] Equal to 0
                                • Then - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • SF_Distance_Slice[SC] Less than or equal to 15.00
                                    • Then - Actions
                                      • Set SF_Steps[SC] = 1
                                      • Set SF_Angle[SC] = (Random angle)
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • SF_Comence_Debug[SC] Equal to 1
                                        • Then - Actions
                                          • Set SF_Comence_Debug[SC] = 2
                                        • Else - Actions
                                          • Set SF_Comence_Debug[SC] = 1
                                      • Unit - Cause SF_Dummy[SC] to damage SF_Targeted[SC], dealing SF_Damage[SC] damage of attack type Spells and damage type Sonic
                                      • Special Effect - Create a special effect attached to the chest of SF_Targeted[SC] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
                                      • Special Effect - Destroy (Last created special effect)
                                      • Set SF_Slices[SC] = (SF_Slices[SC] - 1)
                                    • Else - Actions
                                      • Set SF_Distance_Slice[SC] = (SF_Distance_Slice[SC] - SF_Slice_Speed[SC])
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • SF_Steps[SC] Equal to 1
                                    • Then - Actions
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • SF_Distance_Slice[SC] Greater than or equal to SF_Max_Dist_Slice[SC]
                                        • Then - Actions
                                          • Set SF_Steps[SC] = 0
                                        • Else - Actions
                                          • Set SF_Distance_Slice[SC] = (SF_Distance_Slice[SC] + SF_Slice_Speed[SC])
                                    • Else - Actions
                              • Custom script: call RemoveLocation(udg_SF_Point[5])
                            • Else - Actions
                      • Custom script: call RemoveLocation(udg_SF_Point[2])
            • Else - Actions
I changed the name of the spell from "supreme slicing" to cleaving blade" by the way. just to get rid of any extra confusion

Can anyone spot an error that might mess up the special effect? it damages the target and bounces correctly , it just doesnt show the projectile
 
Last edited:
Status
Not open for further replies.
Top