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

[Crash] Consistent Map Crash on these Triggers

Status
Not open for further replies.
Level 12
Joined
May 7, 2008
Messages
330
Hello guys,

I've been at this for about 2 months now without any improvement whatsoever.

There's nothing special going on here, but whenever the Inquisitors Die In Phase Two of the Boss fight - everything goes downhill at that exact moment.

Sometimes just straight up crashes the game, other times the fps drops to 2 and then recovers after maybe one or two minutes.

Not sure what it is, but I've eliminated that MaskOn and MaskOFF codes (aka frames, sprites, texts) and they are not the problem.

The trigger that causes the lag / crash (or both) moments after it executes is ''Inquisitor Death''.



vJASS:
globals

// Buttons

framehandle BTN1 = null
framehandle BTN2 = null
framehandle BTN3 = null
framehandle BTN4 = null
framehandle InquisitorText = null


// Sprite Frames

framehandle GlowFrame01 = null
framehandle GlowFrame02 = null
framehandle GlowFrame03 = null
framehandle GlowFrame04 = null

endglobals
 
library HELMON initializer init
private function init takes nothing returns nothing


// Buttons //

set BTN1 = BlzCreateFrameByType("BACKDROP", "BTN1", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "", 1)
 call BlzFrameSetAbsPoint(BTN1, FRAMEPOINT_TOPLEFT, 0.610670, 0.199915)
 call BlzFrameSetAbsPoint(BTN1, FRAMEPOINT_BOTTOMRIGHT, 0.646830, 0.164530)
 call BlzFrameSetTexture(BTN1, "ReplaceableTextures\\CommandButtons\\BTNFireMetalHelm.blp", 0, true)
 call BlzFrameSetVisible(BTN1, false)

set BTN2 = BlzCreateFrameByType("BACKDROP", "BTN2", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "", 1)
 call BlzFrameSetAbsPoint(BTN2, FRAMEPOINT_TOPLEFT, 0.653750, 0.199915)
 call BlzFrameSetAbsPoint(BTN2, FRAMEPOINT_BOTTOMRIGHT, 0.689910, 0.164530)
 call BlzFrameSetTexture(BTN2, "ReplaceableTextures\\CommandButtons\\BTNThunderMasterHelm.blp", 0, true)
 call BlzFrameSetVisible(BTN2, false)

set BTN3 = BlzCreateFrameByType("BACKDROP", "BTN3", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "", 1)
 call BlzFrameSetAbsPoint(BTN3, FRAMEPOINT_TOPLEFT, 0.696840, 0.199915)
 call BlzFrameSetAbsPoint(BTN3, FRAMEPOINT_BOTTOMRIGHT, 0.733000, 0.164530)
 call BlzFrameSetTexture(BTN3, "ReplaceableTextures\\CommandButtons\\BTNFireRevenantHelm.blp", 0, true)
 call BlzFrameSetVisible(BTN3, false)

set BTN4 = BlzCreateFrameByType("BACKDROP", "BTN4", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "", 1)
 call BlzFrameSetAbsPoint(BTN4, FRAMEPOINT_TOPLEFT, 0.740690, 0.199915)
 call BlzFrameSetAbsPoint(BTN4, FRAMEPOINT_BOTTOMRIGHT, 0.776850, 0.164530)
 call BlzFrameSetTexture(BTN4, "ReplaceableTextures\\CommandButtons\\BTNScarletHelm.blp", 0, true)
 call BlzFrameSetVisible(BTN4, false)


// Sprites //

set GlowFrame01 = BlzCreateFrameByType("SPRITE", "justAName1", BTN1, "WarCraftIIILogo", 0)
 call BlzFrameSetAbsPoint(GlowFrame01, FRAMEPOINT_TOPLEFT, 0.607780, 0.199915)
 call BlzFrameSetAbsPoint(GlowFrame01, FRAMEPOINT_BOTTOMRIGHT, 0.646830, 0.164130)
 call BlzFrameSetSize(GlowFrame01, 0.001, 0.001)
 call BlzFrameSetScale(GlowFrame01, 0.665)
 call BlzFrameSetModel(GlowFrame01, "flame_border_sprite.mdx", 0)
 call BlzFrameSetVisible(GlowFrame01, false)

set GlowFrame02 = BlzCreateFrameByType("SPRITE", "justAName2", BTN2, "WarCraftIIILogo", 0)
 call BlzFrameSetAbsPoint(GlowFrame02, FRAMEPOINT_TOPLEFT, 0.650420, 0.199915)
 call BlzFrameSetAbsPoint(GlowFrame02, FRAMEPOINT_BOTTOMRIGHT, 0.689910, 0.161000)
 call BlzFrameSetSize(GlowFrame02, 0.001, 0.001)
 call BlzFrameSetScale(GlowFrame02, 0.665)
 call BlzFrameSetModel(GlowFrame02, "crystallid_sprite.mdx", 0)
 call BlzFrameSetVisible(GlowFrame02, false)

set GlowFrame03 = BlzCreateFrameByType("SPRITE", "justAName3", BTN3, "WarCraftIIILogo", 0)
 call BlzFrameSetAbsPoint(GlowFrame03, FRAMEPOINT_TOPLEFT, 0.6933300, 0.199915)
 call BlzFrameSetAbsPoint(GlowFrame03, FRAMEPOINT_BOTTOMRIGHT, 0.733000, 0.160900)
 call BlzFrameSetSize(GlowFrame03, 0.001, 0.001)
 call BlzFrameSetScale(GlowFrame03, 0.655)
 call BlzFrameSetModel(GlowFrame03, "vampirism_sprite.mdx", 0)
 call BlzFrameSetVisible(GlowFrame03, false)

set GlowFrame04 = BlzCreateFrameByType("SPRITE", "justAName4", BTN4, "WarCraftIIILogo", 0)
 call BlzFrameSetAbsPoint(GlowFrame04, FRAMEPOINT_TOPLEFT, 0.737550, 0.199915)
 call BlzFrameSetAbsPoint(GlowFrame04, FRAMEPOINT_BOTTOMRIGHT, 0.776850, 0.161250)
 call BlzFrameSetSize(GlowFrame04, 0.001, 0.001)
 call BlzFrameSetScale(GlowFrame04, 0.65)
 call BlzFrameSetModel(GlowFrame04, "blue_energy_sprite.mdx", 0)
 call BlzFrameSetVisible(GlowFrame04, false)


// Inq Text //

set InquisitorText = BlzCreateFrameByType("TEXT", "name", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "", 0)
call BlzFrameSetAbsPoint(InquisitorText, FRAMEPOINT_TOPLEFT, 0.611070, 0.251538)
call BlzFrameSetAbsPoint(InquisitorText, FRAMEPOINT_BOTTOMRIGHT, 0.789930, 0.185000)
call BlzFrameSetText(InquisitorText, "|cffff0000Inquisitors Alive|r")
call BlzFrameSetEnable(InquisitorText, false)
call BlzFrameSetScale(InquisitorText, 1.29)
call BlzFrameSetTextAlignment(InquisitorText, TEXT_JUSTIFY_CENTER, TEXT_JUSTIFY_MIDDLE)
call BlzFrameSetVisible(InquisitorText, false)
 
endfunction
endlibrary


vJASS:
globals
framehandle BTN1Off = null
framehandle BTN3Off = null
framehandle BTN2Off = null
framehandle BTN4Off = null
endglobals
 
library HELMOFF initializer init

private function init takes nothing returns nothing

set BTN1Off = BlzCreateFrameByType("BACKDROP", "BTN1Off", BlzGetFrameByName("ConsoleUIBackdrop", 0), "", 1)
 call BlzFrameSetAbsPoint(BTN1Off, FRAMEPOINT_TOPLEFT, 0.610670, 0.199915)
 call BlzFrameSetAbsPoint(BTN1Off, FRAMEPOINT_BOTTOMRIGHT, 0.646830, 0.164530)
 call BlzFrameSetTexture(BTN1Off, "ReplaceableTextures\\CommandButtonsDisabled\\DISBTNFireMetalHelm.blp", 0, true)
 call BlzFrameSetVisible(BTN1Off, false)

set BTN3Off = BlzCreateFrameByType("BACKDROP", "BTN3Off", BlzGetFrameByName("ConsoleUIBackdrop", 0), "", 1)
 call BlzFrameSetAbsPoint(BTN3Off, FRAMEPOINT_TOPLEFT, 0.696840, 0.199915)
 call BlzFrameSetAbsPoint(BTN3Off, FRAMEPOINT_BOTTOMRIGHT, 0.733000, 0.164530)
 call BlzFrameSetTexture(BTN3Off, "ReplaceableTextures\\CommandButtonsDisabled\\DISBTNFireRevenantHelm.blp", 0, true)
 call BlzFrameSetVisible(BTN3Off, false)

set BTN2Off = BlzCreateFrameByType("BACKDROP", "BTN2Off", BlzGetFrameByName("ConsoleUIBackdrop", 0), "", 1)
 call BlzFrameSetAbsPoint(BTN2Off, FRAMEPOINT_TOPLEFT, 0.653750, 0.199915)
 call BlzFrameSetAbsPoint(BTN2Off, FRAMEPOINT_BOTTOMRIGHT, 0.689910, 0.164530)
 call BlzFrameSetTexture(BTN2Off, "ReplaceableTextures\\CommandButtonsDisabled\\DISBTNThunderMasterHelm.blp", 0, true)
 call BlzFrameSetVisible(BTN2Off, false)

set BTN4Off = BlzCreateFrameByType("BACKDROP", "BTN4Off", BlzGetFrameByName("ConsoleUIBackdrop", 0), "", 1)
 call BlzFrameSetAbsPoint(BTN4Off, FRAMEPOINT_TOPLEFT, 0.740690, 0.199915)
 call BlzFrameSetAbsPoint(BTN4Off, FRAMEPOINT_BOTTOMRIGHT, 0.776850, 0.164530)
 call BlzFrameSetTexture(BTN4Off, "ReplaceableTextures\\CommandButtonsDisabled\\DISBTNScarletHelm.blp", 0, true)
 call BlzFrameSetVisible(BTN4Off, false)
endfunction
endlibrary



  • Azrael Phase Initiate
    • Events
      • Game - DamageEvent becomes Equal to 1.00
    • Conditions
      • (Unit-type of DamageEventTarget) Equal to |cffff0000Azrael|r
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Phase_Two Equal to False
          • (Percentage life of DamageEventTarget) Less than or equal to 50.00
        • Then - Actions
          • -------- Related to this Trigger Only --------
          • Set VariableSet Phase_Two = True
          • -------- Set Phase to True --------
          • Set VariableSet Azrael_Phase = True
          • -------- TURN OFF ALL SPELLS --------
          • Trigger - Run Turn OFF Spells <gen> (ignoring conditions)
          • -------- Create a Dummy for Azrael so he can take credit for damage --------
          • Set VariableSet Azrael_Dummy_Point = (Center of TestRegionTwo <gen>)
          • Unit - Create 1 Dummy (standard) for Player 9 (Gray) at Azrael_Dummy_Point facing Default building facing degrees
          • Set VariableSet Azrael_Damage_Dummy = (Last created unit)
          • Custom script: call RemoveLocation(udg_Azrael_Dummy_Point)
          • -------- --------
          • Animation - Play BOSS_FINAL's Stand Victory animation
          • -------- --------
          • Unit - Pause BOSS_FINAL
          • Unit - Make BOSS_FINAL Invulnerable
          • -------- --------
          • Sound - Play Summoning_Azrael <gen>
          • -------- --------
          • Trigger - Run Summon Army Azrael Second Phase <gen> (ignoring conditions)
          • Trigger - Turn on Azrael Second Phase Damage <gen>
          • -------- --------
          • Trigger - Turn on Inquisitor Count <gen>
          • Trigger - Turn on Inquisitor Death <gen>
          • -------- --------
          • Trigger - Turn on Inquisitor Siphon Spell Cast <gen>
          • Trigger - Turn on Inquisitor Siphon Spell Announcement <gen>
          • -------- --------
          • Trigger - Turn on Inquisitor Forked Lightning Spell Cast <gen>
          • Trigger - Turn on Inquisitor Forked Lightning Spell Announcement <gen>
          • -------- Cinematic --------
          • Game - Display to ActivePlayers the text: |cffff0000Azrael:|r...
          • Sound - Play AzraelSecondPhaseLaugh <gen>
          • -------- --------
          • Trigger - Run Phase 2 Message <gen> (ignoring conditions)
          • -------- --------
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Phase_Three Equal to False
              • (Percentage life of DamageEventTarget) Less than or equal to 30.00
            • Then - Actions
              • -------- Related to this Trigger Only --------
              • Set VariableSet Phase_Three = True
              • -------- --------
              • Animation - Play BOSS_FINAL's spell slam animation
              • -------- --------
              • Special Effect - Create a special effect attached to the origin of BOSS_FINAL using war3mapImported\Gatekeepers_Pact.mdx
              • Special Effect - Destroy (Last created special effect)
              • -------- --------
              • Unit - Add Enrage Azrael to BOSS_FINAL
              • -------- --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Intermediate Equal to True
                • Then - Actions
                  • Unit - Set level of Enrage Azrael for BOSS_FINAL to 2
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Advanced Equal to True
                    • Then - Actions
                      • Unit - Set level of Enrage Azrael for BOSS_FINAL to 3
                    • Else - Actions
                      • -------- --------
              • -------- --------
              • Unit - Order BOSS_FINAL to Orc Troll Berserker - Berserk.
              • -------- Cinematic --------
              • Game - Display to ActivePlayers the text: |cffff8080Phase III...
              • -------- --------
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Phase_Four Equal to False
                  • (Life of DamageEventTarget) Less than or equal to 500.00
                • Then - Actions
                  • -------- Related to this Trigger Only --------
                  • Set VariableSet Phase_Four = True
                  • -------- --------
                  • Unit - Make BOSS_FINAL Invulnerable
                  • Unit - Make |cff8080ffKing|r 0033 <gen> Invulnerable
                  • -------- --------
                  • Wait 2.00 game-time seconds
                  • -------- --------
                  • Trigger - Run Azrael Defeat <gen> (ignoring conditions)
                  • -------- --------
                  • Trigger - Turn off (This trigger)
                  • -------- --------
                • Else - Actions

  • Phase 2 Message
    • Events
    • Conditions
    • Actions
      • Wait 5.00 game-time seconds
      • -------- --------
      • Game - Display to ActivePlayers the text: |cffff8080Phase II ...
      • -------- --------

  • Azrael Second Phase Damage
    • Events
      • Time - Every 15.00 seconds of game time
    • Conditions
      • Azrael_Phase Equal to True
    • Actions
      • -------- --------
      • Set VariableSet AzraelGroup = (Units in LegionMoveRegion <gen> matching ((((Matching unit) is A Hero) Equal to True) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of Player 9 (Gray).) Equal to True))))
      • Set VariableSet Azrael_Random = (Random unit from AzraelGroup)
      • -------- --------
      • Set VariableSet AzraelPoint = (Position of Azrael_Random)
      • -------- --------
      • Custom script: call DestroyGroup(udg_AzraelGroup)
      • -------- --------
      • Special Effect - Create a special effect at AzraelPoint using war3mapImported\AuraOfDeath.mdx
      • Set VariableSet Indicator = (Last created special effect)
      • Special Effect - Set Scale of Indicator to 4.00
      • -------- --------
      • Wait (2.00 + Indicator_Duration) game-time seconds
      • -------- --------
      • Special Effect - Destroy Indicator
      • -------- --------
      • Set VariableSet Azrael_Damage_Group = (Units within 410.00 of AzraelPoint matching ((((Matching unit) belongs to an enemy of Player 9 (Gray).) Equal to True) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is invulnerable) Equal to False))).)
      • -------- --------
      • Unit Group - Pick every unit in Azrael_Damage_Group and do (Actions)
        • Loop - Actions
          • -------- Deals % Damage of the units total hp --------
          • Unit - Cause Azrael_Damage_Dummy to damage (Picked unit), dealing ((Real((Max HP of (Picked unit)))) x Damage_Phase) damage of attack type Chaos and damage type Normal
          • -------- --------
          • Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Undead\UndeadLargeDeathExplode\UndeadLargeDeathExplode.mdl
          • Special Effect - Destroy (Last created special effect)
      • -------- --------
      • Special Effect - Create a special effect at AzraelPoint using war3mapImported\Death Nova.mdx
      • Special Effect - Set Scale of (Last created special effect) to 1.26
      • Special Effect - Destroy (Last created special effect)
      • -------- --------
      • Custom script: call DestroyGroup(udg_Azrael_Damage_Group)
      • Custom script: call RemoveLocation(udg_AzraelPoint)
      • -------- --------


  • Summon Army Azrael Second Phase
    • Events
    • Conditions
    • Actions
      • -------- --------
      • Trigger - Turn off (This trigger)
      • -------- --------
      • Wait 2.00 game-time seconds
      • -------- --------
      • -------- Turn On Inquisitor Icons --------
      • Trigger - Run Inquisitor Turn on Icons Active <gen> (ignoring conditions)
      • -------- --------
      • Set VariableSet InqPoint = (Position of BOSS_FINAL)
      • Set VariableSet InqGroup = (Units within 1200.00 of InqPoint matching ((((Matching unit) belongs to an enemy of Player 9 (Gray).) Equal to True) and (((Matching unit) is alive) Equal to True)).)
      • -------- --------
      • Special Effect - Create a special effect attached to the origin of BOSS_FINAL using war3mapImported\Gatekeepers_Pact.mdx
      • Special Effect - Destroy (Last created special effect)
      • -------- --------
      • Custom script: call RemoveLocation(udg_InqPoint)
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in InqGroup) Greater than 0
        • Then - Actions
          • For each (Integer InqLoop) from 1 to 4, do (Actions)
            • Loop - Actions
              • Set VariableSet InqTarget = (Random unit from InqGroup)
              • -------- --------
              • -------- (Optional) - This will help the Inquisitors find different targets: --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Number of units in InqGroup) Greater than 1
                • Then - Actions
                  • Unit Group - Remove InqTarget from InqGroup.
                • Else - Actions
              • -------- --------
              • Set VariableSet InqPoint = (Position of InqTarget)
              • -------- --------
              • Unit - Create 1 |cffff8080Inquisitor|r for Player 9 (Gray) at InqPoint facing Default building facing degrees
              • -------- --------
              • Special Effect - Create a special effect at InqPoint using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
              • Special Effect - Destroy (Last created special effect)
              • -------- --------
              • Custom script: call RemoveLocation(udg_InqPoint)
              • -------- --------
              • -------- Color --------
              • Animation - Change (Last created unit)'s vertex coloring to ((Random real number between 30.00 and 100.00)%, (Random real number between 30.00 and 100.00)%, (Random real number between 30.00 and 100.00)%) with 0.00% transparency
              • -------- --------
              • -------- ----- Inquisitors Difficulty Setup / This is Initialized in Azrael Init under Cinematic ----- --------
              • Unit - Set Max HP of (Last created unit) to Inq_HP
              • Unit - Set life of (Last created unit) to 100.00%
              • Unit - Set Armor of (Last created unit) to Inq_Armor
              • -------- --------
              • Unit - Set level of Heal Inquisitor for (Last created unit) to Inq_Spell_Level
              • Unit - Set level of Forked (Inquisitor) for (Last created unit) to Inq_Spell_Level
              • -------- --------
        • Else - Actions
          • For each (Integer InqLoop) from 1 to 4, do (Actions)
            • Loop - Actions
              • -------- --------
              • Set VariableSet InqPoint = (Position of BOSS_FINAL)
              • -------- --------
              • Unit - Create 1 |cffff8080Inquisitor|r for Player 9 (Gray) at InqPoint facing Default building facing degrees
              • -------- --------
              • Custom script: call RemoveLocation(udg_InqPoint)
              • -------- --------
              • -------- Color --------
              • Animation - Change (Last created unit)'s vertex coloring to ((Random real number between 30.00 and 100.00)%, (Random real number between 30.00 and 100.00)%, (Random real number between 30.00 and 100.00)%) with 0.00% transparency
              • -------- ----- Inquisitors Difficulty Setup / This is Initialized in Azrael Init under Cinematic ----- --------
              • Unit - Set Max HP of (Last created unit) to Inq_HP
              • Unit - Set life of (Last created unit) to 100.00%
              • Unit - Set Armor of (Last created unit) to Inq_Armor
              • -------- --------
              • Unit - Set level of Heal Inquisitor for (Last created unit) to Inq_Spell_Level
              • Unit - Set level of Forked (Inquisitor) for (Last created unit) to Inq_Spell_Level
              • -------- --------
      • -------- --------
      • Custom script: call DestroyGroup(udg_InqGroup)
      • -------- --------


  • Inquisitor Count
    • Events
      • Unit - A unit owned by Player 9 (Gray) Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to |cffff8080Inquisitor|r
    • Actions
      • Set VariableSet InquisitorCount = (InquisitorCount + 1)
      • -------- --------
      • Set VariableSet Point = (Position of (Triggering unit))
      • -------- --------
      • Unit - Remove (Triggering unit) from the game
      • -------- --------
      • Sound - Play Inquisitor_Death <gen> at 100.00% volume, located at Point with Z offset 0.00
      • -------- --------
      • Special Effect - Create a special effect at Point using Objects\Spawnmodels\Undead\UndeadDissipate\UndeadDissipate.mdl
      • Special Effect - Destroy (Last created special effect)
      • -------- --------
      • Custom script: call RemoveLocation(udg_Point)
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • InquisitorCount Equal to 1
        • Then - Actions
          • -------- Turn off Active Icon --------
          • Custom script: call BlzFrameSetVisible(BTN1, false)
          • Custom script: call BlzFrameSetVisible(GlowFrame01, false)
          • -------- Turn on Disabled Icon --------
          • Custom script: call BlzFrameSetVisible(BTN1Off, true)
          • -------- --------
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • InquisitorCount Equal to 2
            • Then - Actions
              • Custom script: call BlzFrameSetVisible(BTN2, false)
              • Custom script: call BlzFrameSetVisible(GlowFrame02, false)
              • -------- Turn on Disabled Icon --------
              • Custom script: call BlzFrameSetVisible(BTN2Off, true)
              • -------- --------
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • InquisitorCount Equal to 3
                • Then - Actions
                  • -------- Turn off Active Icon --------
                  • Custom script: call BlzFrameSetVisible(BTN3, false)
                  • Custom script: call BlzFrameSetVisible(GlowFrame03, false)
                  • -------- Turn on Disabled Icon --------
                  • Custom script: call BlzFrameSetVisible(BTN3Off, true)
                  • -------- --------
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • InquisitorCount Equal to 4
                    • Then - Actions
                      • -------- Turn off Active Icon --------
                      • Custom script: call BlzFrameSetVisible(BTN4, false)
                      • Custom script: call BlzFrameSetVisible(GlowFrame04, false)
                      • -------- Turn on Disabled Icon --------
                      • Custom script: call BlzFrameSetVisible(BTN4Off, true)
                      • -------- --------
                      • Trigger - Run Inquisitor Death <gen> (ignoring conditions)
                      • -------- --------
                    • Else - Actions


  • Inquisitor Death
    • Events
    • Conditions
    • Actions
      • -------- --------
      • Trigger - Turn off (This trigger)
      • -------- --------
      • Trigger - Turn off Inquisitor Count <gen>
      • -------- Remove Disabled Icons + Text --------
      • Trigger - Run Inquisitor Turn off Icons Disabled <gen> (ignoring conditions)
      • -------- Cinematic --------
      • Game - Display to (All players) the text: |cffff0000Azrael:|r...
      • Sound - Play Shout_Azrael <gen>
      • -------- Set Phase to False --------
      • Set VariableSet Azrael_Phase = False
      • -------- Turn off All the Stuff here --------
      • Trigger - Turn off Azrael Second Phase Damage <gen>
      • -------- --------
      • Trigger - Turn off Inquisitor Siphon Spell Cast <gen>
      • Trigger - Turn off Inquisitor Siphon Spell Announcement <gen>
      • -------- --------
      • Trigger - Turn off Inquisitor Forked Lightning Spell Cast <gen>
      • Trigger - Turn off Inquisitor Forked Lightning Spell Announcement <gen>
      • -------- --------
      • Trigger - Turn off Inquisitor Turn off Icons Active <gen>
      • Trigger - Turn off Inquisitor Turn on Icons Active <gen>
      • -------- --------
      • Trigger - Turn off Inquisitor Turn off Icons Disabled <gen>
      • -------- --------
      • Unit - Unpause BOSS_FINAL
      • -------- --------
      • Unit - Make BOSS_FINAL Vulnerable
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (|cff8080ffKing|r 0033 <gen> is alive) Equal to True
        • Then - Actions
          • Set VariableSet Point = (Position of |cff8080ffKing|r 0033 <gen>)
          • Unit - Order BOSS_FINAL to Patrol To Point
          • -------- --------
          • Custom script: call RemoveLocation(udg_Point)
        • Else - Actions
      • -------- --------
      • -------- TURN ON ALL SPELLS --------
      • Trigger - Run Turn ON Spells <gen> (ignoring conditions)
      • -------- --------


  • Inquisitor Siphon Spell Cast
    • Events
      • Game - DamageEvent becomes Equal to 1.00
    • Conditions
      • (Unit-type of DamageEventSource) Equal to |cffff8080Inquisitor|r
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Azrael_Phase Equal to True
          • (Ability Cooldown Remaining of DamageEventSource for ability Heal Inquisitor ..) Equal to 0.00
          • (Random integer number between 1 and 100) Less than or equal to 30
          • IsDamageAttack Equal to True
          • (DamageEventTarget is alive) Equal to True
        • Then - Actions
          • -------- === --------
          • Trigger - Turn off (This trigger)
          • -------- === --------
          • -------- --------
          • Set VariableSet InquisitorPoint = (Position of DamageEventSource)
          • Set VariableSet InquisitorGroup = (Units within 800.00 of InquisitorPoint matching ((((Matching unit) belongs to an enemy of (Owner of DamageEventSource).) Equal to True) and ((((Matching unit) is A Hero) Equal to True) and (((Matching unit) is alive) Equal to True))).)
          • Set VariableSet Inquisitor_Random = (Random unit from InquisitorGroup)
          • -------- --------
          • Unit - Order DamageEventSource to Human Sorceress - Slow Inquisitor_Random
          • -------- --------
          • Unit - Cause DamageEventSource to damage Inquisitor_Random, dealing Inquisitor_Damage damage of attack type Chaos and damage type Normal
          • -------- --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Percentage life of DamageEventSource) Less than or equal to 80.00
            • Then - Actions
              • Unit - Set life of DamageEventSource to ((Life of DamageEventSource) + (Inquisitor_Damage x 2.00))
            • Else - Actions
          • -------- --------
          • Custom script: call RemoveLocation(udg_InquisitorPoint)
          • Custom script: call DestroyGroup(udg_InquisitorGroup)
          • -------- === --------
          • Trigger - Turn on (This trigger)
          • -------- === --------
        • Else - Actions


  • Inquisitor Siphon Spell Announcement
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Heal Inquisitor
      • Azrael_Phase Equal to True
    • Actions
      • Animation - Play (Triggering unit)'s spell animation
      • -------- === --------
      • Set VariableSet Spell_Point = (Position of (Triggering unit))
      • -------- --------
      • Sound - Play Siphon_Inquisitor <gen> at 70.00% volume, located at Spell_Point with Z offset 0.00
      • -------- --------
      • Floating Text - Create floating text that reads (|cffff8080Soul Siphon|r on + (PlayerColors[(Player number of (Owner of Inquisitor_Random))] + (Name of (Owner of Inquisitor_Random)))) at Spell_Point with Z offset 0.00, using font size 9.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Set the velocity of (Last created floating text) to 100.00 towards 160.00 degrees
      • Floating Text - Change (Last created floating text): Disable permanence
      • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
      • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
      • -------- --------
      • Custom script: call RemoveLocation(udg_Spell_Point)


  • Inquisitor Forked Lightning Spell Cast
    • Events
      • Game - DamageEvent becomes Equal to 1.00
    • Conditions
      • (Unit-type of DamageEventSource) Equal to |cffff8080Inquisitor|r
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Azrael_Phase Equal to True
          • (Ability Cooldown Remaining of DamageEventSource for ability Forked (Inquisitor) ..) Equal to 0.00
          • (Random integer number between 1 and 100) Less than or equal to 35
          • IsDamageAttack Equal to True
          • (DamageEventTarget is alive) Equal to True
        • Then - Actions
          • -------- === --------
          • Trigger - Turn off (This trigger)
          • -------- === --------
          • -------- --------
          • Set VariableSet InquisitorPoint = (Position of DamageEventSource)
          • Set VariableSet InquisitorGroup = (Units within 800.00 of InquisitorPoint matching ((((Matching unit) belongs to an enemy of (Owner of DamageEventSource).) Equal to True) and ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True))).)
          • Set VariableSet Inquisitor_Random = (Random unit from InquisitorGroup)
          • -------- --------
          • Unit - Order DamageEventSource to Neutral Sea Witch - Forked Lightning Inquisitor_Random
          • -------- --------
          • Custom script: call RemoveLocation(udg_InquisitorPoint)
          • Custom script: call DestroyGroup(udg_InquisitorGroup)
          • -------- === --------
          • Trigger - Turn on (This trigger)
          • -------- === --------
        • Else - Actions


  • Inquisitor Forked Lightning Spell Announcement
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Forked (Inquisitor)
      • Azrael_Phase Equal to True
    • Actions
      • -------- === --------
      • Trigger - Turn off (This trigger)
      • -------- === --------
      • Set VariableSet Spell_Point = (Position of (Triggering unit))
      • -------- --------
      • Floating Text - Create floating text that reads (|cffff8080Torment|r on + (PlayerColors[(Player number of (Owner of Inquisitor_Random))] + (Name of (Owner of Inquisitor_Random)))) at Spell_Point with Z offset 0.00, using font size 9.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Set the velocity of (Last created floating text) to 100.00 towards 160.00 degrees
      • Floating Text - Change (Last created floating text): Disable permanence
      • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
      • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
      • -------- --------
      • Custom script: call RemoveLocation(udg_Spell_Point)
      • -------- === --------
      • Trigger - Turn on (This trigger)
      • -------- === --------
  • Inquisitor Turn off Icons Active
    • Events
    • Conditions
    • Actions
      • -------- Normal Icons --------
      • Custom script: call BlzFrameSetVisible(BTN1, false)
      • Custom script: call BlzFrameSetVisible(BTN2, false)
      • Custom script: call BlzFrameSetVisible(BTN3, false)
      • Custom script: call BlzFrameSetVisible(BTN4, false)
      • -------- Text --------
      • Custom script: call BlzFrameSetVisible(InquisitorText, false)
      • -------- Sprite Icons --------
      • Custom script: call BlzFrameSetVisible(GlowFrame01, false)
      • Custom script: call BlzFrameSetVisible(GlowFrame02, false)
      • Custom script: call BlzFrameSetVisible(GlowFrame03, false)
      • Custom script: call BlzFrameSetVisible(GlowFrame04, false)
  • Inquisitor Turn on Icons Active
    • Events
    • Conditions
    • Actions
      • -------- Normal Icons --------
      • Custom script: call BlzFrameSetVisible(BTN1, true)
      • Custom script: call BlzFrameSetVisible(BTN2, true)
      • Custom script: call BlzFrameSetVisible(BTN3, true)
      • Custom script: call BlzFrameSetVisible(BTN4, true)
      • -------- Text --------
      • Custom script: call BlzFrameSetVisible(InquisitorText, true)
      • -------- Sprite Icons --------
      • Custom script: call BlzFrameSetVisible(GlowFrame01, true)
      • Custom script: call BlzFrameSetVisible(GlowFrame02, true)
      • Custom script: call BlzFrameSetVisible(GlowFrame03, true)
      • Custom script: call BlzFrameSetVisible(GlowFrame04, true)
  • Inquisitor Turn off Icons Disabled
    • Events
    • Conditions
    • Actions
      • -------- --------
      • Custom script: call BlzFrameSetVisible(BTN1Off, false)
      • Custom script: call BlzFrameSetVisible(BTN2Off, false)
      • Custom script: call BlzFrameSetVisible(BTN3Off, false)
      • Custom script: call BlzFrameSetVisible(BTN4Off, false)
      • -------- Text --------
      • Custom script: call BlzFrameSetVisible(InquisitorText, false)
  • Turn OFF Spells
    • Events
    • Conditions
    • Actions
      • -------- Turn OFF All Spells --------
      • Trigger - Turn off Azrael Spells <gen>
      • -------- --------
      • Trigger - Turn off Azrael Fierce Smash Cast <gen>
      • Trigger - Turn off Azrael Fierce Smash Timer <gen>
      • -------- --------
      • Trigger - Turn off Azrael Heal on Auto Attack <gen>
      • -------- --------
      • Trigger - Turn off Azrael Tentacles Announcement <gen>
      • Trigger - Turn off Azrael Forked Lightning Announcement <gen>
      • Trigger - Turn off Azrael Legion Armor Announcement <gen>
      • Trigger - Turn off Azrael Shockwave Announcement <gen>
      • Trigger - Turn off Azrael Deflect Announcement <gen>
      • Trigger - Turn off Azrael Chain Lightning Announcement <gen>
      • Trigger - Turn off Azrael Kills a Hero Announcement <gen>
      • -------- --------
      • Trigger - Turn off Azrael Low Aid <gen>
      • Trigger - Turn off Azrael Damage Reduction <gen>
  • Turn ON Spells
    • Events
    • Conditions
    • Actions
      • -------- --------
      • -------- Turn ON All Spells --------
      • Trigger - Turn on Azrael Spells <gen>
      • -------- ---------- --------
      • Trigger - Turn on Azrael Fierce Smash Cast <gen>
      • Trigger - Turn on Azrael Fierce Smash Timer <gen>
      • -------- --------
      • Trigger - Turn on Azrael Heal on Auto Attack <gen>
      • -------- ---------- --------
      • Trigger - Turn on Azrael Tentacles Announcement <gen>
      • Trigger - Turn on Azrael Forked Lightning Announcement <gen>
      • Trigger - Turn on Azrael Legion Armor Announcement <gen>
      • Trigger - Turn on Azrael Shockwave Announcement <gen>
      • Trigger - Turn on Azrael Deflect Announcement <gen>
      • Trigger - Turn on Azrael Chain Lightning Announcement <gen>
      • Trigger - Turn on Azrael Kills a Hero Announcement <gen>
      • -------- --------
      • Trigger - Turn on Azrael Low Aid <gen>
      • Trigger - Turn on Azrael Damage Reduction <gen>
 
Status
Not open for further replies.
Top