Island Party - Heroes Minigames v0.6.0-14.alpha

-90 Removals
+450 Additions
settingssettings
{{
main main
{ {
Description: "Island Party - Heroes Minigames || Play rounds of 12/? classic custom games as minigames and score points. Ana paintball, Widow HS only, Torb Hammer only... v0.5.0-12.alpha Join my discord.gg/ZdukXgB ~Created by Jokaes#2263 Updated code & more: jokaes.github.io" Description: "Island Party - Heroes Minigames || Play rounds of 14/? classic custom games as minigames and score points. Ana paintball, Widow HS only, Torb Hammer only... v0.6.0-14.alpha Join my discord.gg/ZdukXgB ~Created by Jokaes#2263 Updated code & more: jokaes.github.io"
} }
lobby lobby
{ {
Allow Players Who Are In Queue: Yes Allow Players Who Are In Queue: Yes
Match Voice Chat: Enabled Match Voice Chat: Enabled
Max Spectators: 6 Max Spectators: 6
} }
modes modes
{ {
Deathmatch Deathmatch
{ {
enabled maps enabled maps
{ {
Workshop Island Workshop Island
} }
} }
General General
{ {
Allow Hero Switching: Off Allow Hero Switching: Off
Game Mode Start: Immediately Game Mode Start: Immediately
Hero Limit: Off Hero Limit: Off
Kill Cam: Off Kill Cam: Off
Respawn As Random Hero: On Respawn As Random Hero: On
Self Initiated Respawn: Off Self Initiated Respawn: Off
Skins: Off Skins: Off
} }
} }
heroes heroes
{ {
General General
{ {
Ana Ana
{ {
Biotic Grenade: Off Biotic Grenade: Off
Damage Dealt: 500% Damage Dealt: 500%
Damage Received: 500% Damage Received: 500%
Health: 10% Health: 10%
No Ammunition Requirement: On No Ammunition Requirement: On
Quick Melee: Off Quick Melee: Off
Sleep Dart Cooldown Time: 25% Sleep Dart Cooldown Time: 25%
Ultimate Ability Nano Boost: Off Ultimate Ability Nano Boost: Off
} }
Bastion Bastion
{ {
Infinite Ultimate Duration: On Infinite Ultimate Duration: On
No Ammunition Requirement: On No Ammunition Requirement: On
Quick Melee: Off Quick Melee: Off
Reconfigure: Off Reconfigure: Off
Self-Repair: Off Self-Repair: Off
Spawn With Ultimate Ready: On Spawn With Ultimate Ready: On
Ultimate Duration: 500% Ultimate Duration: 500%
Ultimate Generation - Combat Configuration: Tank: 500% Ultimate Generation - Combat Configuration: Tank: 500%
Ultimate Generation - Passive Configuration: Tank: 500% Ultimate Generation - Passive Configuration: Tank: 500%
Ultimate Generation Configuration: Tank: 500% Ultimate Generation Configuration: Tank: 500%
} }
Brigitte
{
Barrier Shield Cooldown Time: 200%
Barrier Shield Recharge Rate: 150%
Damage Dealt: 500%
Jump Vertical Speed: 200%
Primary Fire: Off
Quick Melee: Off
Repair Pack: Off
Shield Bash Cooldown Time: 35%
Ultimate Generation - Combat Rally: 200%
Ultimate Generation - Passive Rally: 0%
Whip Shot Cooldown Time: 30%
Whip Shot Knockback Scalar: 200%
}
Doomfist Doomfist
{ {
Damage Dealt: 10% Damage Dealt: 10%
Damage Received: 10% Damage Received: 10%
Health: 500% Health: 500%
Primary Fire: Off Primary Fire: Off
Quick Melee: Off Quick Melee: Off
Rising Uppercut Cooldown Time: 80% Rising Uppercut Cooldown Time: 80%
Rocket Punch Cooldown Time: 50% Rocket Punch Cooldown Time: 50%
Rocket Punch Knockback Scalar: 250% Rocket Punch Knockback Scalar: 250%
Seismic Slam: Off Seismic Slam: Off
Ultimate Generation - Combat Meteor Strike: 50% Ultimate Generation - Combat Meteor Strike: 50%
Ultimate Generation - Passive Meteor Strike: 0% Ultimate Generation - Passive Meteor Strike: 0%
} }
Genji Genji
{ {
Damage Dealt: 500% Damage Dealt: 500%
Deflect: Off Deflect: Off
Primary Fire: Off Primary Fire: Off
Secondary Fire: Off Secondary Fire: Off
Swift Strike Cooldown Time: 30% Swift Strike Cooldown Time: 30%
Ultimate Generation - Combat Dragonblade: 500% Ultimate Generation - Combat Dragonblade: 500%
Ultimate Generation - Passive Dragonblade: 0% Ultimate Generation - Passive Dragonblade: 0%
Ultimate Generation Dragonblade: 200% Ultimate Generation Dragonblade: 200%
} }
McCree McCree
{ {
Combat Roll Cooldown Time: 80% Combat Roll Cooldown Time: 80%
Damage Dealt: 10% Damage Dealt: 10%
Damage Received: 10% Damage Received: 10%
Flashbang: Off Flashbang: Off
Jump Vertical Speed: 300% Jump Vertical Speed: 300%
No Ammunition Requirement: On No Ammunition Requirement: On
Secondary Fire: Off Secondary Fire: Off
Ultimate Ability Deadeye: Off Ultimate Ability Deadeye: Off
} }
Mercy Mercy
{ {
Damage Dealt: 500% Damage Dealt: 500%
Damage Received: 500% Damage Received: 500%
Guardian Angel Cooldown Time: 0% Guardian Angel Cooldown Time: 0%
Movement Speed: 150% Movement Speed: 150%
Primary Fire: Off Primary Fire: Off
Secondary Fire: Off Secondary Fire: Off
Ultimate Generation - Combat Valkyrie: 500% Ultimate Generation - Combat Valkyrie: 500%
Ultimate Generation Valkyrie: 500% Ultimate Generation Valkyrie: 500%
} }
Soldier: 76 Soldier: 76
{ {
Biotic Field: Off Biotic Field: Off
Helix Rockets: Off Helix Rockets: Off
Primary Fire: Off Primary Fire: Off
Quick Melee: Off Quick Melee: Off
Ultimate Ability Tactical Visor: Off Ultimate Ability Tactical Visor: Off
} }
Sombra Sombra
{ {
Hack Cooldown Time: 0% Hack Cooldown Time: 0%
Primary Fire: Off Primary Fire: Off
Quick Melee: Off Quick Melee: Off
Ultimate Generation - Combat EMP: 10% Ultimate Generation - Combat EMP: 10%
Ultimate Generation - Passive EMP: 500% Ultimate Generation - Passive EMP: 500%
} }
Torbjörn Torbjörn
{ {
Deploy Turret: Off Deploy Turret: Off
Overload Cooldown Time: 25% Overload Cooldown Time: 25%
Secondary Fire: Off Secondary Fire: Off
Ultimate Ability Molten Core: Off Ultimate Ability Molten Core: Off
Weapons Enabled: Forge Hammer Only Weapons Enabled: Forge Hammer Only
} }
Tracer Tracer
{ {
Damage Dealt: 10% Damage Dealt: 10%
Damage Received: 10% Damage Received: 10%
Movement Speed: 130% Movement Speed: 130%
Primary Fire: Off Primary Fire: Off
Recall Cooldown Time: 1% Recall Cooldown Time: 1%
Ultimate Ability Pulse Bomb: Off Ultimate Ability Pulse Bomb: Off
} }
Widowmaker Widowmaker
{ {
Grappling Hook Cooldown Time: 25% Grappling Hook Cooldown Time: 25%
No Ammunition Requirement: On No Ammunition Requirement: On
No Automatic Fire: On No Automatic Fire: On
Quick Melee: Off Quick Melee: Off
Receive Headshots Only: On Receive Headshots Only: On
Ultimate Ability Infra-Sight: Off Ultimate Ability Infra-Sight: Off
Venom Mine: Off Venom Mine: Off
} }
Zenyatta Zenyatta
{ {
Damage Dealt: 10% Damage Dealt: 10%
Damage Received: 10% Damage Received: 10%
Orb of Discord: Off Orb of Discord: Off
Orb of Harmony: Off Orb of Harmony: Off
Primary Fire: Off Primary Fire: Off
Secondary Fire: Off Secondary Fire: Off
Ultimate Ability Transcendence: Off Ultimate Ability Transcendence: Off
} }
enabled heroes enabled heroes
{ {
Ana Ana
Bastion Bastion
Brigitte
Doomfist Doomfist
Genji Genji
McCree McCree
Mercy Mercy
Pharah
Soldier: 76 Soldier: 76
Sombra Sombra
Torbjörn Torbjörn
Tracer Tracer
Widowmaker Widowmaker
Zenyatta Zenyatta
} }
} }
} }
}}
variablesvariables
{{
global: global:
0: timeCounter 0: timeCounter
1: roundTimer 1: roundTimer
2: roundNumber 2: roundNumber
3: playersStartOfTheRound 3: playersStartOfTheRound
4: heroList 4: heroList
5: heroModeSelector 5: heroModeSelector
6: heroesRounds 6: heroesRounds
7: heroOfTheRound 7: heroOfTheRound
8: heroOfPreviousRound 8: heroOfPreviousRound
9: crownPos 9: crownPos
10: crownEffect 10: crownEffect
11: tracerQueen 11: tracerQueen
12: soldierObjectivePos 12: soldierObjectivePos
13: soldierObjective 13: soldierObjective
14: soldierObjective2 14: soldierObjective2
15: soldierObjective3 15: soldierObjective3
16: soldierObjectiveIcon 16: soldierObjectiveIcon
17: potatoPos 17: potatoPos
18: potatoHolder 18: potatoHolder
19: potatoEffect 19: potatoEffect
20: potatoIcon 20: potatoIcon
player: player:
0: queenPoints 0: queenPoints
1: queenPointsHUD 1: queenPointsHUD
2: sprint 2: sprint
3: soldierPoints 3: soldierPoints
4: soldierPointsHUD 4: soldierPointsHUD
5: mccreeInvincibleTime 5: mccreeInvincibleTime
6: mccreeInvincibleText 6: mccreeInvincibleText
7: mccreeInvincibleHUD 7: mccreeInvincibleHUD
8: mccreeHealthHUD 8: mccreeHealthHUD
9: pharahHealEffect
10: pharahDamageBoostEffect
11: pharahHeal
12: pharahDamageBoost
}}
subroutinessubroutines
{{
0: gameModeDescriptionMessages 0: gameModeDescriptionMessages
}}
rule("Disable bulit-in game mode & start timer variables {Game in progress GLOBAL}")rule("Disable bulit-in game mode & start timer variables {Game in progress GLOBAL}")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
} }
actions actions
{ {
Disable Built-In Game Mode Completion; Disable Built-In Game Mode Completion;
Disable Built-In Game Mode Music; Disable Built-In Game Mode Music;
Disable Built-In Game Mode Announcer; Disable Built-In Game Mode Announcer;
Disable Built-In Game Mode Scoring; Disable Built-In Game Mode Scoring;
Enable Death Spectate All Players(All Players(All Teams)); Enable Death Spectate All Players(All Players(All Teams));
Disable Built-In Game Mode Respawning(All Players(All Teams)); Disable Built-In Game Mode Respawning(All Players(All Teams));
disabled Disable Inspector Recording; disabled Disable Inspector Recording;
Pause Match Time; Pause Match Time;
Set Global Variable(timeCounter, 0.001); Set Global Variable(timeCounter, 0.001);
Set Global Variable(roundTimer, 60); Set Global Variable(roundTimer, 60);
"Creates a HUD in the top with [svr load: {0} | svr avg: {1} | svr peak: {2}]" "Creates a HUD in the top with [svr load: {0} | svr avg: {1} | svr peak: {2}]"
Create HUD Text(Filtered Array(Host Player, Compare(Custom String("#Jokaes", Null, Null, Null), ==, String("#{0}", Host Player, Create HUD Text(Filtered Array(Host Player, Compare(Custom String("#Jokaes", Null, Null, Null), ==, String("#{0}", Host Player,
Null, Null))), Null, Custom String("svr load: {0} | svr avg: {1} | svr peak: {2}", Server Load, Server Load Average, Null, Null))), Null, Custom String("svr load: {0} | svr avg: {1} | svr peak: {2}", Server Load, Server Load Average,
Server Load Peak), Null, Top, -100, White, Purple, White, Visible To and String, Default Visibility); Server Load Peak), Null, Top, -100, White, Purple, White, Visible To and String, Default Visibility);
"Timer or the round HUD {Standard}" "Timer or the round HUD {Standard}"
Create HUD Text(Filtered Array(All Players(All Teams), Compare(Global Variable(roundTimer), >, 10)), Custom String(":{0}", Create HUD Text(Filtered Array(All Players(All Teams), Compare(Global Variable(roundTimer), >, 10)), Custom String(":{0}",
Round To Integer(Global Variable(roundTimer), To Nearest), Null, Null), Null, Null, Right, -999, White, White, White, Round To Integer(Global Variable(roundTimer), To Nearest), Null, Null), Null, Null, Right, -999, White, White, White,
Visible To and String, Default Visibility); Visible To and String, Default Visibility);
"Timer or the round HUD {Last moments}" "Timer or the round HUD {Last moments}"
Create HUD Text(Filtered Array(All Players(All Teams), Compare(Global Variable(roundTimer), <=, 10)), Custom String(":{0}", Create HUD Text(Filtered Array(All Players(All Teams), Compare(Global Variable(roundTimer), <=, 10)), Custom String(":{0}",
Round To Integer(Global Variable(roundTimer), To Nearest), Null, Null), Null, Null, Right, -999, Red, White, White, Round To Integer(Global Variable(roundTimer), To Nearest), Null, Null), Null, Null, Right, -999, Red, White, White,
Visible To and String, Default Visibility); Visible To and String, Default Visibility);
} }
}}
rule("Time Counter - Add minute")rule("Time Counter - Add minute")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
} }
actions actions
{ {
Set Match Time(Global Variable(timeCounter)); Set Match Time(Global Variable(timeCounter));
Wait(60, Ignore Condition); Wait(60, Ignore Condition);
Modify Global Variable(timeCounter, Add, 1); Modify Global Variable(timeCounter, Add, 1);
Loop; Loop;
} }
}}
rule("Is in setup {GLOBAL}")rule("Is in setup {GLOBAL}")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Is In Setup == True; Is In Setup == True;
} }
actions actions
{ {
Enable Death Spectate All Players(All Players(All Teams)); Enable Death Spectate All Players(All Players(All Teams));
Disable Built-In Game Mode Respawning(All Players(All Teams)); Disable Built-In Game Mode Respawning(All Players(All Teams));
Set Global Variable(roundNumber, -1); Set Global Variable(roundNumber, -1);
Set Global Variable(heroModeSelector, Random Integer(0, Subtract(Count Of(Global Variable(heroList)), 1))); Set Global Variable(heroModeSelector, Random Integer(0, Subtract(Count Of(Global Variable(heroList)), 1)));
Set Global Variable(heroList, Empty Array); Set Global Variable(heroList, Empty Array);
Modify Global Variable(heroList, Append To Array, Hero(Ana)); Modify Global Variable(heroList, Append To Array, Hero(Ana));
Modify Global Variable(heroList, Append To Array, Hero(Bastion)); Modify Global Variable(heroList, Append To Array, Hero(Bastion));
Modify Global Variable(heroList, Append To Array, Hero(Brigitte));
Modify Global Variable(heroList, Append To Array, Hero(Doomfist)); Modify Global Variable(heroList, Append To Array, Hero(Doomfist));
Modify Global Variable(heroList, Append To Array, Hero(Genji)); Modify Global Variable(heroList, Append To Array, Hero(Genji));
Modify Global Variable(heroList, Append To Array, Hero(McCree)); Modify Global Variable(heroList, Append To Array, Hero(McCree));
Modify Global Variable(heroList, Append To Array, Hero(Mercy)); Modify Global Variable(heroList, Append To Array, Hero(Mercy));
Modify Global Variable(heroList, Append To Array, Hero(Pharah));
Modify Global Variable(heroList, Append To Array, Hero(Soldier: 76)); Modify Global Variable(heroList, Append To Array, Hero(Soldier: 76));
Modify Global Variable(heroList, Append To Array, Hero(Sombra)); Modify Global Variable(heroList, Append To Array, Hero(Sombra));
Modify Global Variable(heroList, Append To Array, Hero(Torbjörn)); Modify Global Variable(heroList, Append To Array, Hero(Torbjörn));
Modify Global Variable(heroList, Append To Array, Hero(Tracer)); Modify Global Variable(heroList, Append To Array, Hero(Tracer));
Modify Global Variable(heroList, Append To Array, Hero(Widowmaker)); Modify Global Variable(heroList, Append To Array, Hero(Widowmaker));
Modify Global Variable(heroList, Append To Array, Hero(Zenyatta)); Modify Global Variable(heroList, Append To Array, Hero(Zenyatta));
Set Global Variable(heroOfTheRound, Value In Array(Global Variable(heroList), Global Variable(heroModeSelector))); Set Global Variable(heroOfTheRound, Value In Array(Global Variable(heroList), Global Variable(heroModeSelector)));
Create HUD Text(All Players(All Teams), Null, Null, Custom String("Island Party - Heroes Minigames v0.5.0-12.alpha", Null, Null, Create HUD Text(All Players(All Teams), Null, Null, Custom String("Island Party - Heroes Minigames v0.6.0-14.alpha", Null, Null,
Null), Left, -999, White, White, White, Visible To and String, Default Visibility); Null), Left, -998, White, White, White, Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String( Create HUD Text(All Players(All Teams), Null, Null, Custom String(
"Play rounds of {0}/? classic custom games as minigames and score points", Count Of(Global Variable(heroList)), Null, Null), "Play rounds of {0}/? classic custom games as minigames and score points", Count Of(Global Variable(heroList)), Null, Null),
Left, -998, White, White, White, Visible To and String, Default Visibility); Left, -997, White, White, White, Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String("Updated code and my codes in: jokaes.github.io", Null, Null, Create HUD Text(All Players(All Teams), Null, Null, Custom String("Updated code and my codes in: jokaes.github.io", Null, Null,
Null), Left, -997, White, White, White, Visible To and String, Default Visibility); Null), Left, -996, White, White, White, Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String("Created by Jokaes#2263", Null, Null, Null), Left, -996, White, Create HUD Text(All Players(All Teams), Null, Null, Custom String("Created by Jokaes#2263", Null, Null, Null), Left, -995, White,
White, White, Visible To and String, Default Visibility); White, White, Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, String("{0} {1} {2}", String("Round", Null, Null, Null), String("{0}:", Create HUD Text(All Players(All Teams), Null, String("{0} {1} {2}", String("Round", Null, Null, Null), String("{0}:",
Global Variable(roundNumber), Null, Null), Global Variable(heroOfTheRound)), Null, Left, 999, White, White, White, Global Variable(roundNumber), Null, Null), Global Variable(heroOfTheRound)), Null, Left, 999, White, White, White,
Visible To and String, Default Visibility); Visible To and String, Default Visibility);
Wait(1.500, Ignore Condition); Wait(1.500, Ignore Condition);
Start Forcing Player To Be Hero(All Players(All Teams), Global Variable(heroOfTheRound)); Start Forcing Player To Be Hero(All Players(All Teams), Global Variable(heroOfTheRound));
Set Global Variable(potatoPos, Vector(500, 500, 500)); Set Global Variable(potatoPos, Vector(500, 500, 500));
Create HUD Text(Global Variable(tracerQueen), Custom String("QUEEN", Null, Null, Null), Null, Null, Left, 2, Yellow, White, White, Create HUD Text(Global Variable(tracerQueen), Custom String("QUEEN", Null, Null, Null), Null, Null, Left, 2, Yellow, White, White,
Visible To and String, Default Visibility); Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String(" ", Null, Null, Null), Left, -999, White, White, White,
Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String(" ", Null, Null, Null), Left, -999, White, White, White,
Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String(" ", Null, Null, Null), Left, -999, White, White, White,
Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String(" ", Null, Null, Null), Left, -999, White, White, White,
Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String(" ", Null, Null, Null), Left, -999, White, White, White,
Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String(" ", Null, Null, Null), Left, -999, White, White, White,
Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String(" ", Null, Null, Null), Left, -999, White, White, White,
Visible To and String, Default Visibility);
} }
}}
rule("Is game in progress {PLAYER}")rule("Is game in progress {PLAYER}")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
} }
actions actions
{ {
Start Rule(gameModeDescriptionMessages, Do Nothing); Start Rule(gameModeDescriptionMessages, Do Nothing);
Enable Death Spectate All Players(Event Player); Enable Death Spectate All Players(Event Player);
Disable Built-In Game Mode Respawning(Event Player); Disable Built-In Game Mode Respawning(Event Player);
Preload Hero(Event Player, Global Variable(heroList)); Preload Hero(Event Player, Global Variable(heroList));
Set Global Variable(playersStartOfTheRound, All Players(All Teams)); Set Global Variable(playersStartOfTheRound, All Players(All Teams));
Set Player Variable(Event Player, pharahHeal, True);
Set Player Variable(Event Player, pharahDamageBoost, False);
} }
}}
rule("Player join in setup")rule("Player join in setup")
{{
event event
{ {
Player Joined Match; Player Joined Match;
All; All;
All; All;
} }
conditions conditions
{ {
Is In Setup == True; Is In Setup == True;
Has Spawned(Event Player) == True; Has Spawned(Event Player) == True;
} }
actions actions
{ {
Wait(0.512, Ignore Condition); Wait(0.512, Ignore Condition);
Set Player Variable(Event Player, queenPoints, 0); Set Player Variable(Event Player, queenPoints, 0);
Set Player Variable(Event Player, soldierPoints, 0); Set Player Variable(Event Player, soldierPoints, 0);
Set Player Variable(Event Player, pharahHeal, True);
Set Player Variable(Event Player, pharahDamageBoost, False);
Start Forcing Player To Be Hero(Event Player, Global Variable(heroOfTheRound)); Start Forcing Player To Be Hero(Event Player, Global Variable(heroOfTheRound));
Preload Hero(Event Player, Global Variable(heroList)); Preload Hero(Event Player, Global Variable(heroList));
Set Respawn Max Time(Event Player, 9999); Set Respawn Max Time(Event Player, 9999);
} }
}}
rule("Player join with game in progress")rule("Player join with game in progress")
{{
event event
{ {
Player Joined Match; Player Joined Match;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Is Alive(Event Player) == True; Is Alive(Event Player) == True;
} }
actions actions
{ {
Start Rule(gameModeDescriptionMessages, Do Nothing); Start Rule(gameModeDescriptionMessages, Do Nothing);
Set Player Variable(Event Player, queenPoints, 0); Set Player Variable(Event Player, queenPoints, 0);
Set Player Variable(Event Player, soldierPoints, 0); Set Player Variable(Event Player, soldierPoints, 0);
Set Player Variable(Event Player, pharahHeal, True);
Set Player Variable(Event Player, pharahDamageBoost, False);
Disable Built-In Game Mode Respawning(Event Player); Disable Built-In Game Mode Respawning(Event Player);
Wait(0.512, Ignore Condition); Wait(0.512, Ignore Condition);
Start Forcing Player To Be Hero(Event Player, Global Variable(heroOfTheRound)); Start Forcing Player To Be Hero(Event Player, Global Variable(heroOfTheRound));
Teleport(Event Player, Vector(500, 500, 500));
Clear Status(Event Player, Unkillable);
Wait(0.512, Ignore Condition); Wait(0.512, Ignore Condition);
Teleport(Event Player, Vector(500, 500, 500));
Kill(Event Player, Null); Kill(Event Player, Null);
Preload Hero(Event Player, Global Variable(heroList)); Preload Hero(Event Player, Global Variable(heroList));
Set Respawn Max Time(Event Player, 9999); Set Respawn Max Time(Event Player, 9999);
} }
}}
rule("Force players to be the hero of the round")rule("Force players to be the hero of the round")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
All; All;
} }
conditions conditions
{ {
Has Spawned(Event Player) == True; Has Spawned(Event Player) == True;
Is Alive(Event Player) == True; Is Alive(Event Player) == True;
} }
actions actions
{ {
Start Forcing Player To Be Hero(Event Player, Global Variable(heroOfTheRound)); Start Forcing Player To Be Hero(Event Player, Global Variable(heroOfTheRound));
} }
}}
rule("Create new round {OUT OF TIME}")rule("Create new round {OUT OF TIME}")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Global Variable(roundTimer) <= 0; Global Variable(roundTimer) <= 0;
} }
actions actions
{ {
Set Global Variable(roundTimer, 60); Set Global Variable(roundTimer, 60);
Wait(0.032, Ignore Condition); Wait(0.032, Ignore Condition);
Set Global Variable(heroOfPreviousRound, Global Variable(heroOfTheRound)); Set Global Variable(heroOfPreviousRound, Global Variable(heroOfTheRound));
Set Global Variable(heroModeSelector, Random Integer(0, Subtract(Count Of(Global Variable(heroList)), 1))); Set Global Variable(heroModeSelector, Random Integer(0, Subtract(Count Of(Global Variable(heroList)), 1)));
Set Global Variable At Index(heroesRounds, Global Variable(heroModeSelector), True); Set Global Variable At Index(heroesRounds, Global Variable(heroModeSelector), True);
Set Global Variable(heroOfTheRound, Value In Array(Global Variable(heroList), Global Variable(heroModeSelector))); Set Global Variable(heroOfTheRound, Value In Array(Global Variable(heroList), Global Variable(heroModeSelector)));
Wait(0.032, Ignore Condition); Wait(0.032, Ignore Condition);
Loop If(Compare(Global Variable(heroOfTheRound), ==, Global Variable(heroOfPreviousRound))); Loop If(Compare(Global Variable(heroOfTheRound), ==, Global Variable(heroOfPreviousRound)));
Respawn(All Players(All Teams)); Respawn(All Players(All Teams));
Resurrect(All Players(All Teams)); Resurrect(All Players(All Teams));
Wait(0.250, Ignore Condition); Wait(0.250, Ignore Condition);
Start Forcing Player To Be Hero(All Players(All Teams), Global Variable(heroOfTheRound)); Start Forcing Player To Be Hero(All Players(All Teams), Global Variable(heroOfTheRound));
Modify Global Variable(roundNumber, Add, 1); Modify Global Variable(roundNumber, Add, 1);
Big Message(All Players(All Teams), Custom String("ROUND {0}", Global Variable(roundNumber), Null, Null)); Big Message(All Players(All Teams), Custom String("ROUND {0}", Global Variable(roundNumber), Null, Null));
Chase Global Variable At Rate(roundTimer, 0, 1, None); Chase Global Variable At Rate(roundTimer, 0, 1, None);
Set Global Variable(playersStartOfTheRound, All Players(All Teams)); Set Global Variable(playersStartOfTheRound, All Players(All Teams));
} }
}}
rule("Create new round {LAST PLAYER ALIVE}")rule("Create new round {LAST PLAYER ALIVE}")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Number of Living Players(All Teams) <= 1; Number of Living Players(All Teams) <= 1;
} }
actions actions
{ {
Set Global Variable(roundTimer, 60); Set Global Variable(roundTimer, 60);
Wait(0.032, Ignore Condition); Wait(0.032, Ignore Condition);
Set Global Variable(heroOfPreviousRound, Global Variable(heroOfTheRound)); Set Global Variable(heroOfPreviousRound, Global Variable(heroOfTheRound));
Set Global Variable(heroModeSelector, Random Integer(0, Subtract(Count Of(Global Variable(heroList)), 1))); Set Global Variable(heroModeSelector, Random Integer(0, Subtract(Count Of(Global Variable(heroList)), 1)));
Set Global Variable At Index(heroesRounds, Global Variable(heroModeSelector), True); Set Global Variable At Index(heroesRounds, Global Variable(heroModeSelector), True);
Set Global Variable(heroOfTheRound, Value In Array(Global Variable(heroList), Global Variable(heroModeSelector))); Set Global Variable(heroOfTheRound, Value In Array(Global Variable(heroList), Global Variable(heroModeSelector)));
Wait(0.032, Ignore Condition); Wait(0.032, Ignore Condition);
Loop If(Compare(Global Variable(heroOfTheRound), ==, Global Variable(heroOfPreviousRound))); Loop If(Compare(Global Variable(heroOfTheRound), ==, Global Variable(heroOfPreviousRound)));
Respawn(All Players(All Teams)); Respawn(All Players(All Teams));
Resurrect(All Players(All Teams)); Resurrect(All Players(All Teams));
Wait(0.250, Ignore Condition); Wait(0.250, Ignore Condition);
Start Forcing Player To Be Hero(All Players(All Teams), Global Variable(heroOfTheRound)); Start Forcing Player To Be Hero(All Players(All Teams), Global Variable(heroOfTheRound));
Modify Global Variable(roundNumber, Add, 1); Modify Global Variable(roundNumber, Add, 1);
Big Message(All Players(All Teams), Custom String("ROUND {0}", Global Variable(roundNumber), Null, Null)); Big Message(All Players(All Teams), Custom String("ROUND {0}", Global Variable(roundNumber), Null, Null));
Chase Global Variable At Rate(roundTimer, 0, 1, None); Chase Global Variable At Rate(roundTimer, 0, 1, None);
Set Global Variable(playersStartOfTheRound, All Players(All Teams)); Set Global Variable(playersStartOfTheRound, All Players(All Teams));
} }
}}
rule("Full heal and score on kill")rule("Full heal and score on kill")
{{
event event
{ {
Player Dealt Final Blow; Player Dealt Final Blow;
All; All;
All; All;
} }
conditions conditions
{ {
Hero Of(Event Player) != Hero(McCree); Hero Of(Event Player) != Hero(McCree);
} }
actions actions
{ {
Play Effect(All Players(All Teams), Good Pickup Effect, Green, Event Player, 1); Play Effect(All Players(All Teams), Good Pickup Effect, Green, Event Player, 1);
Heal(Event Player, Null, Max Health(Event Player)); Heal(Event Player, Null, Max Health(Event Player));
Modify Player Score(Event Player, 1); Modify Player Score(Event Player, 1);
Small Message(Event Player, Custom String("+1 point with {0} {1}", Hero Icon String(Hero Of(Event Player)), Hero Of(Event Player), Small Message(Event Player, Custom String("+1 point with {0} {1}", Hero Icon String(Hero Of(Event Player)), Hero Of(Event Player),
Null)); Null));
} }
}}
rule("String Arrays (Title, credit, code and instructions)")rule("String Arrays (Title, credit, code and instructions)")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
actions actions
{ {
Create HUD Text(All Players(All Teams), Value In Array(Append To Array(Append To Array(Append To Array(Append To Array( Create HUD Text(All Players(All Teams), Value In Array(Append To Array(Append To Array(Append To Array(Append To Array(
Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array( Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(
Append To Array(Empty Array, Custom String("{0} PAINTBALL {0}", Hero Icon String(Hero(Ana)), Null, Null)), Custom String( Append To Array(Append To Array(Append To Array(Empty Array, Custom String("{0} PAINTBALL {0}", Hero Icon String(Hero(Ana)),
"{0} WORLD OF TANKS {0}", Hero Icon String(Hero(Bastion)), Null, Null)), Custom String("{0} SUMO {0}", Hero Icon String(Hero( Null, Null)), Custom String("{0} WORLD OF TANKS {0}", Hero Icon String(Hero(Bastion)), Null, Null)), Custom String(
Doomfist)), Null, Null)), Custom String("{0} DASH {0}", Hero Icon String(Hero(Genji)), Null, Null)), Custom String( "{0} BOOP {0}", Hero Icon String(Hero(Brigitte)), Null, Null)), Custom String("{0} SUMO {0}", Hero Icon String(Hero(Doomfist)),
"{0} HOT POTATO {0}", Hero Icon String(Hero(McCree)), Null, Null)), Custom String("{0} 1 PUNCH {0}", Hero Icon String(Hero( Null, Null)), Custom String("{0} DASH {0}", Hero Icon String(Hero(Genji)), Null, Null)), Custom String("{0} HOT POTATO {0}",
Mercy)), Null, Null)), Custom String("{0} SPRINT RACING {0}", Hero Icon String(Hero(Soldier: 76)), Null, Null)), Custom String( Hero Icon String(Hero(McCree)), Null, Null)), Custom String("{0} 1 PUNCH {0}", Hero Icon String(Hero(Mercy)), Null, Null)),
"{0} HACK TO KILL {0}", Hero Icon String(Hero(Sombra)), Null, Null)), Custom String("{0} HAMMER ONLY {0}", Hero Icon String( Custom String("{0} PHARMERCY SIMULATED {0}", Hero Icon String(Hero(Pharah)), Null, Null)), Custom String(
Hero(Torbjörn)), Null, Null)), Custom String("{0} STEAL THE CROWN {0}", Hero Icon String(Hero(Tracer)), Null, Null)), "{0} SPRINT RACING {0}", Hero Icon String(Hero(Soldier: 76)), Null, Null)), Custom String("{0} HACK TO KILL {0}",
Custom String("{0} HS ONLY {0}", Hero Icon String(Hero(Widowmaker)), Null, Null)), Custom String("{0} SPARTA MODE {0}", Hero Icon String(Hero(Sombra)), Null, Null)), Custom String("{0} HAMMER ONLY {0}", Hero Icon String(Hero(Torbjörn)), Null,
Hero Icon String(Hero(Zenyatta)), Null, Null)), Global Variable(heroModeSelector)), Custom String("", Null, Null, Null), Null)), Custom String("{0} STEAL THE CROWN {0}", Hero Icon String(Hero(Tracer)), Null, Null)), Custom String("{0} HS ONLY {0}",
Custom String("", Null, Null, Null), Top, -3, Orange, White, White, Visible To and String, Default Visibility); Hero Icon String(Hero(Widowmaker)), Null, Null)), Custom String("{0} SPARTA MODE {0}", Hero Icon String(Hero(Zenyatta)), Null,
Null)), Global Variable(heroModeSelector)), Custom String("", Null, Null, Null), Custom String("", Null, Null, Null), Top, -3,
Orange, White, White, Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Value In Array(Append To Array(Append To Array(Append To Array(Append To Array( Create HUD Text(All Players(All Teams), Null, Null, Value In Array(Append To Array(Append To Array(Append To Array(Append To Array(
Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array( Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(
Append To Array(Empty Array, Custom String("", Null, Null, Null)), Custom String("", Null, Null, Null)), Custom String( Append To Array(Append To Array(Append To Array(Empty Array, Custom String("", Null, Null, Null)), Custom String("", Null,
"BY CREBOS & CLAMINUIM", Null, Null, Null)), Custom String("BY GANTZ", Null, Null, Null)), Custom String("BY KEVLAR", Null, Null, Null)), Custom String("Play it more on 55MMT / VQVRG", Null, Null, Null)), Custom String("Play it more on 9G11W", Null,
Null, Null)), Custom String("", Null, Null, Null)), Custom String("BY DARWIN", Null, Null, Null)), Custom String("BY TEHFOOT", Null, Null)), Custom String("Play it more on DDNSZ", Null, Null, Null)), Custom String("Play it more on E515J", Null, Null,
Null, Null, Null)), Custom String("", Null, Null, Null)), Custom String("BY KEVLAR", Null, Null, Null)), Custom String("", Null)), Custom String("", Null, Null, Null)), Custom String("Play it more on DKKKD", Null, Null, Null)), Custom String(
Null, Null, Null)), Custom String("ORIGINALLY CREATED BY DARWIN", Null, Null, Null)), Global Variable(heroModeSelector)), Top, "Play it more on STJTC", Null, Null, Null)), Custom String("Play it more on YJK0D6", Null, Null, Null)), Custom String("",
-2, White, White, White, Visible To and String, Default Visibility); Null, Null, Null)), Custom String("Play it more on 1FM74", Null, Null, Null)), Custom String("", Null, Null, Null)),
Custom String("", Null, Null, Null)), Global Variable(heroModeSelector)), Top, -2, White, White, White, Visible To and String,
Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Value In Array(Append To Array(Append To Array(Append To Array(Append To Array( Create HUD Text(All Players(All Teams), Null, Null, Value In Array(Append To Array(Append To Array(Append To Array(Append To Array(
Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array( Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(
Append To Array(Empty Array, Custom String("", Null, Null, Null)), Custom String("", Null, Null, Null)), Custom String("9G11W", Append To Array(Append To Array(Append To Array(Empty Array, Custom String("", Null, Null, Null)), Custom String("", Null,
Null, Null, Null)), Custom String("DDNSZ", Null, Null, Null)), Custom String("E515J", Null, Null, Null)), Custom String("", Null, Null)), Custom String("BY FARRON / BLOCK", Null, Null, Null)), Custom String("BY CREBOS & CLAMINUIM", Null, Null, Null)),
Null, Null, Null)), Custom String("STJTC", Null, Null, Null)), Custom String("YJK0D6", Null, Null, Null)), Custom String("", Custom String("BY GANTZ", Null, Null, Null)), Custom String("BY KEVLAR", Null, Null, Null)), Custom String("", Null, Null,
Null, Null, Null)), Custom String("1FM74", Null, Null, Null)), Custom String("", Null, Null, Null)), Custom String("", Null, Null)), Custom String("BY SEITA", Null, Null, Null)), Custom String("BY DARWIN", Null, Null, Null)), Custom String(
Null, Null)), Global Variable(heroModeSelector)), Top, -1, White, White, White, Visible To and String, Default Visibility); "BY TEHFOOT", Null, Null, Null)), Custom String("", Null, Null, Null)), Custom String("BY KEVLAR", Null, Null, Null)),
Custom String("", Null, Null, Null)), Custom String("ORIGINALLY CREATED BY DARWIN", Null, Null, Null)), Global Variable(
heroModeSelector)), Top, -1, White, White, White, Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Value In Array(Append To Array(Append To Array(Append To Array(Append To Array( Create HUD Text(All Players(All Teams), Null, Null, Value In Array(Append To Array(Append To Array(Append To Array(Append To Array(
Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array( Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(Append To Array(
Append To Array(Empty Array, Custom String("One shoot to kill!", Null, Null, Null)), Custom String( Append To Array(Append To Array(Append To Array(Empty Array, Custom String("One shoot to kill!", Null, Null, Null)),
Custom String(
"A tank is made up of thousands of moving parts, but the most important is YOU. Take control of the ultimate strategic shoo{0}", "A tank is made up of thousands of moving parts, but the most important is YOU. Take control of the ultimate strategic shoo{0}",
Custom String("ter!", Null, Null, Null), Null, Null)), Custom String("Get everyone out of the plataform!", Null, Null, Null)), Custom String("ter!", Null, Null, Null), Null, Null)), Custom String("Boop them out of the Island!", Null, Null, Null)),
Custom String("Dash!", Null, Null, Null)), Custom String("Pass the hot potato to someone else!", Null, Null, Null)), Custom String("Get everyone out of the plataform!", Null, Null, Null)), Custom String("Dash!", Null, Null, Null)),
Custom String("Punch to kill and get ultimate!", Null, Null, Null)), Custom String("Gotta go fast to the objectives!", Null, Custom String("Pass the hot potato to someone else!", Null, Null, Null)), Custom String("Punch to kill and get ultimate!",
Null, Null)), Custom String("Hack an opponent to kill them!", Null, Null, Null)), Custom String("Overload and hammer down!", Null, Null, Null)), Custom String("Kill them all with your Mercy pocket simulated!", Null, Null, Null)), Custom String(
Null, Null, Null)), Custom String("Meele to steal the crown!", Null, Null, Null)), Custom String("Aim to head!", Null, Null, "Gotta go fast to the objectives!", Null, Null, Null)), Custom String("Hack an opponent to kill them!", Null, Null, Null)),
Null)), Custom String("Kick them for Spartaaa!", Null, Null, Null)), Global Variable(heroModeSelector)), Top, 1, White, White, Custom String("Overload and hammer down!", Null, Null, Null)), Custom String("Meele to steal the crown!", Null, Null, Null)),
White, Visible To and String, Default Visibility); Custom String("Aim to head!", Null, Null, Null)), Custom String("Kick them for Spartaaa!", Null, Null, Null)), Global Variable(
heroModeSelector)), Top, 1, White, White, White, Visible To and String, Default Visibility);
} }
}}
rule("Description and credit (Small Messages)")rule("Description and credit (Small Messages)")
{{
event event
{ {
Subroutine; Subroutine;
gameModeDescriptionMessages; gameModeDescriptionMessages;
} }
actions actions
{ {
Wait(3.500, Ignore Condition); Wait(3.500, Ignore Condition);
Small Message(Event Player, Custom String("Island Party - Heroes Minigames v0.5.0-12.alpha", Null, Null, Null)); Small Message(Event Player, Custom String("Island Party - Heroes Minigames v0.6.0-14.alpha", Null, Null, Null));
Wait(3.500, Ignore Condition); Wait(3.500, Ignore Condition);
Small Message(Event Player, Custom String("Play rounds of {0} minigames", Count Of(Global Variable(heroList)), Null, Null)); Small Message(Event Player, Custom String("Play rounds of {0} minigames", Count Of(Global Variable(heroList)), Null, Null));
Wait(3.500, Ignore Condition); Wait(3.500, Ignore Condition);
Small Message(Event Player, Custom String("Created by Jokaes#2263", Null, Null, Null)); Small Message(Event Player, Custom String("Created by Jokaes#2263", Null, Null, Null));
} }
}}
rule("----- HEROES -----")rule("----- HEROES -----")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
}}
rule("ZEN mega-kick")rule("ZEN mega-kick")
{{
event event
{ {
Player Dealt Damage; Player Dealt Damage;
All; All;
Zenyatta; Zenyatta;
} }
actions actions
{ {
Apply Impulse(Victim, Add(Facing Direction Of(Event Player), Vector(0, 0.100, 0)), 75, To World, Cancel Contrary Motion); Apply Impulse(Victim, Add(Facing Direction Of(Event Player), Vector(0, 0.100, 0)), 75, To World, Cancel Contrary Motion);
} }
}}
rule("TRACER create crown")rule("TRACER create crown")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Tracer); Global Variable(heroOfTheRound) == Hero(Tracer);
Global Variable(tracerQueen) == Null; Global Variable(tracerQueen) == Null;
} }
actions actions
{ {
Destroy Effect(Global Variable(crownEffect)); Destroy Effect(Global Variable(crownEffect));
Set Global Variable(crownPos, Vector(0, 1.500, 0)); Set Global Variable(crownPos, Vector(0, 1.500, 0));
Create Effect(All Players(All Teams), Good Aura, Yellow, Global Variable(crownPos), 1, Visible To Position and Radius); Create Effect(All Players(All Teams), Good Aura, Yellow, Global Variable(crownPos), 1, Visible To Position and Radius);
Set Global Variable(crownEffect, Last Created Entity); Set Global Variable(crownEffect, Last Created Entity);
} }
}}
rule("TRACER stun & steal")rule("TRACER stun & steal")
{{
event event
{ {
Player Dealt Damage; Player Dealt Damage;
All; All;
Tracer; Tracer;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Tracer); Global Variable(heroOfTheRound) == Hero(Tracer);
} }
actions actions
{ {
Set Status(Victim, Event Player, Stunned, 0.750); Set Status(Victim, Event Player, Stunned, 0.750);
If(Compare(Global Variable(tracerQueen), ==, Victim)); If(Compare(Global Variable(tracerQueen), ==, Victim));
Play Effect(All Players(All Teams), Buff Impact Sound, Yellow, Event Player, 50); Play Effect(All Players(All Teams), Buff Impact Sound, Yellow, Event Player, 50);
Set Global Variable(tracerQueen, Attacker); Set Global Variable(tracerQueen, Attacker);
Set Global Variable(crownPos, Attacker); Set Global Variable(crownPos, Attacker);
End; End;
} }
}}
rule("TRACER init queen")rule("TRACER init queen")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Tracer); Global Variable(heroOfTheRound) == Hero(Tracer);
} }
actions actions
{ {
Set Player Variable(Event Player, queenPoints, 0); Set Player Variable(Event Player, queenPoints, 0);
Wait(0.256, Ignore Condition); Wait(0.256, Ignore Condition);
Create HUD Text(All Players(All Teams), Null, Null, Custom String("{0} : {1} / 10", Event Player, Player Variable(Event Player, Create HUD Text(All Players(All Teams), Null, Null, Custom String("{0} : {1} / 10", Event Player, Player Variable(Event Player,
queenPoints), Null), Left, Multiply(Add(Player Variable(Event Player, queenPoints), 10), -1), White, White, Yellow, queenPoints), Null), Left, Multiply(Add(Player Variable(Event Player, queenPoints), 10), -1), White, White, Yellow,
Visible To Sort Order and String, Default Visibility); Visible To Sort Order and String, Default Visibility);
Set Player Variable(Event Player, queenPointsHUD, Last Text ID); Set Player Variable(Event Player, queenPointsHUD, Last Text ID);
} }
}}
rule("TRACER first queen")rule("TRACER first queen")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Is Alive(Event Player) == True; Is Alive(Event Player) == True;
Distance Between(Event Player, Position Of(Global Variable(crownEffect))) <= 1.500; Distance Between(Event Player, Position Of(Global Variable(crownEffect))) <= 1.500;
Global Variable(heroOfTheRound) == Hero(Tracer); Global Variable(heroOfTheRound) == Hero(Tracer);
Global Variable(tracerQueen) == Null; Global Variable(tracerQueen) == Null;
} }
actions actions
{ {
Wait(0.064, Abort When False); Wait(0.064, Abort When False);
Set Global Variable(tracerQueen, Event Player); Set Global Variable(tracerQueen, Event Player);
Set Global Variable(crownPos, Event Player); Set Global Variable(crownPos, Event Player);
} }
}}
rule("TRACER queen points")rule("TRACER queen points")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
Tracer; Tracer;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Is Alive(Event Player) == True; Is Alive(Event Player) == True;
Global Variable(heroOfTheRound) == Hero(Tracer); Global Variable(heroOfTheRound) == Hero(Tracer);
Global Variable(tracerQueen) == Event Player; Global Variable(tracerQueen) == Event Player;
} }
actions actions
{ {
Wait(1, Abort When False); Wait(1, Abort When False);
Modify Player Variable(Event Player, queenPoints, Add, 1); Modify Player Variable(Event Player, queenPoints, Add, 1);
Play Effect(All Players(All Teams), Good Pickup Effect, Yellow, Event Player, 1); Play Effect(All Players(All Teams), Good Pickup Effect, Yellow, Event Player, 1);
Play Effect(All Players(All Teams), Buff Explosion Sound, Yellow, Event Player, 50); Play Effect(All Players(All Teams), Buff Explosion Sound, Yellow, Event Player, 50);
Loop If Condition Is True; Loop If Condition Is True;
} }
}}
rule("TRACER queen winner")rule("TRACER queen winner")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
Tracer; Tracer;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Tracer); Global Variable(heroOfTheRound) == Hero(Tracer);
Global Variable(tracerQueen) == Event Player; Global Variable(tracerQueen) == Event Player;
Player Variable(Event Player, queenPoints) >= 10; Player Variable(Event Player, queenPoints) >= 10;
} }
actions actions
{ {
Modify Player Score(Event Player, Count Of(Global Variable(playersStartOfTheRound))); Modify Player Score(Event Player, Count Of(Global Variable(playersStartOfTheRound)));
Small Message(Event Player, Custom String("+{0} points with {1} {2}", Count Of(Global Variable(playersStartOfTheRound)), Small Message(Event Player, Custom String("+{0} points with {1} {2}", Count Of(Global Variable(playersStartOfTheRound)),
Hero Icon String(Hero Of(Event Player)), Hero Of(Event Player))); Hero Icon String(Hero Of(Event Player)), Hero Of(Event Player)));
Kill(Remove From Array(All Players(All Teams), Event Player), Null); Kill(Remove From Array(All Players(All Teams), Event Player), Null);
} }
}}
rule("TRACER dead queen")rule("TRACER dead queen")
{{
event event
{ {
Player Died; Player Died;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Tracer); Global Variable(heroOfTheRound) == Hero(Tracer);
Global Variable(tracerQueen) == Event Player; Global Variable(tracerQueen) == Event Player;
} }
actions actions
{ {
Set Global Variable(tracerQueen, Null); Set Global Variable(tracerQueen, Null);
Set Global Variable(crownPos, Vector(0, 1.500, 0)); Set Global Variable(crownPos, Vector(0, 1.500, 0));
} }
}}
rule("TRACER leaver queen")rule("TRACER leaver queen")
{{
event event
{ {
Player Left Match; Player Left Match;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Tracer); Global Variable(heroOfTheRound) == Hero(Tracer);
Global Variable(tracerQueen) == Event Player; Global Variable(tracerQueen) == Event Player;
} }
actions actions
{ {
Set Global Variable(tracerQueen, Null); Set Global Variable(tracerQueen, Null);
Set Global Variable(crownPos, Vector(0, 1.500, 0)); Set Global Variable(crownPos, Vector(0, 1.500, 0));
} }
}}
rule("TRACER destroy crown")rule("TRACER destroy crown")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) != Hero(Tracer); Global Variable(heroOfTheRound) != Hero(Tracer);
} }
actions actions
{ {
Destroy Effect(Global Variable(crownEffect)); Destroy Effect(Global Variable(crownEffect));
} }
}}
rule("TRACER queen end of the round")rule("TRACER queen end of the round")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) != Hero(Tracer); Global Variable(heroOfTheRound) != Hero(Tracer);
} }
actions actions
{ {
Set Player Variable(Event Player, queenPoints, 0); Set Player Variable(Event Player, queenPoints, 0);
Destroy HUD Text(Player Variable(Event Player, queenPointsHUD)); Destroy HUD Text(Player Variable(Event Player, queenPointsHUD));
Set Global Variable(tracerQueen, Null); Set Global Variable(tracerQueen, Null);
} }
}}
rule("SOLDIER init & phased out")rule("SOLDIER init & phased out")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
Soldier: 76; Soldier: 76;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Soldier: 76); Global Variable(heroOfTheRound) == Hero(Soldier: 76);
} }
actions actions
{ {
Set Status(Event Player, Null, Phased Out, Global Variable(roundTimer)); Set Status(Event Player, Null, Phased Out, Global Variable(roundTimer));
Set Player Variable(Event Player, soldierPoints, 0); Set Player Variable(Event Player, soldierPoints, 0);
Wait(0.256, Ignore Condition); Wait(0.256, Ignore Condition);
Create HUD Text(All Players(All Teams), Null, Null, Custom String("{0} : {1} / 6", Event Player, Player Variable(Event Player, Create HUD Text(All Players(All Teams), Null, Null, Custom String("{0} : {1} / 5", Event Player, Player Variable(Event Player,
soldierPoints), Null), Left, Multiply(Add(Player Variable(Event Player, soldierPoints), 10), -1), White, White, Blue, soldierPoints), Null), Left, Multiply(Add(Player Variable(Event Player, soldierPoints), 10), -1), White, White, Blue,
Visible To Sort Order and String, Default Visibility); Visible To Sort Order and String, Default Visibility);
Set Player Variable(Event Player, soldierPointsHUD, Last Text ID); Set Player Variable(Event Player, soldierPointsHUD, Last Text ID);
} }
}}
rule("SOLDIER sprint")rule("SOLDIER sprint")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
Soldier: 76; Soldier: 76;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Is Using Ability 1(Event Player) == True; Is Using Ability 1(Event Player) == True;
Horizontal Speed Of(Event Player) > 5; Horizontal Speed Of(Event Player) > 5;
Global Variable(heroOfTheRound) == Hero(Soldier: 76); Global Variable(heroOfTheRound) == Hero(Soldier: 76);
} }
actions actions
{ {
Set Status(Event Player, Null, Phased Out, 60); Set Status(Event Player, Null, Phased Out, 60);
Modify Player Variable(Event Player, sprint, Add, 1); Modify Player Variable(Event Player, sprint, Add, 1);
Set Move Speed(Event Player, Player Variable(Event Player, sprint)); Set Move Speed(Event Player, Player Variable(Event Player, sprint));
Wait(0.100, Ignore Condition); Wait(0.100, Ignore Condition);
Loop If Condition Is True; Loop If Condition Is True;
Set Player Variable(Event Player, sprint, 100); Set Player Variable(Event Player, sprint, 100);
Set Move Speed(Event Player, 100); Set Move Speed(Event Player, 100);
} }
}}
rule("SOLDIER off phased out and speed")rule("SOLDIER off phased out and speed")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) != Hero(Soldier: 76); Global Variable(heroOfTheRound) != Hero(Soldier: 76);
Hero Of(Event Player) != Hero(Soldier: 76); Hero Of(Event Player) != Hero(Soldier: 76);
} }
actions actions
{ {
Clear Status(Event Player, Phased Out); Clear Status(Event Player, Phased Out);
Set Move Speed(Event Player, 100); Set Move Speed(Event Player, 100);
} }
}}
rule("SOLDIER objective")rule("SOLDIER objective")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Soldier: 76); Global Variable(heroOfTheRound) == Hero(Soldier: 76);
} }
actions actions
{ {
Set Global Variable(soldierObjectivePos, Vector(Random Real(-16, 16), 0, Random Real(-16, 16))); Set Global Variable(soldierObjectivePos, Vector(Random Real(-16, 16), 0, Random Real(-16, 16)));
Create Effect(All Players(All Teams), Light Shaft, Blue, Global Variable(soldierObjectivePos), 1.500, Create Effect(All Players(All Teams), Light Shaft, Blue, Global Variable(soldierObjectivePos), 1.500,
Visible To Position and Radius); Visible To Position and Radius);
Set Global Variable(soldierObjective, Last Created Entity); Set Global Variable(soldierObjective, Last Created Entity);
Create Effect(All Players(All Teams), Light Shaft, Blue, Global Variable(soldierObjectivePos), 1.500, Create Effect(All Players(All Teams), Light Shaft, Blue, Global Variable(soldierObjectivePos), 1.500,
Visible To Position and Radius); Visible To Position and Radius);
Set Global Variable(soldierObjective2, Last Created Entity); Set Global Variable(soldierObjective2, Last Created Entity);
Create Effect(All Players(All Teams), Light Shaft, Blue, Global Variable(soldierObjectivePos), 1.500, Create Effect(All Players(All Teams), Light Shaft, Blue, Global Variable(soldierObjectivePos), 1.500,
Visible To Position and Radius); Visible To Position and Radius);
Set Global Variable(soldierObjective3, Last Created Entity); Set Global Variable(soldierObjective3, Last Created Entity);
Wait(0.016, Ignore Condition); Wait(0.016, Ignore Condition);
Create Icon(All Players(All Teams), Global Variable(soldierObjectivePos), Flag, Visible To and Position, Blue, True); Create Icon(All Players(All Teams), Global Variable(soldierObjectivePos), Flag, Visible To and Position, Blue, True);
Set Global Variable(soldierObjectiveIcon, Last Created Entity); Set Global Variable(soldierObjectiveIcon, Last Created Entity);
} }
}}
rule("SOLDIER point")rule("SOLDIER point")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
Soldier: 76; Soldier: 76;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Is Alive(Event Player) == True; Is Alive(Event Player) == True;
Distance Between(Event Player, Global Variable(soldierObjectivePos)) <= 1.550; Distance Between(Event Player, Global Variable(soldierObjectivePos)) <= 1.550;
Global Variable(heroOfTheRound) == Hero(Soldier: 76); Global Variable(heroOfTheRound) == Hero(Soldier: 76);
} }
actions actions
{ {
Modify Player Score(Event Player, 1); Modify Player Score(Event Player, 1);
Small Message(Event Player, Custom String("+1 point with {0} {1}", Hero Icon String(Hero Of(Event Player)), Hero Of(Event Player), Small Message(Event Player, Custom String("+1 point with {0} {1}", Hero Icon String(Hero Of(Event Player)), Hero Of(Event Player),
Null)); Null));
Modify Player Variable(Event Player, soldierPoints, Add, 1); Modify Player Variable(Event Player, soldierPoints, Add, 1);
Set Global Variable(soldierObjectivePos, Vector(Random Real(-16, 16), 0, Random Real(-16, 16))); Set Global Variable(soldierObjectivePos, Vector(Random Real(-16, 16), 0, Random Real(-16, 16)));
Play Effect(All Players(All Teams), Good Pickup Effect, Blue, Event Player, 1); Play Effect(All Players(All Teams), Good Pickup Effect, Blue, Event Player, 1);
Play Effect(All Players(All Teams), Buff Explosion Sound, Blue, Event Player, 100); Play Effect(All Players(All Teams), Buff Explosion Sound, Blue, Event Player, 100);
} }
}}
rule("SOLDIER winner")rule("SOLDIER winner")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
Soldier: 76; Soldier: 76;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Soldier: 76); Global Variable(heroOfTheRound) == Hero(Soldier: 76);
Player Variable(Event Player, soldierPoints) >= 6; Player Variable(Event Player, soldierPoints) >= 5;
} }
actions actions
{ {
disabled Kill(Remove From Array(All Living Players(All Teams), Event Player), Event Player); disabled Kill(Remove From Array(All Living Players(All Teams), Event Player), Event Player);
Set Global Variable(roundTimer, 0); Set Global Variable(roundTimer, 0);
} }
}}
rule("SOLDIER end of the round {GLOBAL}")rule("SOLDIER end of the round {GLOBAL}")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) != Hero(Soldier: 76); Global Variable(heroOfTheRound) != Hero(Soldier: 76);
} }
actions actions
{ {
Destroy Effect(Global Variable(soldierObjective)); Destroy Effect(Global Variable(soldierObjective));
Destroy Effect(Global Variable(soldierObjective2)); Destroy Effect(Global Variable(soldierObjective2));
Destroy Effect(Global Variable(soldierObjective3)); Destroy Effect(Global Variable(soldierObjective3));
Destroy Icon(Global Variable(soldierObjectiveIcon)); Destroy Icon(Global Variable(soldierObjectiveIcon));
} }
}}
rule("SOLDIER end of the round {EACH PLAYER}")rule("SOLDIER end of the round {EACH PLAYER}")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) != Hero(Soldier: 76); Global Variable(heroOfTheRound) != Hero(Soldier: 76);
} }
actions actions
{ {
Set Player Variable(Event Player, soldierPoints, 0); Set Player Variable(Event Player, soldierPoints, 0);
Destroy HUD Text(Player Variable(Event Player, soldierPointsHUD)); Destroy HUD Text(Player Variable(Event Player, soldierPointsHUD));
} }
}}
rule("MCCREE init player")rule("MCCREE init player")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
McCree; McCree;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(McCree); Global Variable(heroOfTheRound) == Hero(McCree);
} }
actions actions
{ {
Wait(0.256, Ignore Condition); Wait(0.256, Ignore Condition);
Create HUD Text(All Players(All Teams), Null, Null, Custom String("{0} : {1}", Event Player, Round To Integer(Health(Event Player), Create HUD Text(All Players(All Teams), Null, Null, Custom String("{0} : {1}", Event Player, Round To Integer(Health(Event Player),
Up), Null), Left, Multiply(Health(Event Player), -1), White, White, Red, Visible To Sort Order and String, Default Visibility); Up), Null), Left, Multiply(Health(Event Player), -1), White, White, Red, Visible To Sort Order and String, Default Visibility);
Set Player Variable(Event Player, mccreeHealthHUD, Last Text ID); Set Player Variable(Event Player, mccreeHealthHUD, Last Text ID);
} }
}}
rule("MCCREE choose a potato holder")rule("MCCREE choose a potato holder")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(McCree); Global Variable(heroOfTheRound) == Hero(McCree);
Global Variable(potatoHolder) == Null; Global Variable(potatoHolder) == Null;
} }
actions actions
{ {
Set Global Variable(potatoHolder, Random Value In Array(All Living Players(All Teams))); Set Global Variable(potatoHolder, Random Value In Array(All Living Players(All Teams)));
Set Global Variable(potatoPos, Global Variable(potatoHolder)); Set Global Variable(potatoPos, Global Variable(potatoHolder));
} }
}}
rule("MCCREE potato effect")rule("MCCREE potato effect")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(McCree); Global Variable(heroOfTheRound) == Hero(McCree);
} }
actions actions
{ {
Create Effect(All Players(All Teams), Bad Aura, Red, Global Variable(potatoPos), 1, Visible To Position and Radius); Create Effect(All Players(All Teams), Bad Aura, Red, Global Variable(potatoPos), 1, Visible To Position and Radius);
Set Global Variable(potatoEffect, Last Created Entity); Set Global Variable(potatoEffect, Last Created Entity);
Create Icon(All Players(All Teams), Global Variable(potatoPos), Fire, Visible To and Position, Red, True); Create Icon(All Players(All Teams), Global Variable(potatoPos), Fire, Visible To and Position, Red, True);
Set Global Variable(potatoIcon, Last Created Entity); Set Global Variable(potatoIcon, Last Created Entity);
} }
}}
rule("MCCREE potato holder")rule("MCCREE potato holder")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
McCree; McCree;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Is Alive(Event Player) == True; Is Alive(Event Player) == True;
Global Variable(heroOfTheRound) == Hero(McCree); Global Variable(heroOfTheRound) == Hero(McCree);
Event Player == Global Variable(potatoHolder); Event Player == Global Variable(potatoHolder);
} }
actions actions
{ {
Set Status(Event Player, Null, Burning, Global Variable(roundTimer)); Set Status(Event Player, Null, Burning, Global Variable(roundTimer));
Play Effect(All Players(All Teams), Debuff Impact Sound, White, Event Player, 50); Play Effect(All Players(All Teams), Debuff Impact Sound, White, Event Player, 50);
Start Damage Over Time(Event Player, Null, Global Variable(roundTimer), 250); Start Damage Over Time(Event Player, Null, Global Variable(roundTimer), 250);
Set Move Speed(Event Player, 110); Set Move Speed(Event Player, 110);
Allow Button(Event Player, Primary Fire); Allow Button(Event Player, Primary Fire);
Allow Button(Event Player, Melee); Allow Button(Event Player, Melee);
} }
}}
rule("MCCREE not potato holder")rule("MCCREE not potato holder")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
McCree; McCree;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(McCree); Global Variable(heroOfTheRound) == Hero(McCree);
Event Player != Global Variable(potatoHolder); Event Player != Global Variable(potatoHolder);
} }
actions actions
{ {
Clear Status(Event Player, Burning); Clear Status(Event Player, Burning);
Stop Damage Over Time(Last Damage Over Time ID); Stop All Damage Over Time(Event Player);
Set Move Speed(Event Player, 100); Set Move Speed(Event Player, 100);
Disallow Button(Event Player, Primary Fire); Disallow Button(Event Player, Primary Fire);
Disallow Button(Event Player, Melee); Disallow Button(Event Player, Melee);
} }
}}
rule("MCCREE pas​s the potato")rule("MCCREE pas​s the potato")
{{
event event
{ {
Player Dealt Damage; Player Dealt Damage;
All; All;
McCree; McCree;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Is Alive(Event Player) == True; Is Alive(Event Player) == True;
Global Variable(heroOfTheRound) == Hero(McCree); Global Variable(heroOfTheRound) == Hero(McCree);
Event Player == Global Variable(potatoHolder); Event Player == Global Variable(potatoHolder);
} }
actions actions
{ {
Destroy In-World Text(Player Variable(Event Player, mccreeInvincibleText)); Destroy In-World Text(Player Variable(Event Player, mccreeInvincibleText));
Destroy HUD Text(Player Variable(Event Player, mccreeInvincibleHUD)); Destroy HUD Text(Player Variable(Event Player, mccreeInvincibleHUD));
Set Global Variable(potatoHolder, Victim); Set Global Variable(potatoHolder, Victim);
Set Global Variable(potatoPos, Victim); Set Global Variable(potatoPos, Victim);
Set Player Variable(Event Player, mccreeInvincibleTime, 1); Set Player Variable(Event Player, mccreeInvincibleTime, 1);
Set Status(Event Player, Null, Invincible, Player Variable(Event Player, mccreeInvincibleTime)); Set Status(Event Player, Null, Invincible, Player Variable(Event Player, mccreeInvincibleTime));
Create In-World Text(Filtered Array(All Players(All Teams), Compare(Player Variable(Event Player, mccreeInvincibleTime), >, 0)), Create In-World Text(Filtered Array(All Players(All Teams), Compare(Player Variable(Event Player, mccreeInvincibleTime), >, 0)),
Custom String("INVINCIBLE: {0}", Player Variable(Event Player, mccreeInvincibleTime), Null, Null), Attacker, 1, Custom String("INVINCIBLE: {0}", Player Variable(Event Player, mccreeInvincibleTime), Null, Null), Attacker, 1,
Clip Against Surfaces, Visible To Position and String, Yellow, Default Visibility); Clip Against Surfaces, Visible To Position and String, Yellow, Default Visibility);
Set Player Variable(Event Player, mccreeInvincibleText, Last Text ID); Set Player Variable(Event Player, mccreeInvincibleText, Last Text ID);
Wait(0.016, Ignore Condition); Wait(0.016, Ignore Condition);
Create HUD Text(Filtered Array(Event Player, Compare(Player Variable(Event Player, mccreeInvincibleTime), >, 0)), Custom String( Create HUD Text(Filtered Array(Event Player, Compare(Player Variable(Event Player, mccreeInvincibleTime), >, 0)), Custom String(
"INVINCIBLE: {0}", Player Variable(Event Player, mccreeInvincibleTime), Null, Null), Null, Null, Left, 2, Yellow, White, White, "INVINCIBLE: {0}", Player Variable(Event Player, mccreeInvincibleTime), Null, Null), Null, Null, Left, 2, Yellow, White, White,
Visible To and String, Default Visibility); Visible To and String, Default Visibility);
Set Player Variable(Event Player, mccreeInvincibleHUD, Last Text ID); Set Player Variable(Event Player, mccreeInvincibleHUD, Last Text ID);
Wait(0.016, Ignore Condition); Wait(0.016, Ignore Condition);
Chase Player Variable Over Time(Event Player, mccreeInvincibleTime, 0, Player Variable(Event Player, mccreeInvincibleTime), Chase Player Variable Over Time(Event Player, mccreeInvincibleTime, 0, Player Variable(Event Player, mccreeInvincibleTime),
Destination and Duration); Destination and Duration);
} }
}}
rule("MCCREE potato holder dies")rule("MCCREE potato holder dies")
{{
event event
{ {
Player Died; Player Died;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(McCree); Global Variable(heroOfTheRound) == Hero(McCree);
Event Player == Global Variable(potatoHolder); Event Player == Global Variable(potatoHolder);
} }
actions actions
{ {
Set Global Variable(potatoHolder, Null); Set Global Variable(potatoHolder, Null);
} }
}}
rule("MCCREE potato holder leaves")rule("MCCREE potato holder leaves")
{{
event event
{ {
Player Left Match; Player Left Match;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(McCree); Global Variable(heroOfTheRound) == Hero(McCree);
Event Player == Global Variable(potatoHolder); Event Player == Global Variable(potatoHolder);
} }
actions actions
{ {
Set Global Variable(potatoHolder, Null); Set Global Variable(potatoHolder, Null);
} }
}}
rule("MCCREE end of the round {GLOBAL}")rule("MCCREE end of the round {GLOBAL}")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) != Hero(McCree); Global Variable(heroOfTheRound) != Hero(McCree);
} }
actions actions
{ {
Destroy Effect(Global Variable(potatoEffect)); Destroy Effect(Global Variable(potatoEffect));
Destroy Icon(Global Variable(potatoIcon)); Destroy Icon(Global Variable(potatoIcon));
Set Global Variable(potatoHolder, Null); Set Global Variable(potatoHolder, Null);
} }
}}
rule("MCCREE end of the round {EACH PLAYER}")rule("MCCREE end of the round {EACH PLAYER}")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) != Hero(McCree); Global Variable(heroOfTheRound) != Hero(McCree);
} }
actions actions
{ {
Clear Status(Event Player, Burning); Clear Status(Event Player, Burning);
Stop Damage Over Time(Last Damage Over Time ID); Stop Damage Over Time(Last Damage Over Time ID);
Set Move Speed(Event Player, 100); Set Move Speed(Event Player, 100);
Allow Button(Event Player, Primary Fire); Allow Button(Event Player, Primary Fire);
Allow Button(Event Player, Melee); Allow Button(Event Player, Melee);
Destroy HUD Text(Player Variable(Event Player, mccreeHealthHUD)); Destroy HUD Text(Player Variable(Event Player, mccreeHealthHUD));
} }
}}
rule("MCCREE win {OUT OF TIME}")rule("MCCREE win {OUT OF TIME}")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
McCree; McCree;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Is Alive(Event Player) == True; Is Alive(Event Player) == True;
Global Variable(heroOfTheRound) == Hero(McCree); Global Variable(heroOfTheRound) == Hero(McCree);
Global Variable(roundTimer) <= 0.500; Global Variable(roundTimer) <= 0.500;
Number of Players(All Teams) > 1; Number of Players(All Teams) > 1;
} }
actions actions
{ {
Play Effect(All Players(All Teams), Good Pickup Effect, White, Event Player, 1); Play Effect(All Players(All Teams), Good Pickup Effect, White, Event Player, 1);
Play Effect(All Players(All Teams), Buff Explosion Sound, White, Event Player, 100); Play Effect(All Players(All Teams), Buff Explosion Sound, White, Event Player, 100);
Modify Player Score(Event Player, Round To Integer(Divide(Count Of(Global Variable(playersStartOfTheRound)), Modify Player Score(Event Player, Round To Integer(Divide(Count Of(Global Variable(playersStartOfTheRound)),
Number of Living Players(All Teams)), Up)); Number of Living Players(All Teams)), Up));
Small Message(Event Player, Custom String("+{0} points with {1} {2}", Round To Integer(Divide(Count Of(Global Variable( Small Message(Event Player, Custom String("+{0} points with {1} {2}", Round To Integer(Divide(Count Of(Global Variable(
playersStartOfTheRound)), Number of Living Players(All Teams)), Up), Hero Icon String(Hero Of(Event Player)), Hero Of( playersStartOfTheRound)), Number of Living Players(All Teams)), Up), Hero Icon String(Hero Of(Event Player)), Hero Of(
Event Player))); Event Player)));
} }
}}
rule("MCCREE win {LAST PLAYER ALIVE}")rule("MCCREE win {LAST PLAYER ALIVE}")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
McCree; McCree;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Is Alive(Event Player) == True; Is Alive(Event Player) == True;
Global Variable(heroOfTheRound) == Hero(McCree); Global Variable(heroOfTheRound) == Hero(McCree);
Number of Living Players(All Teams) <= 1; Number of Living Players(All Teams) <= 1;
Number of Players(All Teams) > 1; Number of Players(All Teams) > 1;
} }
actions actions
{ {
Play Effect(All Players(All Teams), Good Pickup Effect, White, Event Player, 1); Play Effect(All Players(All Teams), Good Pickup Effect, White, Event Player, 1);
Play Effect(All Players(All Teams), Buff Explosion Sound, White, Event Player, 100); Play Effect(All Players(All Teams), Buff Explosion Sound, White, Event Player, 100);
Modify Player Score(Event Player, Count Of(Global Variable(playersStartOfTheRound))); Modify Player Score(Event Player, Count Of(Global Variable(playersStartOfTheRound)));
Small Message(Event Player, Custom String("+{0} points with {1} {2}", Count Of(Global Variable(playersStartOfTheRound)), Small Message(Event Player, Custom String("+{0} points with {1} {2}", Count Of(Global Variable(playersStartOfTheRound)),
Hero Icon String(Hero Of(Event Player)), Hero Of(Event Player))); Hero Icon String(Hero Of(Event Player)), Hero Of(Event Player)));
} }
}}
rule("DOOM ult stun")rule("DOOM ult stun")
{{
event event
{ {
Player Dealt Damage; Player Dealt Damage;
All; All;
Doomfist; Doomfist;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Doomfist); Global Variable(heroOfTheRound) == Hero(Doomfist);
Is Using Ultimate(Attacker) == True; Is Using Ultimate(Attacker) == True;
} }
actions actions
{ {
Set Status(Victim, Event Player, Stunned, 3); Set Status(Victim, Event Player, Stunned, 3);
} }
}}
rule("DOOM using ult")rule("DOOM using ult")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Doomfist); Global Variable(heroOfTheRound) == Hero(Doomfist);
Is Using Ultimate(Event Player) == True; Is Using Ultimate(Event Player) == True;
} }
actions actions
{ {
Set Move Speed(Event Player, 150); Set Move Speed(Event Player, 150);
} }
}}
rule("DOOM not using ult")rule("DOOM not using ult")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
All; All;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Doomfist); Global Variable(heroOfTheRound) == Hero(Doomfist);
Is Using Ultimate(Event Player) == False; Is Using Ultimate(Event Player) == False;
} }
actions actions
{ {
Set Move Speed(Event Player, 100); Set Move Speed(Event Player, 100);
} }
}}
rule("BASTION tank")
{
event
{
Ongoing - Each Player;
All;
Bastion;
}
conditions
{
Is Game In Progress == True;
Is Alive(Event Player) == True;
Global Variable(heroOfTheRound) == Hero(Bastion);
}
actions
{
Press Button(Event Player, Ultimate);
Wait(0.016, Ignore Condition);
Loop If Condition Is True;
}
}
rule("SOMBRA hack to kill")rule("SOMBRA hack to kill")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
Sombra; Sombra;
} }
conditions conditions
{ {
Has Status(Event Player, Hacked) == True; Has Status(Event Player, Hacked) == True;
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Sombra); Global Variable(heroOfTheRound) == Hero(Sombra);
} }
actions actions
{ {
disabled Kill(Event Player, Null); disabled Kill(Event Player, Null);
Teleport(Event Player, Vector(-500, -500, -500)); Teleport(Event Player, Vector(-500, -500, -500));
} }
}}
rule("SOMBRA limit stealth duration")rule("SOMBRA limit stealth duration")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
Sombra; Sombra;
} }
conditions conditions
{ {
Is Using Ability 1(Event Player) == True; Is Using Ability 1(Event Player) == True;
Is Game In Progress == True; Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Sombra); Global Variable(heroOfTheRound) == Hero(Sombra);
} }
actions actions
{ {
Wait(6, Abort When False); Wait(6, Abort When False);
Press Button(Event Player, Ability 1); Press Button(Event Player, Ability 1);
Small Message(Event Player, Custom String("Maximum Stealth Duration Reached", Null, Null, Null)); Small Message(Event Player, Custom String("Maximum Stealth Duration Reached", Null, Null, Null));
} }
}}
rule("BASTION tank")rule("BRIG init")
{
event
{
Ongoing - Each Player;
All;
Brigitte;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Brigitte);
}
actions
{
Set Status(Event Player, Null, Unkillable, Global Variable(roundTimer));
}
}
rule("BRIG standard gravity")
{{
event event
{ {
Ongoing - Each Player; Ongoing - Each Player;
All; All;
Bastion; Brigitte;
} }
conditions conditions
{ {
Is Game In Progress == True; Is Game In Progress == True;
Is Alive(Event Player) == True; Global Variable(heroOfTheRound) == Hero(Brigitte);
Global Variable(heroOfTheRound) == Hero(Bastion); Is Firing Secondary(Event Player) != True;
disabled Has Spawned(Event Player) == True; Has Status(Event Player, Stunned) == False;
} }
actions actions
{ {
Press Button(Event Player, Ultimate); Set Gravity(Event Player, 100);
Wait(0.064, Ignore Condition); }
}
rule("BRIG shield gravity")
{
event
{
Ongoing - Each Player;
All;
Brigitte;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Brigitte);
Is Firing Secondary(Event Player) == True;
}
actions
{
Set Gravity(Event Player, 200);
}
}
rule("BRIG stunned gravity & buff")
{
event
{
Ongoing - Each Player;
All;
Brigitte;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Brigitte);
Has Status(Event Player, Stunned) == True;
}
actions
{
Set Status(Event Player, Null, Stunned, 1.500);
Set Gravity(Event Player, 25);
}
}
rule("BRIG speed-boosted shield bash")
{
event
{
Ongoing - Each Player;
All;
Brigitte;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Brigitte);
Is Firing Primary(Event Player) == True;
Is Firing Secondary(Event Player) == True;
}
actions
{
Set Move Speed(Event Player, 200);
Wait(0.250, Ignore Condition);
Set Move Speed(Event Player, 100);
}
}
rule("BRIG auto-healing")
{
event
{
Ongoing - Each Player;
All;
Brigitte;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Brigitte);
Health(Event Player) < Max Health(Event Player);
}
actions
{
Heal(Event Player, Null, Max Health(Event Player));
Wait(0.032, Ignore Condition);
Loop If Condition Is True; Loop If Condition Is True;
} }
}}
rule("BRIG end of the round {EACH PLAYER}")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) != Hero(Brigitte);
}
actions
{
Clear Status(Event Player, Unkillable);
Set Gravity(Event Player, 100);
Set Move Speed(Event Player, 100);
}
}
rule("PHARAH init effects")
{
event
{
Ongoing - Each Player;
All;
Pharah;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Pharah);
}
actions
{
disabled Create Effect(Filtered Array(All Players(All Teams), Compare(Player Variable(Event Player, pharahHeal), ==, True)), Good Aura,
Yellow, Event Player, 1, Visible To Position and Radius);
Create Effect(Filtered Array(All Players(All Teams), Compare(Player Variable(Event Player, pharahHeal), ==, True)), Good Aura,
Yellow, Event Player, 1, Visible To Position and Radius);
Set Player Variable(Event Player, pharahHealEffect, Last Created Entity);
Wait(0.256, Ignore Condition);
Create Effect(Filtered Array(All Players(All Teams), Compare(Player Variable(Event Player, pharahDamageBoost), ==, True)),
Good Aura, Aqua, Event Player, 1, Visible To Position and Radius);
disabled Create Effect(Filtered Array(All Players(All Teams), Compare(Health(Event Player), ==, 200)), Good Aura, Aqua, Event Player, 1,
Visible To Position and Radius);
Set Player Variable(Event Player, pharahDamageBoostEffect, Last Created Entity);
}
}
rule("PHARAH damage boost")
{
event
{
Ongoing - Each Player;
All;
Pharah;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Pharah);
Health(Event Player) == 200;
Player Variable(Event Player, pharahHeal) == True;
}
actions
{
Set Player Variable(Event Player, pharahHeal, False);
Set Player Variable(Event Player, pharahDamageBoost, True);
Set Damage Dealt(Event Player, 130);
Stop All Heal Over Time(Event Player);
Wait(0.016, Ignore Condition);
}
}
rule("PHARAH healing")
{
event
{
Ongoing - Each Player;
All;
Pharah;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Pharah);
Health(Event Player) < 200;
}
actions
{
Set Player Variable(Event Player, pharahDamageBoost, False);
Wait(0.500, Ignore Condition);
Set Player Variable(Event Player, pharahHeal, True);
Set Damage Dealt(Event Player, 100);
Start Heal Over Time(Event Player, Null, Global Variable(roundTimer), 50);
}
}
rule("PHARAH dead")
{
event
{
Player Died;
All;
All;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) == Hero(Pharah);
}
actions
{
Wait(0.032, Ignore Condition);
Set Player Variable(Event Player, pharahHeal, False);
Set Player Variable(Event Player, pharahDamageBoost, False);
Wait(0.032, Ignore Condition);
Destroy Effect(Player Variable(Event Player, pharahHealEffect));
Wait(0.032, Ignore Condition);
Destroy Effect(Player Variable(Event Player, pharahDamageBoostEffect));
Stop All Heal Over Time(Event Player);
Set Damage Dealt(Event Player, 100);
}
}
rule("PHARAH end of the round {EACH PLAYER}")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Game In Progress == True;
Global Variable(heroOfTheRound) != Hero(Pharah);
}
actions
{
Set Player Variable(Event Player, pharahHeal, False);
Set Player Variable(Event Player, pharahDamageBoost, False);
Destroy Effect(Player Variable(Event Player, pharahHealEffect));
Destroy Effect(Player Variable(Event Player, pharahDamageBoostEffect));
Stop All Heal Over Time(Event Player);
Set Damage Dealt(Event Player, 100);
}
}
disabled rule("----- TEST -----")disabled rule("----- TEST -----")
{{
event event
{ {
Ongoing - Global; Ongoing - Global;
}