- Joined
- Jul 4, 2008
- Messages
- 1,106
Hello, I'm working on another GUI spell now.
I'd greatly appreciate comments/criticism for the Trigger itself.
endnote; The spell should be about 15-30% finished, even though it is only effect spam at this moment.
Summons a pool of boiling blood at the target location, splashing the blood to nearby enemies and burning alive those inside it.
Splash damage: 07.50
- Targets: Air, Ground, Structure
Passive damage: 15.00
- Targets: Ground, Structure
I'd greatly appreciate comments/criticism for the Trigger itself.
-
BloodBath OnCast
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to [W] Blood Bath
-
-

Actions
-


-------- [[ Main Switch ]] --------
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




BloodBath_MainIndex Equal to 0
-
-



Then - Actions
-




Trigger - Turn on BloodBath IndexQueue <gen>
-
-



Else - Actions
-
-


-------- [[ Index ]] --------
-


Set BloodBath_MainIndex = (BloodBath_MainIndex + 1)
-


Set BloodBath_Index = (BloodBath_Index + 1)
-


-------- [[ Setups ]] --------
-


Set BloodBath_Duration[BloodBath_Index] = 30.00
-


Set BloodBath_PoolLocation[BloodBath_Index] = (Target point of ability being cast)
-


Set BloodBath_Caster[BloodBath_Index] = (Triggering unit)
-
-
-
BloodBath IndexQueue
-

Events
-


Time - Every 0.03 seconds of game time
-
-

Conditions
-

Actions
-


Cinematic - Clear the screen of text messages for (All players)
-


For each (Integer BloodBath_Loop) from 1 to BloodBath_Index, do (Actions)
-



Loop - Actions
-




-------- [[ Index is not empty ]] --------
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






BloodBath_Caster[BloodBath_Loop] Not equal to No unit
-
-





Then - Actions
-






Game - Display to (All players) the text: DebugPart: 0x0
-






-------- [[ Index Unit is alive ]] --------
-






If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








(BloodBath_Caster[BloodBath_Loop] is alive) Equal to True
-
-







Then - Actions
-








Game - Display to (All players) the text: DebugPart: 1x0
-








-------- [[ Duration is not over ]] --------
-








If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










BloodBath_Duration[BloodBath_Loop] Greater than 0.00
-
-









Then - Actions
-










Game - Display to (All players) the text: DebugPart: 2x0
-










-------- [[ Animate the Pool ]] --------
-










-------- [[ Spawn ]] --------
-










If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-











If - Conditions
-












BloodBath_SFXCount[BloodBath_Loop] Less than 10
-
-











Then - Actions
-












Game - Display to (All players) the text: DebugPart: 3x0
-












If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














BloodBath_SFXSpawnTimer[BloodBath_Loop] Less than 0.00
-
-













Then - Actions
-














Game - Display to (All players) the text: DebugPart: 4x0
-














-------- [[ Setup Default SFX ]] --------
-














Set BloodBath_SFXCount[BloodBath_Loop] = (BloodBath_SFXCount[BloodBath_Loop] + 1)
-














Set BloodBath_SFXSpawnHeight[BloodBath_Loop] = (25.00 x (Real(BloodBath_SFXCount[BloodBath_Loop])))
-














-------- [[ Set up dummy-index ]] --------
-














Set BloodBath_SFXMainIndex[BloodBath_Loop] = (BloodBath_SFXMainIndex[BloodBath_Loop] + 1)
-














Set BloodBath_SFXIndex[BloodBath_Loop] = (BloodBath_SFXIndex[BloodBath_Loop] + 1)
-














-------- [[ Setup Dummy ]] --------
-














Set BloodBath_SFXDeathTimer[BloodBath_SFXIndex[BloodBath_Loop]] = 5.00
-














Unit - Create 1 dummy for (Owner of BloodBath_Caster[BloodBath_Loop]) at BloodBath_PoolLocation[BloodBath_Loop] facing (Random angle) degrees
-














Unit - Add Crow Form to (Last created unit)
-














Unit - Remove Crow Form from (Last created unit)
-














Animation - Change (Last created unit) flying height to BloodBath_SFXSpawnHeight[BloodBath_Loop] at 0.00
-














Set BloodBath_SFXDummy[BloodBath_SFXIndex[BloodBath_Loop]] = (Last created unit)
-














Special Effect - Create a special effect attached to the chest of BloodBath_SFXDummy[BloodBath_SFXIndex[BloodBath_Loop]] using Objects\Spawnmodels\Human\HumanLargeDeathExplode\HumanLargeDeathExplode.mdl
-














Set BloodBath_SFXEffect[BloodBath_SFXIndex[BloodBath_SFXLoop]] = (Last created special effect)
-














Cinematic - Ping minimap for (All players) at BloodBath_PoolLocation[BloodBath_Loop] for 1.00 seconds
-














-------- [[ Reset spawn ]] --------
-














Set BloodBath_SFXSpawnTimer[BloodBath_Loop] = 0.10
-
-













Else - Actions
-














Game - Display to (All players) the text: DebugPart: 4x1
-














Set BloodBath_SFXSpawnTimer[BloodBath_Loop] = (BloodBath_SFXSpawnTimer[BloodBath_Loop] - 0.03)
-
-
-
-











Else - Actions
-












Game - Display to (All players) the text: DebugPart: 3x1
-












If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














BloodBath_SFXDeathTimer[BloodBath_Loop] Less than 0.00
-
-













Then - Actions
-














-------- [[ Destroy ]] --------
-














Game - Display to (All players) the text: DebugPart: 3x1[0x0]
-














Set BloodBath_SFXDeathTimer[BloodBath_Loop] = 5.00
-














For each (Integer BloodBath_SFXLoop) from 1 to BloodBath_SFXIndex[BloodBath_Loop], do (Actions)
-















Loop - Actions
-
















If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-

















If - Conditions
-


















BloodBath_SFXDummy[BloodBath_SFXLoop] Not equal to No unit
-
-

















Then - Actions
-


















Game - Display to (All players) the text: DebugPart: 3x1[1x0]
-


















Special Effect - Destroy BloodBath_SFXEffect[BloodBath_SFXLoop]
-


















Unit - Remove BloodBath_SFXDummy[BloodBath_SFXLoop] from the game
-


















Set BloodBath_SFXDummy[BloodBath_SFXLoop] = No unit
-


















Set BloodBath_SFXMainIndex[BloodBath_Loop] = (BloodBath_SFXMainIndex[BloodBath_SFXLoop] - 1)
-


















Set BloodBath_SFXCount[BloodBath_Loop] = (BloodBath_SFXCount[BloodBath_Loop] - 1)
-


















If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



















If - Conditions
-




















BloodBath_SFXMainIndex[BloodBath_SFXLoop] Equal to 0
-
-



















Then - Actions
-




















Set BloodBath_SFXIndex[BloodBath_SFXLoop] = 0
-
-



















Else - Actions
-
-
-

















Else - Actions
-


















Game - Display to (All players) the text: DebugPart: 3x1[1x1]
-
-
-
-
-
-













Else - Actions
-














Game - Display to (All players) the text: DebugPart: 3x1[0x1]
-














Set BloodBath_SFXDeathTimer[BloodBath_Loop] = (BloodBath_SFXDeathTimer[BloodBath_Loop] - 0.03)
-
-
-
-
-










-------- [[ Lower the duration ]] --------
-










Set BloodBath_Duration[BloodBath_Loop] = (BloodBath_Duration[BloodBath_Loop] - 0.03)
-
-









Else - Actions
-










Game - Display to (All players) the text: DebugPart: 2x1
-
-
-
-







Else - Actions
-








Game - Display to (All players) the text: DebugPart: 1x1
-
-
-
-





Else - Actions
-






Game - Display to (All players) the text: DebugPart: 0x1
-
-
-
-
-
-
endnote; The spell should be about 15-30% finished, even though it is only effect spam at this moment.




