1. Are you planning to upload your awesome map to Hive? Please review the rules here.
    Dismiss Notice
  2. Find your way through the deepest dungeon in the 18th Mini Mapping Contest Poll.
    Dismiss Notice
  3. A brave new world lies beyond the seven seas. Join the 34th Modeling Contest today!
    Dismiss Notice
  4. 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.

Trigger Viewer

Abandon Hope v2.7b (Full).w3x
Variables
Zanryushiki Iai Ryujinzan
Constant Ryujinzan
Start Ryujinzan
Loop Ryujinzan
Dummy
Dummy
Enter map-specific custom script code below. This text will be included in the map script after variables are declared and before any trigger code.

		
Name Type Is Array Initial Value
Con_RYU_AnimationSpdBase real No
Cons_RYU_AnimationSpdAdd real No
Cons_RYU_Aoe_Add real No
Cons_RYU_Aoe_Base real No
Cons_RYU_Damage_Add real No
Cons_RYU_Damage_Base real No
Cons_RYU_Duration_Add real No
Cons_RYU_Duration_Base real No
Cons_RYU_Interval integer No
Cons_RYU_SpeedAdd real No
Cons_RYU_SpeedBase real No
RYU_Abilities abilcode No
RYU_Animationspd real Yes
RYU_Aoe real Yes
RYU_AttackType attacktype No
RYU_Caster unit Yes
RYU_Damage real Yes
RYU_damagetype damagetype No
RYU_Dummy1 unit Yes
RYU_DummyAnimation string No
RYU_DummyType unitcode No
RYU_GroupUnit unit Yes
RYU_Interval01 integer Yes
RYU_LevelofAbility integer Yes
RYU_Loop_IntergerA integer No
RYU_MUI integer No
RYU_Player player Yes
RYU_Speed real Yes
RYU_Timer real Yes
RYU_Transparency real No
Temp001Group group No
TempPoint001 location No
TempPoint002 location No
TempPoint003 location No
import step


1. Turn on 'Automatically create unknown variables while pasting trigger data' in prefrences (or just simply create all the variable)
2. Import the model or sfx if you want
3. Copy the dummy ronin and change the model if you want
4. Copy the Spell in Object editor
5. Choose the Sfx you want or just use mine in Object editor (Art - Caster)
6. Copy the trigger
7. The dummy trigger can be ignore if your model don't have death sound or you don't bother it.

8. If not working im not sure what happen but you can ask me

Edit the setting in Constant Ryujinzan

make sure Set the abilities

Constant Ryujinzan
  Events
    Map initialization
  Conditions
  Actions
    -------- The dummy unit type (Afterimage) --------
    Set VariableSet RYU_DummyType = h004
    -------- For the special effect just go to the object editor and change it --------
    -------- --------
    -------- Set your Abilities to cast here --------
    Set VariableSet RYU_Abilities = Holy Lightning
    Set VariableSet RYU_AttackType = Spells
    Set VariableSet RYU_damagetype = Normal
    Set VariableSet RYU_Transparency = 50.00
    -------- --------
    -------- Set Your Constant Interval here --------
    -------- Every 0.03 second the interval will minus 1 --------
    -------- and every time the interval reach 0 --------
    -------- It will trigger the action --------
    Set VariableSet Cons_RYU_Interval = 4
    -------- --------
    -------- --------
    -------- here is the aoe --------
    Set VariableSet Cons_RYU_Aoe_Add = 0.00
    Set VariableSet Cons_RYU_Aoe_Base = 250.00
    -------- Base is base Aoe and add is use to times Abilities level --------
    -------- and plus to the base Aoe --------
    -------- --------
    -------- here is the Damage --------
    Set VariableSet Cons_RYU_Damage_Add = 10.00
    Set VariableSet Cons_RYU_Damage_Base = 50.00
    -------- Base is base damage and add is use to times Abilities level --------
    -------- and plus to the base damage --------
    -------- --------
    -------- here is the Duration --------
    Set VariableSet Cons_RYU_Duration_Add = 0.00
    Set VariableSet Cons_RYU_Duration_Base = 50.00
    -------- Base is base Duration and add is use to times Abilities level --------
    -------- and plus to the base Duration --------
    -------- --------
    -------- here is the Animation Speed for the afterimage --------
    Set VariableSet Cons_RYU_AnimationSpdAdd = 0.00
    Set VariableSet Con_RYU_AnimationSpdBase = 200.00
    -------- Base is base Animation Speed and add is use to times Abilities level --------
    -------- and plus to the base Animation Speed --------
    -------- --------
    -------- here is the the range every time knockback --------
    Set VariableSet Cons_RYU_SpeedBase = -10.00
    Set VariableSet Cons_RYU_SpeedAdd = 0.00
    -------- Base is base range and add is use to times Abilities level --------
    -------- and plus to the base Range --------
    -------- --------
    Set VariableSet RYU_DummyAnimation = Spell
Start Ryujinzan
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to RYU_Abilities
  Actions
    -------- MuiIndex + 1 --------
    Set VariableSet RYU_MUI = (RYU_MUI + 1)
    -------- Set the Caster --------
    Set VariableSet RYU_Caster[RYU_MUI] = (Triggering unit)
    -------- Level of Ability of the spell --------
    Set VariableSet RYU_LevelofAbility[RYU_MUI] = (Level of RYU_Abilities for RYU_Caster[RYU_MUI])
    -------- Aoe that done with the base and add thing --------
    Set VariableSet RYU_Aoe[RYU_MUI] = (Cons_RYU_Aoe_Base + (Cons_RYU_Aoe_Add x (Real(RYU_LevelofAbility[RYU_Loop_IntergerA]))))
    -------- Damage that done with the base and add thing --------
    Set VariableSet RYU_Damage[RYU_MUI] = (Cons_RYU_Damage_Base + (Cons_RYU_Damage_Add x (Real(RYU_LevelofAbility[RYU_Loop_IntergerA]))))
    -------- Duration that done with the base and add thing --------
    Set VariableSet RYU_Timer[RYU_MUI] = (Cons_RYU_Duration_Base + (Cons_RYU_Duration_Add x (Real(RYU_LevelofAbility[RYU_Loop_IntergerA]))))
    -------- to make sure you start once the spell cast --------
    Set VariableSet RYU_Interval01[RYU_MUI] = 0
    -------- Animation Speed for afterimage that done with the base and add thing --------
    Set VariableSet RYU_Animationspd[RYU_MUI] = (Con_RYU_AnimationSpdBase + (Cons_RYU_AnimationSpdAdd x (Real(RYU_LevelofAbility[RYU_MUI]))))
    -------- Player of the Caster --------
    Set VariableSet RYU_Player[RYU_MUI] = (Owner of RYU_Caster[RYU_MUI])
    -------- Range for the knockback per second that done with the base and add thing --------
    Set VariableSet RYU_Speed[RYU_MUI] = (Cons_RYU_SpeedBase + (Cons_RYU_SpeedAdd x (Real(RYU_LevelofAbility[RYU_MUI]))))
    -------- Simply turn on the loop --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        RYU_MUI Equal to 1
      Then - Actions
        Trigger - Turn on Loop_Ryujinzan <gen>
      Else - Actions
Loop Ryujinzan
  Events
    Time - Every 0.03 seconds of game time
  Conditions
  Actions
    For each (Integer RYU_Loop_IntergerA) from 1 to RYU_MUI, do (Actions)
      Loop - Actions
        -------- countdown --------
        -------- Duration/Timer --------
        Set VariableSet RYU_Timer[RYU_Loop_IntergerA] = (RYU_Timer[RYU_Loop_IntergerA] - 1)
        -------- Interval --------
        Set VariableSet RYU_Interval01[RYU_Loop_IntergerA] = (RYU_Interval01[RYU_Loop_IntergerA] - 1)
        -------- This is action, but every 0.03 instead of following the interval --------
        Animation - Play RYU_Caster[RYU_Loop_IntergerA]'s Attack Walk Stand Spin (animationname) animation
        -------- ACTION!!! --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            RYU_Interval01[RYU_Loop_IntergerA] Less than or equal to 0
          Then - Actions
            -------- ACTION!!! --------
            -------- Reset Interval so that the action will be done again --------
            Set VariableSet RYU_Interval01[RYU_Loop_IntergerA] = Cons_RYU_Interval
            -------- Position of the caster --------
            Set VariableSet TempPoint001 = (Position of RYU_Caster[RYU_Loop_IntergerA])
            -------- Group --------
            Set VariableSet Temp001Group = (Units within RYU_Aoe[RYU_Loop_IntergerA] of TempPoint001 matching ((((Matching unit) belongs to an enemy of RYU_Player[RYU_Loop_IntergerA].) Equal to True) and (((Matching unit) is dead) Equal to False)).)
            -------- Dummy --------
            Unit - Create 1.RYU_DummyType for RYU_Player[RYU_Loop_IntergerA] at TempPoint001 facing (Random angle) degrees
            Set VariableSet RYU_Dummy1[RYU_Loop_IntergerA] = (Last created unit)
            Unit - Add a 0.40 second Generic expiration timer to RYU_Dummy1[RYU_Loop_IntergerA]
            -------- Make it 50% transparent so it look like afterimage --------
            Animation - Change RYU_Dummy1[RYU_Loop_IntergerA]'s vertex coloring to (100%, 100%, 100%) with RYU_Transparency% transparency
            -------- Animation speed --------
            Animation - Change RYU_Dummy1[RYU_Loop_IntergerA]'s animation speed to RYU_Animationspd[RYU_Loop_IntergerA]% of its original speed
            Animation - Play RYU_Dummy1[RYU_Loop_IntergerA]'s RYU_DummyAnimation animation
            -------- Play Dummy Animation --------
            Animation - Reset RYU_Caster[RYU_Loop_IntergerA]'s animation
            -------- So the caster don't just spin all over --------
            Unit - Move RYU_Caster[RYU_Loop_IntergerA] instantly to TempPoint001, facing (Random angle) degrees
            -------- Turn random face --------
            -------- And make caster stand still (if you think it is) --------
            Unit Group - Pick every unit in Temp001Group and do (Actions)
              Loop - Actions
                -------- Damage and knockback --------
                Set VariableSet RYU_GroupUnit[RYU_Loop_IntergerA] = (Picked unit)
                Set VariableSet TempPoint002 = (Position of RYU_GroupUnit[RYU_Loop_IntergerA])
                Set VariableSet TempPoint003 = (TempPoint002 offset by RYU_Speed[RYU_Loop_IntergerA] towards (Facing of RYU_GroupUnit[RYU_Loop_IntergerA]) degrees.)
                Unit - Move RYU_GroupUnit[RYU_Loop_IntergerA] instantly to TempPoint003, facing TempPoint001
                Unit - Cause RYU_Caster[RYU_Loop_IntergerA] to damage RYU_GroupUnit[RYU_Loop_IntergerA], dealing RYU_Damage[RYU_Loop_IntergerA] damage of attack type RYU_AttackType and damage type RYU_damagetype
                -------- Destroy leak( or not ifyou think is not) --------
                Custom script: call RemoveLocation (udg_TempPoint002)
                Custom script: call RemoveLocation (udg_TempPoint003)
            -------- Destroy leak( or not ifyou think is not) --------
            Custom script: call RemoveLocation (udg_TempPoint001)
            Custom script: call DestroyGroup (udg_Temp001Group)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            RYU_Timer[RYU_Loop_IntergerA] Less than or equal to 0.00
          Then - Actions
            -------- Finish Spell --------
            Animation - Reset RYU_Caster[RYU_Loop_IntergerA]'s animation
            -------- Index elimination and off this trigger if needed --------
            Set VariableSet RYU_Aoe[RYU_Loop_IntergerA] = RYU_Aoe[RYU_MUI]
            Set VariableSet RYU_Caster[RYU_Loop_IntergerA] = RYU_Caster[RYU_MUI]
            Set VariableSet RYU_Damage[RYU_Loop_IntergerA] = RYU_Damage[RYU_MUI]
            Set VariableSet RYU_Interval01[RYU_Loop_IntergerA] = RYU_Interval01[RYU_MUI]
            Set VariableSet RYU_Timer[RYU_Loop_IntergerA] = RYU_Timer[RYU_MUI]
            Set VariableSet RYU_Loop_IntergerA = (RYU_Loop_IntergerA - 1)
            Set VariableSet RYU_MUI = (RYU_MUI - 1)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            RYU_MUI Equal to 0
          Then - Actions
            Trigger - Turn off (This trigger)
          Else - Actions
Dummy
  Events
    Unit - A unit Dies
  Conditions
    (Unit-type of (Triggering unit)) Equal to h004
  Actions
    -------- Remove the disgusting death sound --------
    Unit - Remove (Triggering unit) from the game