Return to post
variables
{
global:
0: Map_Progression
1: GateUnlockProgression
2: DifficultyLevelSwitch
3: ExpertChallengeSwitch
26: StarPoints
27: CrucibleOfSouls
28: IronHeartMode
29: IronHeart
30: CrucicbleOfSoulsMode
31: CursedClock
32: CursedClockMode
player:
25: Adrenaline
26: Corruption
}
rule("-==SPAWN POINTS==-")
{
event
{
Ongoing - Global;
}
}
rule("Rule 97")
{
event
{
Ongoing - Each Player;
Team 1;
Sombra;
}
conditions
{
Is Using Ability 1(Event Player) == True;
}
actions
{
Wait(10, Abort When False);
Press Button(Event Player, Ability 1);
}
}
rule("Team 1 // Spawn Point")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is In Spawn Room(Event Player) == True;
Global Variable(Map_Progression) == 0;
}
actions
{
Teleport(Event Player, Vector(3.095, -0.802, -6.535));
}
}
rule("Team 2 // Respawn timer = 3.5")
{
event
{
Ongoing - Each Player;
Team 2;
All;
}
actions
{
Set Respawn Max Time(Event Player, 3.500);
}
}
rule("Team 1 // Die permanently")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Disable Built-In Game Mode Respawning(Event Player);
}
}
rule("-==VARIABLES==-")
{
event
{
Ongoing - Each Player;
All;
All;
}
}
rule("Map_Progression // Default = 0")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Set Global Variable(Map_Progression, 0);
}
}
rule("Gate Unlock Progression = 0% // Initialize [GV]")
{
event
{
Ongoing - Global;
}
actions
{
Set Global Variable(GateUnlockProgression, 0);
}
}
rule("Map Progression = 0 // Initialize [GV]")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(All Players(All Teams)) == True;
Number of Living Players(Team 1) >= 1;
}
actions
{
disabled Set Status(Event Player, Null, Frozen, 9999);
disabled Big Message(Event Player, Custom String("Heroes, capture the objectives without dying to win.", Null, Null, Null));
disabled Wait(2.500, Ignore Condition);
disabled Big Message(Event Player, Custom String("Zombies, stop the heroes from capturing the objectives by killing them.", Null, Null,
Null));
disabled Wait(3, Ignore Condition);
disabled Small Message(Event Player, Custom String("3...", Null, Null, Null));
disabled Wait(1, Ignore Condition);
disabled Small Message(Event Player, Custom String("2...", Null, Null, Null));
disabled Wait(1, Ignore Condition);
disabled Small Message(Event Player, Custom String("1...", Null, Null, Null));
disabled Wait(1, Ignore Condition);
disabled Clear Status(Event Player, Frozen);
disabled Big Message(Event Player, Custom String("RUN!", Null, Null, Null));
}
}
rule("-==GAME START==-")
{
event
{
Ongoing - Global;
}
}
rule("Team 2 // Spawn point")
{
event
{
Ongoing - Each Player;
Team 2;
All;
}
conditions
{
Is In Spawn Room(Event Player) == True;
Global Variable(Map_Progression) == 0;
}
actions
{
Teleport(Event Player, Vector(-12.555, -3.102, -27.234));
}
}
rule("-==OBJECTIVES==-")
{
event
{
Ongoing - Global;
}
}
rule("Objective 1 // Attack")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(Map_Progression) == 0;
}
actions
{
Create Icon(All Players(Team 1), Vector(-10.041, 7.366, 51.350), Arrow: Down, Visible To and Position, Blue, True);
Create Icon(All Players(Team 2), Vector(-10.041, 7.366, 51.350), Arrow: Down, Visible To and Position, Red, True);
}
}
rule("Objective 1 // Visuals")
{
event
{
Ongoing - Global;
}
actions
{
Create Effect(All Players(Team 1), Ring, Blue, Vector(-10.041, 7.366, 51.350), 4, Visible To Position and Radius);
Create Effect(All Players(Team 2), Ring, Red, Vector(-10.041, 7.366, 51.350), 4, Visible To Position and Radius);
}
}
rule("Objective 2 // Visuals")
{
event
{
Ongoing - Global;
}
actions
{
Create Effect(All Players(Team 1), Ring, Blue, Vector(35.974, 3.053, 78.767), 3, Visible To Position and Radius);
Create Effect(All Players(Team 2), Ring, Red, Vector(35.974, 3.052, 78.767), 3, Visible To Position and Radius);
}
}
rule("Objective 3 // Visuals")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Create Effect(All Players(Team 1), Ring, Blue, Vector(-25.684, 1.916, 109.478), 3.450, Visible To Position and Radius);
Create Effect(All Players(Team 2), Ring, Red, Vector(-25.684, 1.916, 109.478), 3.450, Visible To Position and Radius);
}
}
rule("Transition // Destroy all effects, bring in new effects 2")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(Map_Progression) == 2;
}
actions
{
Destroy All Icons;
Wait(0.250, Ignore Condition);
Create Icon(All Players(Team 1), Vector(-25.684, 1.916, 109.478), Arrow: Down, Visible To and Position, Blue, True);
Create Icon(All Players(Team 2), Vector(-25.684, 1.916, 109.478), Arrow: Down, Visible To and Position, Red, True);
}
}
rule("-==ESCAPE==-")
{
event
{
Ongoing - Global;
}
}
rule("Objective 1 // When on objective 1, add 1 point for every 4 seconds.")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Vector(-10.041, 7.366, 51.350), 4, Team 1, Surfaces) == True;
Global Variable(Map_Progression) == 0;
Is Alive(Event Player) == True;
}
actions
{
Set Global Variable(GateUnlockProgression, Add(Global Variable(GateUnlockProgression), 1));
Wait(4, Ignore Condition);
Abort If(Compare(Global Variable(GateUnlockProgression), ==, 10));
Loop If Condition Is True;
}
}
rule("Objective 2 // When on objective 2, add 1 point for every 4.5 seconds.")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Vector(35.974, 3.053, 78.767), 3, Team 1, Surfaces) == True;
Global Variable(Map_Progression) == 1;
Is Alive(Event Player) == True;
}
actions
{
Set Global Variable(GateUnlockProgression, Add(Global Variable(GateUnlockProgression), 1));
Wait(4.500, Ignore Condition);
Abort If(Compare(Global Variable(GateUnlockProgression), ==, 20));
Loop If Condition Is True;
}
}
rule("Objective 3 // When on objective 3, add 1 point for every 5 seconds.")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Vector(-25.684, 1.916, 109.478), 3.450, Team 1, Surfaces) == True;
Global Variable(Map_Progression) == 2;
Is Alive(Event Player) == True;
}
actions
{
Set Global Variable(GateUnlockProgression, Add(Global Variable(GateUnlockProgression), 1));
Wait(5, Ignore Condition);
Abort If(Compare(Global Variable(GateUnlockProgression), ==, 30));
Loop If Condition Is True;
}
}
rule("Objective 4 // When on objective 4, add 1 point for every 5.5 seconds.")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Vector(-77.250, 6.424, 66.230), 4, Team 1, Surfaces) == True;
Global Variable(Map_Progression) == 3;
Is Alive(Event Player) == True;
}
actions
{
Set Global Variable(GateUnlockProgression, Add(Global Variable(GateUnlockProgression), 1));
Wait(5.500, Ignore Condition);
Abort If(Compare(Global Variable(GateUnlockProgression), ==, 40));
Loop If Condition Is True;
}
}
rule("Objective 4 // When on objective 5, add 1 point for every 6 seconds.")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Vector(-71.933, 8.125, 104.853), 2.500, Team 1, Surfaces) == True;
Global Variable(Map_Progression) == 4;
Is Alive(Event Player) == True;
}
actions
{
Set Global Variable(GateUnlockProgression, Add(Global Variable(GateUnlockProgression), 1));
Wait(6, Ignore Condition);
Abort If(Compare(Global Variable(GateUnlockProgression), ==, 40));
Loop If Condition Is True;
}
}
rule("HUD // Escape percentage")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Create HUD Text(Event Player, Null, Custom String("Gate Unlock Percentage (50% = Unlock)", Null, Null, Null), String("{0} / {1}",
Global Variable(GateUnlockProgression), 50, Null), Top, 7, Yellow, Yellow, White, Visible To and String, Default Visibility);
}
}
rule("-==PHASES==-")
{
event
{
Ongoing - Global;
}
}
rule("Transition // Destroy all effects, bring in new effects for ob 2")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(Map_Progression) == 1;
}
actions
{
Destroy All Icons;
Wait(0.250, Ignore Condition);
Create Icon(All Players(Team 1), Vector(35.974, 3.053, 78.767), Arrow: Down, Visible To and Position, Blue, True);
Create Icon(All Players(Team 2), Vector(35.974, 3.052, 78.767), Arrow: Down, Visible To and Position, Red, True);
}
}
rule("Transition // Destroy all effects, bring in new effects for ob 3")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(Map_Progression) == 2;
}
actions
{
Destroy All Icons;
Wait(0.250, Ignore Condition);
Create Icon(All Players(Team 1), Vector(-25.684, 1.916, 109.478), Arrow: Down, Visible To and Position, Blue, True);
Create Icon(All Players(Team 2), Vector(-25.684, 1.916, 109.478), Arrow: Down, Visible To and Position, Red, True);
}
}
rule("Transition // Destroy all effects, bring in new effects for ob 4")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(Map_Progression) == 3;
}
actions
{
Destroy All Icons;
Wait(0.250, Ignore Condition);
Create Icon(All Players(Team 1), Vector(-77.250, 6.423, 66.229), Arrow: Down, Visible To and Position, Blue, True);
Create Icon(All Players(Team 2), Vector(-77.250, 6.423, 66.229), Arrow: Down, Visible To and Position, Red, True);
}
}
rule("Transition // Destroy all effects, bring in new effects for ob 5")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(Map_Progression) == 4;
}
actions
{
Destroy All Icons;
Wait(0.250, Ignore Condition);
Create Icon(All Players(Team 1), Vector(-71.932, 8.125, 104.853), Arrow: Down, Visible To and Position, Blue, True);
Create Icon(All Players(Team 2), Vector(-71.933, 8.125, 104.853), Arrow: Down, Visible To and Position, Red, True);
}
}
rule("-==UNORGANIZED AT THE MOMENT==-")
{
event
{
Ongoing - Global;
}
}
rule("Objective 4 // Visuals")
{
event
{
Ongoing - Global;
}
actions
{
Create Effect(All Players(Team 1), Ring, Blue, Vector(-77.250, 6.422, 66.229), 4, Visible To Position and Radius);
Create Effect(All Players(Team 2), Ring, Red, Vector(-77.250, 6.422, 66.229), 4, Visible To Position and Radius);
}
}
rule("Objective 1 // 10% -> Objective 2")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(GateUnlockProgression) == 10;
}
actions
{
Big Message(All Players(All Teams), Custom String("10% unlocked. A new objective has opened, attack!", Null, Null, Null));
Set Global Variable(Map_Progression, 1);
}
}
rule("Objective 3 // 20% -> Objective 3")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(GateUnlockProgression) == 20;
}
actions
{
Big Message(All Players(All Teams), Custom String("20% unlocked. A new objective has opened, attack!", Null, Null, Null));
Set Global Variable(Map_Progression, 2);
}
}
rule("Objective 3 // 30% -> Objective 4")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(GateUnlockProgression) == 30;
}
actions
{
Big Message(All Players(All Teams), Custom String("30% unlocked. A new objective has opened, attack!", Null, Null, Null));
Set Global Variable(Map_Progression, 3);
}
}
rule("Zombie // Blitz Rush (Speed boost when dead)")
{
event
{
Player Died;
Team 2;
All;
}
actions
{
Set Move Speed(Event Player, 265);
Wait(7, Ignore Condition);
Set Move Speed(Event Player, 100);
}
}
rule("Objective 3 // 40% -> Objective 5")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(GateUnlockProgression) == 40;
}
actions
{
Big Message(All Players(All Teams), Custom String("40% unlocked. A new objective has opened, attack!", Null, Null, Null));
Set Global Variable(Map_Progression, 4);
}
}
rule("Objective 5 // Visuals")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Create Effect(All Players(Team 1), Ring, Blue, Vector(-71.932, 8.125, 104.853), 2.500, Visible To Position and Radius);
Create Effect(All Players(Team 2), Ring, Red, Vector(-71.932, 8.125, 104.853), 2.500, Visible To Position and Radius);
}
}
rule("Rule 50")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(GateUnlockProgression) > 50;
}
actions
{
Set Global Variable(GateUnlockProgression, 50);
}
}
rule("Rule 50")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(GateUnlockProgression) == 50;
}
actions
{
Set Global Variable(Map_Progression, 9);
}
}
rule("Rule 50")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global Variable(Map_Progression) == 9;
}
actions
{
Big Message(Event Player, Custom String("Exit key granted... Please collect at the Black King's Throne.", Null, Null, Null));
Destroy All Icons;
Wait(0.250, Ignore Condition);
Create Effect(All Players(All Teams), Sphere, White, Vector(-130.010, 2.535, 108.320), 1, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), Custom String("Exit Key", Null, Null, Null), Vector(-130.010, 2.535, 108.320), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
}
}
rule("bug fix")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
Wait(0.250, Ignore Condition);
Clear Status(Event Player, Frozen);
}
}
rule("Rule 61")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Vector(-130.010, 2.535, 108.320), 1, Team 1, Surfaces) == True;
Global Variable(Map_Progression) == 9;
}
actions
{
Set Global Variable(Map_Progression, 125);
Big Message(All Players(All Teams), Custom String("YOU HAVE THE KEY! RUN TO THE EXIT NOW!", Null, Null, Null));
Destroy All Icons;
Wait(0.250, Ignore Condition);
Create Icon(All Players(Team 1), Event Player, Arrow: Down, Visible To and Position, Blue, True);
Create Icon(All Players(Team 2), Event Player, Arrow: Down, Visible To and Position, Red, True);
}
}
rule("Rule 62")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Vector(-12.423, -3.645, -31.413), 5, Team 1, Surfaces) == True;
Global Variable(Map_Progression) == 125;
}
actions
{
Big Message(All Players(All Teams), Custom String("Congratulations! You have escaped the infected Blizzard World!", Null, Null,
Null));
Set Status(Event Player, Null, Phased Out, 9999);
Wait(4, Ignore Condition);
Declare Team Victory(Team 1);
}
}
rule("Rule 63")
{
event
{
Ongoing - Each Player;
Team 2;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
Set Status(All Players(Team 2), Null, Frozen, 16);
Set Damage Received(Event Player, 0);
Wait(16, Ignore Condition);
Set Damage Received(All Players(Team 2), 100);
}
}
rule("-==CHAMPION'S ROAD HALL OF FAME==-")
{
event
{
Ongoing - Global;
}
}
rule("Hall of Fame // HUD")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Create In-World Text(All Players(Team 1), Custom String("-==Hall of Fame==-", Null, Null, Null), Vector(3.021, 1.505, 28.575), 1,
Clip Against Surfaces, Visible To Position and String, Yellow, Default Visibility);
Create In-World Text(All Players(Team 1), Custom String(
"The Hall of Fame shows all users that have completed vanilla Zombie Rush difficulties 1-7. Congratulations!", Null, Null,
Null), Vector(3.265, 0.361, 27.420), 1, Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
"Congratulations ActualTrash!"
Create In-World Text(All Players(All Teams), Custom String("ActuallyTrash", Null, Null, Null), Vector(2.853, 1.080, 23.590), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
"Congratulations BadPlayer0!"
Create In-World Text(All Players(All Teams), Custom String("BadPlayer0", Null, Null, Null), Vector(2.883, 1.079, 19.476), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
}
}
rule("-==RES==-")
{
event
{
Ongoing - Global;
}
}
rule("Location // Save location upon death")
{
event
{
Player Died;
Team 1;
All;
}
actions
{
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
Set Global Variable At Index(S, Slot Of(Event Player), Nearest Walkable Position(Event Player));
Big Message(All Players(Team 1), String("{0} {1}", Event Player, String("{0}!", String("Down", Null, Null, Null), Null, Null),
Null));
Set Global Variable At Index(E, Slot Of(Event Player), True);
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
}
}
rule("Revive // Player 1 revive")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
"Made by CrimsonRend"
Distance Between(Event Player, Value In Array(Global Variable(S), 0)) <= 4;
"Made by CrimsonRend"
Event Player != Players In Slot(0, Team 1);
"Made by CrimsonRend"
Is Alive(Event Player) == True;
}
actions
{
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
"Made by CrimsonRend"
Set Player Variable(Event Player, C, Players In Slot(0, Team 1));
"Made by CrimsonRend"
Chase Player Variable Over Time(Players In Slot(0, Team 1), C, 4, Add(2, Multiply(Global Variable(P), 2)),
Destination and Duration);
"Made by CrimsonRend"
Wait(Add(2, Multiply(Global Variable(P), 2)), Abort When False);
"Made by CrimsonRend"
Teleport(Players In Slot(0, Team 1), Event Player);
"Made by CrimsonRend"
Resurrect(Players In Slot(0, Team 1));
"Made by CrimsonRend"
Modify Global Variable(P, Add, 1);
disabled Wait(0.250, Ignore Condition);
"Made by CrimsonRend"
Play Effect(All Players(All Teams), Buff Explosion Sound, Yellow, Value In Array(Global Variable(S), 0), 4);
"Made by CrimsonRend"
Play Effect(All Players(All Teams), Good Pickup Effect, White, Players In Slot(0, Team 1), 100);
"Made by CrimsonRend"
Set Global Variable At Index(S, 0, Vector(500, 0, 500));
"Made by CrimsonRend"
Modify Player Variable(Event Player, A, Add, Multiply(100, Player Variable(Event Player, H)));
"Made by CrimsonRend"
Skip If(Compare(Player Variable(Event Player, H), !=, 1), 1);
"Made by CrimsonRend"
Skip If(Compare(Player Variable(Event Player, H), ==, 1), 1);
"Made by CrimsonRend"
Small Message(Event Player, String("{0} + {1}", String("", Null, Null, Null), String("{0} {1}", 300, String("Points", Null, Null,
Null), Null), Null));
"Made by CrimsonRend"
Set Player Variable(All Players(Team 1), O, 0);
"Made by CrimsonRend"
Modify Global Variable(R, Add, Multiply(100, Player Variable(Event Player, H)));
}
}
rule("Player 1 // Cancel revive")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
"Made by CrimsonRend"
Distance Between(Event Player, Value In Array(Global Variable(S), 0)) > 4;
"Made by CrimsonRend"
Event Player != Players In Slot(0, Team 1);
}
actions
{
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
"Made by CrimsonRend"
Set Player Variable(Players In Slot(0, Team 1), C, 0);
"Made by CrimsonRend"
Stop Chasing Player Variable(Players In Slot(0, Team 1), C);
}
}
rule("Revive // Player 2 revive")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
"Made by CrimsonRend"
Distance Between(Event Player, Value In Array(Global Variable(S), 1)) <= 4;
"Made by CrimsonRend"
Event Player != Players In Slot(1, Team 1);
"Made by CrimsonRend"
Is Alive(Event Player) == True;
}
actions
{
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
"Made by CrimsonRend"
Set Player Variable(Event Player, C, Players In Slot(1, Team 1));
"Made by CrimsonRend"
Chase Player Variable Over Time(Players In Slot(1, Team 1), C, 4, Add(2, Multiply(Global Variable(P), 2)),
Destination and Duration);
"Made by CrimsonRend"
Wait(Add(2, Multiply(Global Variable(P), 2)), Abort When False);
"Made by CrimsonRend"
Teleport(Players In Slot(1, Team 1), Event Player);
"Made by CrimsonRend"
Resurrect(Players In Slot(1, Team 1));
"Made by CrimsonRend"
Modify Global Variable(P, Add, 1);
"Made by CrimsonRend"
Play Effect(All Players(All Teams), Good Explosion, Yellow, Value In Array(Global Variable(S), 1), 4);
"Made by CrimsonRend"
Play Effect(All Players(All Teams), Buff Explosion Sound, White, Players In Slot(1, Team 1), 100);
"Made by CrimsonRend"
Set Global Variable At Index(S, 1, Vector(500, 0, 500));
"Made by CrimsonRend"
Modify Player Variable(Event Player, A, Add, Multiply(100, Player Variable(Event Player, H)));
"Made by CrimsonRend"
Skip If(Compare(Player Variable(Event Player, H), !=, 1), 1);
"Made by CrimsonRend"
Skip If(Compare(Player Variable(Event Player, H), ==, 1), 1);
"Made by CrimsonRend"
Small Message(Event Player, String("{0} + {1}", String("", Null, Null, Null), String("{0} {1}", 300, String("Points", Null, Null,
Null), Null), Null));
"Made by CrimsonRend"
Set Player Variable(All Players(Team 1), P, 0);
"Made by CrimsonRend"
Modify Global Variable(R, Add, Multiply(100, Player Variable(Event Player, H)));
}
}
rule("Player 2 // Cancel revive")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
"Made by CrimsonRend"
Distance Between(Event Player, Value In Array(Global Variable(S), 1)) > 4;
"Made by CrimsonRend"
Event Player != Players In Slot(1, Team 1);
}
actions
{
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
"Made by CrimsonRend"
Set Player Variable(Players In Slot(1, Team 1), C, 0);
"Made by CrimsonRend"
Stop Chasing Player Variable(Players In Slot(1, Team 1), C);
}
}
rule("Revive // Player 3 revive")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
"Made by CrimsonRend"
Distance Between(Event Player, Value In Array(Global Variable(S), 2)) <= 4;
"Made by CrimsonRend"
Event Player != Players In Slot(2, Team 1);
"Made by CrimsonRend"
Is Alive(Event Player) == True;
}
actions
{
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
"Made by CrimsonRend"
Set Player Variable(Event Player, C, Players In Slot(2, Team 1));
"Made by CrimsonRend"
Chase Player Variable Over Time(Players In Slot(2, Team 1), C, 4, Add(2, Multiply(Global Variable(P), 2)),
Destination and Duration);
"Made by CrimsonRend"
Wait(Add(2, Multiply(Global Variable(P), 2)), Abort When False);
"Made by CrimsonRend"
Teleport(Players In Slot(2, Team 1), Event Player);
"Made by CrimsonRend"
Resurrect(Players In Slot(2, Team 1));
"Made by CrimsonRend"
Modify Global Variable(P, Add, 1);
"Made by CrimsonRend"
Play Effect(All Players(All Teams), Good Explosion, Yellow, Value In Array(Global Variable(S), 2), 4);
"Made by CrimsonRend"
Play Effect(All Players(All Teams), Buff Explosion Sound, White, Players In Slot(2, Team 1), 100);
"Made by CrimsonRend"
Set Global Variable At Index(S, 2, Vector(500, 0, 500));
"Made by CrimsonRend"
Modify Player Variable(Event Player, A, Add, Multiply(100, Player Variable(Event Player, H)));
"Made by CrimsonRend"
Skip If(Compare(Player Variable(Event Player, H), !=, 1), 1);
"Made by CrimsonRend"
Skip If(Compare(Player Variable(Event Player, H), ==, 1), 1);
"Made by CrimsonRend"
Small Message(Event Player, String("{0} + {1}", String("", Null, Null, Null), String("{0} {1}", 300, String("Points", Null, Null,
Null), Null), Null));
"Made by CrimsonRend"
Set Player Variable(All Players(Team 1), Q, 0);
"Made by CrimsonRend"
Modify Global Variable(R, Add, Multiply(100, Player Variable(Event Player, H)));
}
}
rule("Player 3 // Cancel revive")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
"Made by CrimsonRend"
Distance Between(Event Player, Value In Array(Global Variable(S), 2)) > 4;
"Made by CrimsonRend"
Event Player != Players In Slot(2, Team 1);
}
actions
{
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
"Made by CrimsonRend"
Set Player Variable(Players In Slot(2, Team 1), C, 0);
"Made by CrimsonRend"
Stop Chasing Player Variable(Players In Slot(2, Team 1), C);
}
}
rule("Revive // Player 4 revive")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
"Made by CrimsonRend"
Distance Between(Event Player, Value In Array(Global Variable(S), 3)) <= 4;
"Made by CrimsonRend"
Event Player != Players In Slot(3, Team 1);
"Made by CrimsonRend"
Is Alive(Event Player) == True;
}
actions
{
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
"Made by CrimsonRend"
Set Player Variable(Event Player, C, Players In Slot(3, Team 1));
"Made by CrimsonRend"
Chase Player Variable Over Time(Players In Slot(3, Team 1), C, 4, Add(2, Multiply(Global Variable(P), 2)),
Destination and Duration);
"Made by CrimsonRend"
Wait(Add(2, Multiply(Global Variable(P), 2)), Abort When False);
"Made by CrimsonRend"
Teleport(Players In Slot(3, Team 1), Event Player);
"Made by CrimsonRend"
Resurrect(Players In Slot(3, Team 1));
"Made by CrimsonRend"
Modify Global Variable(P, Add, 1);
"Made by CrimsonRend"
Play Effect(All Players(All Teams), Good Explosion, Yellow, Value In Array(Global Variable(S), 3), 4);
"Made by CrimsonRend"
Play Effect(All Players(All Teams), Buff Explosion Sound, White, Players In Slot(3, Team 1), 100);
"Made by CrimsonRend"
Set Global Variable At Index(S, 3, Vector(500, 0, 500));
"Made by CrimsonRend"
Modify Player Variable(Event Player, A, Add, Multiply(100, Player Variable(Event Player, H)));
"Made by CrimsonRend"
Skip If(Compare(Player Variable(Event Player, H), !=, 1), 1);
"Made by CrimsonRend"
Skip If(Compare(Player Variable(Event Player, H), ==, 1), 1);
"Made by CrimsonRend"
Small Message(Event Player, String("{0} + {1}", String("", Null, Null, Null), String("{0} {1}", 300, String("Points", Null, Null,
Null), Null), Null));
"Made by CrimsonRend"
Set Player Variable(All Players(Team 1), R, 0);
"Made by CrimsonRend"
Modify Global Variable(R, Add, Multiply(100, Player Variable(Event Player, H)));
}
}
rule("Player 4 // Cancel revive")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
"Made by CrimsonRend"
Distance Between(Event Player, Value In Array(Global Variable(S), 3)) > 4;
"Made by CrimsonRend"
Event Player != Players In Slot(3, Team 1);
}
actions
{
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
"Made by CrimsonRend"
Set Player Variable(Players In Slot(3, Team 1), C, 0);
"Made by CrimsonRend"
Stop Chasing Player Variable(Players In Slot(3, Team 1), C);
}
}
rule("Revive // After revive effects")
{
event
{
Ongoing - Global;
}
actions
{
Abort If(Compare(Global Variable(CrucicbleOfSoulsMode), ==, True));
"Made by CrimsonRend"
Create Effect(All Players(All Teams), Ring, Yellow, Value In Array(Global Variable(S), 0), 4, Visible To Position and Radius);
"Made by CrimsonRend"
Create Effect(All Players(All Teams), Ring, White, Value In Array(Global Variable(S), 0), Player Variable(Players In Slot(0,
Team 1), C), Visible To Position and Radius);
"Made by CrimsonRend"
Create Effect(All Players(All Teams), Ring, Yellow, Value In Array(Global Variable(S), 1), 4, Visible To Position and Radius);
"Made by CrimsonRend"
Create Effect(All Players(All Teams), Ring, White, Value In Array(Global Variable(S), 1), Player Variable(Players In Slot(1,
Team 1), C), Visible To Position and Radius);
"Made by CrimsonRend"
Create Effect(All Players(All Teams), Ring, Yellow, Value In Array(Global Variable(S), 2), 4, Visible To Position and Radius);
"Made by CrimsonRend"
Create Effect(All Players(All Teams), Ring, White, Value In Array(Global Variable(S), 2), Player Variable(Players In Slot(2,
Team 1), C), Visible To Position and Radius);
"Made by CrimsonRend"
Create Effect(All Players(All Teams), Ring, Yellow, Value In Array(Global Variable(S), 3), 4, Visible To Position and Radius);
"Made by CrimsonRend"
Create Effect(All Players(All Teams), Ring, White, Value In Array(Global Variable(S), 3), Player Variable(Players In Slot(3,
Team 1), C), Visible To Position and Radius);
}
}
rule("-==STARS RECEIVED==-")
{
event
{
Ongoing - Global;
}
}
rule("Stars // Damage = 0.7 - 3")
{
event
{
Player Dealt Damage;
Team 1;
All;
}
actions
{
Set Global Variable(StarPoints, Add(Global Variable(StarPoints), Random Real(0.700, 3)));
Wait(0.250, Ignore Condition);
}
}
rule("Stars // Healing 1 - 6")
{
event
{
Player Dealt Healing;
Team 1;
All;
}
actions
{
Set Global Variable(StarPoints, Add(Global Variable(StarPoints), Random Real(1, 6)));
Wait(0.350, Ignore Condition);
}
}
rule("Stars // Healing")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Create HUD Text(Event Player, Custom String("TEAM SCORE", Null, Null, Null), Null, Null, Left, 0, White, White, White,
Visible To and String, Default Visibility);
Create HUD Text(Event Player, String("{0} {1}", Global Variable(StarPoints), Custom String("points earned", Null, Null, Null),
Null), Null, Null, Left, 0.500, Sky Blue, Yellow, Yellow, Visible To and String, Default Visibility);
}
}
rule("Stars // Score goes up when dealing damage")
{
event
{
Player Dealt Damage;
Team 1;
All;
}
conditions
{
Event Was Critical Hit == True;
}
actions
{
Set Global Variable(StarPoints, Add(Global Variable(StarPoints), 4));
Wait(0.250, Ignore Condition);
}
}
rule("Star // Star 1 earned at 150")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(StarPoints) >= 250;
}
actions
{
Create HUD Text(Event Player, Custom String("☆", Null, Null, Null), Null, Null, Left, 1, Yellow, Yellow, Yellow,
Visible To and String, Default Visibility);
}
}
rule("375")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(StarPoints) >= 475;
}
actions
{
Create HUD Text(Event Player, Custom String("☆", Null, Null, Null), Null, Null, Left, 2, Yellow, White, Yellow,
Visible To and String, Default Visibility);
}
}
rule("Star // Star 3 earned at 500")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(StarPoints) >= 700;
}
actions
{
Create HUD Text(Event Player, Custom String("☆", Null, Null, Null), Null, Null, Left, 3, Yellow, White, Yellow,
Visible To and String, Default Visibility);
}
}
rule("Star // Star 4 earned at 700")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(StarPoints) >= 900;
}
actions
{
Create HUD Text(Event Player, Custom String("☆", Null, Null, Null), Null, Null, Left, 4, Yellow, White, Yellow,
Visible To and String, Default Visibility);
}
}
rule("Star // Star 5 earned at 900")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(StarPoints) >= 1500;
}
actions
{
Create HUD Text(Event Player, Custom String("☆", Null, Null, Null), Null, Null, Left, 4, Yellow, White, Yellow,
Visible To and String, Default Visibility);
}
}
rule("Stars // Elimination 8 - 13.5")
{
event
{
Player Dealt Final Blow;
Team 1;
All;
}
actions
{
Set Global Variable(StarPoints, Add(Global Variable(StarPoints), Random Real(8, 13.500)));
}
}
rule("-==DIFFICULTY==-")
{
event
{
Ongoing - Global;
}
}
rule("Difficulty Switch // Go into this rule and select numbers (-1)-7 depending on desired difficulty level.")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
"Set the value to numbers (-1)-7. "
Set Global Variable(DifficultyLevelSwitch, 1);
"Disabled by default; If on, randomly chooses the difficulty. (TURN OFF ABOVE RULE AND ENABLE THIS ONE FOR EFFECTS)"
disabled Set Global Variable(DifficultyLevelSwitch, Random Integer(-1, 7));
}
}
rule("-1) April Fools (350% Damage/270% Total HP/55% Movement Speed/All zombies heal 40 over time/Taking 75 damage in 1 hit stuns)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(DifficultyLevelSwitch) == -1;
}
actions
{
Set Move Speed(All Players(Team 2), 600);
Set Max Health(All Players(Team 2), 400);
Set Damage Dealt(All Players(Team 2), 400);
Create HUD Text(Event Player, Null, Null, Custom String("Difficulty: April Fools", Null, Null, Null), Left, 0, White, White,
Lime Green, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("''Yeah u ded lolololololololololololol'' - CrimsonRend", Null, Null,
Null), Left, 1, White, White, White, Visible To and String, Default Visibility);
Start Heal Over Time(All Players(Team 2), Null, 9999, 65);
}
}
rule("1) Easy (75% damage/90% speed)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(DifficultyLevelSwitch) == 1;
}
actions
{
Set Damage Dealt(All Players(Team 2), 75);
Create HUD Text(Event Player, Null, Null, Custom String("Difficulty: Easy", Null, Null, Null), Right, 0, White, Red, Green,
Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have -25% damage", Null, Null, Null), Right, 1, White, White,
White, Visible To and String, Default Visibility);
Set Move Speed(All Players(Team 2), 90);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have -10% damage", Null, Null, Null), Right, 2, White, White,
White, Visible To and String, Default Visibility);
}
}
rule("2) Normal (Default everything)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(DifficultyLevelSwitch) == 2;
}
actions
{
Create HUD Text(Event Player, Null, Null, Custom String("Difficulty: NORMAL", Null, Null, Null), Right, 0, White, Yellow, White,
Visible To and String, Default Visibility);
}
}
rule("3) Hard (+15% Damage)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(DifficultyLevelSwitch) == 3;
}
actions
{
Set Damage Dealt(All Players(Team 2), 115);
Create HUD Text(Event Player, Null, Null, Custom String("Difficulty: HARD", Null, Null, Null), Right, 0, White, Red, Red,
Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have +15% damage", Null, Null, Null), Right, 1, White, White,
White, Visible To and String, Default Visibility);
}
}
rule("4) Expert (+25% Damage/-10% Damage Received)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(DifficultyLevelSwitch) == 4;
}
actions
{
Set Damage Dealt(All Players(Team 2), 125);
Set Damage Received(All Players(Team 2), 90);
Create HUD Text(Event Player, Null, Null, Custom String("Difficulty: EXPERT", Null, Null, Null), Right, 0, White, White, Purple,
Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have +25% damage", Null, Null, Null), Right, 1, White, White,
White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have -10% damage reduction", Null, Null, Null), Right, 2,
White, White, White, Visible To and String, Default Visibility);
}
}
rule("5) Legendary (+30% Damage/25% Total HP/-20% Damage Recieved)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(DifficultyLevelSwitch) == 5;
}
actions
{
Set Max Health(All Players(Team 2), 125);
Set Damage Dealt(All Players(Team 2), 130);
Set Damage Received(All Players(Team 2), 80);
Create HUD Text(Event Player, Null, Null, Custom String("Difficulty: LEGENDARY", Null, Null, Null), Right, 0, White, White,
Sky Blue, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have +30% damage", Null, Null, Null), Right, 1, White, White,
White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have -20% damage reduction", Null, Null, Null), Right, 2,
White, White, White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have +25% maximum health.", Null, Null, Null), Right, 3,
White, White, White, Visible To and String, Default Visibility);
}
}
rule("6) Soul Melting (45% Damage/35%Total HP/20%/Movement Speed/30% damage reduction)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(DifficultyLevelSwitch) == 6;
}
actions
{
Set Move Speed(All Players(Team 2), 120);
Set Max Health(All Players(Team 2), 135);
Set Damage Dealt(All Players(Team 2), 145);
Set Damage Received(All Players(Team 2), 70);
Create HUD Text(Event Player, Null, Null, Custom String("Difficulty: S O U L M E L T I N G", Null, Null, Null), Right, 0, White,
White, Yellow, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have +45% damage", Null, Null, Null), Right, 1, White, White,
White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have +35% the normal health.", Null, Null, Null), Right, 2,
White, White, White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have -30% damage reduction.", Null, Null, Null), Right, 3,
White, White, White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have +20% movement speed.", Null, Null, Null), Right, 5,
White, White, White, Visible To and String, Default Visibility);
}
}
rule("7) Path to Champions (55% Damage/50% Total HP/35% Movement Speed/-45% damage reduction)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(DifficultyLevelSwitch) == 7;
}
actions
{
Set Move Speed(All Players(Team 2), 135);
Set Max Health(All Players(Team 2), 150);
Set Damage Dealt(All Players(Team 2), 155);
Set Damage Received(All Players(Team 2), 55);
Create HUD Text(Event Player, Null, Null, Custom String("Difficulty: Path to Champions", Null, Null, Null), Right, 0, White, White,
Orange, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have +55% damage", Null, Null, Null), Right, 1, White, White,
White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have 150% the normal health.", Null, Null, Null), Right, 2,
White, White, White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have -45% damage reduction.", Null, Null, Null), Right, 3,
White, White, White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have +35% movement speed.", Null, Null, Null), Right, 5,
White, White, White, Visible To and String, Default Visibility);
}
}
rule("8) Champion's Road (180% Damage/100% Total HP/55% Movement Speed/200% Projectile Speed)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(DifficultyLevelSwitch) == 8;
}
actions
{
Set Move Speed(All Players(Team 2), 155);
Set Max Health(All Players(Team 2), 200);
Set Damage Dealt(All Players(Team 2), 180);
Create HUD Text(Event Player, Null, Null, Custom String("Difficulty: Champion's Road", Null, Null, Null), Right, 0, White, White,
Lime Green, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have 180% the normal damage.", Null, Null, Null), Right, 1,
White, White, White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have double the normal health.", Null, Null, Null), Right, 2,
White, White, White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have NO damage reduction.", Null, Null, Null), Right, 3,
White, White, White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String("- All units have +55% movement speed.", Null, Null, Null), Right, 5,
White, White, White, Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, Custom String(
"- Completing Champion's Road will put you and your team in the Hall of Fame", Null, Null, Null), Right, 7, White, White,
Yellow, Visible To and String, Default Visibility);
}
}
rule("O====CHALLENGES (Can pick any assortment of challenges, every challenge has difficulty stars out of 5 being the hardest)=======O")
{
event
{
Ongoing - Global;
}
}
disabled rule("GLASS CANNON CHALLENGE [Difficulty: ***] (Very low health but very high damage)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Set Max Health(Event Player, 35);
Set Damage Dealt(Event Player, 150);
}
}
disabled rule("THE SCORCH CHALLENGE [Difficulty: **] (Take extra burn damage from all enemy attacks)")
{
event
{
Player Dealt Damage;
Team 2;
All;
}
actions
{
Set Status(Victim, Event Player, Burning, 3);
Start Damage Over Time(Victim, Null, 3, 5);
}
}
disabled rule("BLOODBATH CHALLENGE [Difficulty: *] (Killing an enemy damages the player)")
{
event
{
Player Earned Elimination;
Team 1;
All;
}
actions
{
Damage(Event Player, Randomized Array(All Living Players(Team 2)), 125);
}
}
disabled rule("ULT SPAWN CHALLENGE [Difficulty: **] (All enemies spawn with their ultimates)")
{
event
{
Ongoing - Each Player;
Team 2;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
Set Ultimate Charge(Event Player, 100);
}
}
disabled rule("THE WITHERING CHALLENGE [Difficulty: **] (All players take 10 damage per second throughout the entire match)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
Start Damage Over Time(Event Player, Null, 9999, 10);
}
}
disabled rule("NO HEALING CHALLENGE [Difficulty: ***] (No healing..... What else did you expect?)")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Set Healing Dealt(Event Player, 0);
}
}
disabled rule("HEADSHOT ONLY CHALLENGE [Difficulty: ***] (Only headshots can damage enemies, however body shots can kill and built ult charge)")
{
event
{
Player Dealt Damage;
Team 1;
All;
}
conditions
{
Event Was Critical Hit == False;
}
actions
{
Heal(Victim, Null, Event Damage);
Set Damage Received(Victim, 0);
Wait(0.500, Ignore Condition);
Set Damage Received(Victim, 100);
}
}
disabled rule("THE FINALE CHALLENGE [Difficulty: ****] (If 1 person dies, the game is over)")
{
event
{
Player Died;
Team 1;
All;
}
actions
{
Wait(3, Ignore Condition);
Declare Team Victory(Team 2);
}
}
disabled rule("TIME TRIAL CHALLENGE [Difficulty: **] (Only 3 minutes instead of an hour)")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Set Match Time(180);
}
}
disabled rule("SUDDEN DEATH CHALLENGE [Difficulty: *****] (BOTH enemies and players are one shot by any sort of damage)")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Set Max Health(Event Player, Subtract(0.800, 0.100));
Set Status(Event Player, Null, Burning, 9999);
}
}
disabled rule("THE PERFECTIONISTS [Difficulty: ****] (Players can only enter the escape door if the team has 5 stars)")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Players Within Radius(Vector(-12.715, -2.902, -24.945), 5, Team 1, Off) == True;
Global Variable(Map_Progression) < 1500;
}
actions
{
Kill(Event Player, Null);
}
}
rule("-==EXPERT MODE==-")
{
event
{
Ongoing - Global;
}
}
rule("Expert Mode Switch // Go into the rule and select 'true' if you want expert, if not select 'false'")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
"Leaving this rule turns Expert Mode ON"
disabled Set Global Variable(ExpertChallengeSwitch, True);
"Leaving this rule on turns the rule OFF."
Set Global Variable(ExpertChallengeSwitch, False);
}
}
rule("Adrenaline // Adrenaline HUD")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Create HUD Text(Event Player, Null, Custom String("Adrenaline Meter (Press F at 10 to unleash your adrenaline!)", Null, Null,
Null), String("{0} / {1}", Player Variable(Event Player, Adrenaline), 10, Null), Top, 2, White, Blue, Sky Blue,
Visible To and String, Default Visibility);
}
}
rule("Adrenaline // Add 1 every 3 seconds")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is Alive(Event Player) == True;
Has Status(Event Player, Burning) == False;
Has Spawned(Event Player) == True;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Abort If(Compare(Player Variable(Event Player, Adrenaline), ==, 10));
Wait(3, Abort When False);
Set Player Variable(Event Player, Adrenaline, Add(Player Variable(Event Player, Adrenaline), 1));
Loop If Condition Is True;
}
}
rule("Adrenaline // Took damage = Adrenaline goes 0")
{
event
{
Player Took Damage;
Team 1;
All;
}
conditions
{
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Abort If(Compare(Player Variable(Event Player, Adrenaline), ==, 10));
Set Player Variable(Event Player, Adrenaline, 0);
}
}
rule("Adrenaline // Unleash the Adrenaline!")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is Button Held(Event Player, Melee) == True;
Player Variable(Event Player, Adrenaline) == 10;
Is Alive(Event Player) == True;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Play Effect(All Players(All Teams), Ring Explosion, Sky Blue, Event Player, 12);
Kill(Players Within Radius(Event Player, 12, Team 2, Surfaces), Event Player);
Set Player Variable(Event Player, Adrenaline, 0);
Set Damage Dealt(Event Player, 200);
Set Move Speed(Event Player, 140);
Set Player Variable(Event Player, Corruption, Subtract(Player Variable(Event Player, Corruption), 10));
Set Status(Event Player, Null, Burning, 8);
Wait(8, Ignore Condition);
Set Damage Dealt(Event Player, 100);
Set Move Speed(Event Player, 100);
}
}
rule("The Corrupted // Explode when dead")
{
event
{
Player Died;
Team 2;
All;
}
conditions
{
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Play Effect(All Players(All Teams), Bad Explosion, Red, Event Player, 9);
Play Effect(All Players(All Teams), Bad Explosion, Orange, Event Player, 8);
Play Effect(All Players(All Teams), Bad Explosion, Yellow, Event Player, 7);
Play Effect(All Players(All Teams), Ring Explosion, Red, Event Player, 10);
Damage(Players Within Radius(Event Player, 5, Team 1, Surfaces And Enemy Barriers), Event Player, Random Integer(50, 149));
}
}
rule("Corruption // Corruption HUD")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Create HUD Text(Event Player, Null, Custom String("Corruption Meter (If at 20 bad things will happen!", Null, Null, Null), String(
"{0} / {1}", Player Variable(Event Player, Corruption), 20, Null), Top, 5, White, Purple, White, Visible To and String,
Default Visibility);
}
}
rule("Corruption // Add 1 every 4.5 seconds")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is Alive(Event Player) == True;
Has Status(Event Player, Burning) == False;
Has Spawned(Event Player) == True;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Wait(4.500, Abort When False);
Set Player Variable(Event Player, Corruption, Add(Player Variable(Event Player, Corruption), 1));
Loop If Condition Is True;
}
}
rule("Corruption // Don't go under 0")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Player Variable(Event Player, Corruption) < 0;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Set Player Variable(Event Player, Corruption, 0);
Wait(0.250, Ignore Condition);
Loop If Condition Is True;
}
}
rule("Corruption // Don't go over 20")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Player Variable(Event Player, Corruption) > 20;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Set Player Variable(Event Player, Corruption, 20);
}
}
rule("Corruption // If at 20, kill over time")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Player Variable(Event Player, Corruption) == 20;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Start Damage Over Time(Event Player, Null, 9999, 30);
Set Status(Event Player, Null, Hacked, 9999);
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("IS BEING EATEN BY THE CORRUPTION!", Null, Null,
Null), Null));
}
}
rule("Corruption // Undo effects if corruption is under 20")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Player Variable(Event Player, Corruption) < 20;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Stop All Damage Over Time(Event Player);
Clear Status(Event Player, Hacked);
}
}
rule("Corruption // 1 kill = -3 corruption")
{
event
{
Player Earned Elimination;
Team 1;
All;
}
conditions
{
Is Alive(Event Player) == True;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Set Player Variable(Event Player, Corruption, Subtract(Player Variable(Event Player, Corruption), 3));
}
}
rule("-==TOP HUD==-")
{
event
{
Ongoing - Global;
}
}
rule("Rule 94")
{
event
{
Ongoing - Global;
}
actions
{
Set Match Time(3600);
}
}
rule("Defeat")
{
event
{
Ongoing - Global;
}
conditions
{
Is True For All(All Players(Team 1), Is Dead(Current Array Element)) == True;
Has Spawned(All Players(Team 1)) == True;
}
actions
{
Destroy All Effects;
Destroy All In-World Text;
Wait(3, Ignore Condition);
Wait(4, Ignore Condition);
Declare Team Victory(Team 2);
}
}
rule("-==IRON HEART MODE==-")
{
event
{
Ongoing - Global;
}
}
rule("Iron Heart // Create Iron Heart")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Create Effect(All Players(All Teams), Orb, White, Global Variable(IronHeart), 1, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), Custom String("IRON HEART", Null, Null, Null), Global Variable(IronHeart), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
}
}
rule("Iron Heart // Variable")
{
event
{
Ongoing - Global;
}
actions
{
Set Global Variable(IronHeart, Vector(-3.241, 1.423, 21.575));
Set Global Variable(IronHeartMode, False);
}
}
rule("Iron Heart // Collect Iron Heart")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global Variable(IronHeart), 1, Team 1, Off) == True;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Destroy Effect(Global Variable(IronHeart));
Big Message(Event Player, Custom String("THE IRON HEART MELTS.. ALL THE HEROES' HEARTS ARE FILLED WITH FRAGILE METAL.", Null, Null,
Null));
Wait(0.250, Ignore Condition);
Set Global Variable(F, True);
}
}
rule("Iron Heart // Disable if not in expert")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global Variable(IronHeart), 1, Team 1, Off) == True;
Global Variable(ExpertChallengeSwitch) == False;
}
actions
{
Big Message(Event Player, Custom String("expert mode must be enabled to activate the iron heart.", Null, Null, Null));
Wait(3, Ignore Condition);
}
}
rule("Iron Heart Mode // If health is not 100%, set damage received 200%")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(IronHeartMode) == True;
Health(Event Player) < Max Health(Event Player);
}
actions
{
Set Damage Received(Event Player, 200);
}
}
rule("Iron Heart Mode // If health is 100%, set damage received to 100%")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global Variable(IronHeartMode) == True;
Health(Event Player) == Max Health(Event Player);
}
actions
{
Set Damage Received(Event Player, 100);
}
}
rule("Rule 116")
{
event
{
Player Died;
Team 1;
All;
}
conditions
{
Global Variable(F) == True;
}
actions
{
Play Effect(All Players(All Teams), Bad Explosion, Red, Event Player, 6);
Play Effect(All Players(All Teams), Bad Explosion, Orange, Event Player, 4);
Play Effect(All Players(All Teams), Bad Explosion, Yellow, Event Player, 3);
Play Effect(All Players(All Teams), Ring Explosion, Red, Event Player, 6);
Damage(Players Within Radius(Event Player, 6, All Teams, Surfaces And Enemy Barriers), Event Player, Random Integer(50, 149));
}
}
rule("-==CRUCIBLE OF SOULS MODE==-")
{
event
{
Ongoing - Global;
}
}
rule("Crucible of Souls // Create CoS")
{
event
{
Ongoing - Global;
}
}
rule("CoS // Variable")
{
event
{
Ongoing - Global;
}
actions
{
Set Global Variable(CrucibleOfSouls, Vector(-6.428, 1.426, 21.646));
Set Global Variable(CrucicbleOfSoulsMode, False);
}
}
rule("CoS // Create CoS")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Create Effect(All Players(All Teams), Orb, Red, Global Variable(CrucibleOfSouls), 1, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), Custom String("CRUCIBLE OF SOULS", Null, Null, Null), Global Variable(
CrucibleOfSouls), 1, Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
}
}
rule("Cos // Collect CoS")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global Variable(CrucibleOfSouls), 1, Team 1, Off) == True;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Destroy Effect(Global Variable(IronHeart));
Big Message(Event Player, Custom String("THE CRUCIBLE AWAKES.. DEATH IS NOW PERMANENT. NO EXCEPTIONS.", Null, Null, Null));
Wait(0.250, Ignore Condition);
Set Global Variable(CrucicbleOfSoulsMode, True);
}
}
rule("CoS // Disable if not in expert")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global Variable(IronHeart), 1, Team 1, Off) == True;
Global Variable(ExpertChallengeSwitch) == False;
}
actions
{
Big Message(Event Player, Custom String("expert mode must be enabled to activate the iron heart.", Null, Null, Null));
Wait(3, Ignore Condition);
}
}
rule("CoS Mode // If dead, all teammates are damaged + weakened")
{
event
{
Player Died;
Team 1;
All;
}
conditions
{
Global Variable(CrucicbleOfSoulsMode) == True;
}
actions
{
Start Damage Over Time(All Living Players(Team 1), Null, 6, 25);
Set Move Speed(All Living Players(Team 1), 50);
Wait(6, Ignore Condition);
Set Move Speed(All Living Players(Team 1), 100);
}
}
rule("Cos // If mercy is in the game, stop her res")
{
event
{
Ongoing - Each Player;
Team 1;
Mercy;
}
conditions
{
Global Variable(CrucicbleOfSoulsMode) == True;
}
actions
{
Set Ability 2 Enabled(Event Player, False);
}
}
rule("-==CURSED CLOCK==-")
{
event
{
Ongoing - Global;
}
}
rule("Cursed Crown // Create CC")
{
event
{
Ongoing - Global;
}
}
rule("CC // Variables")
{
event
{
Ongoing - Global;
}
actions
{
Set Global Variable(CursedClock, Vector(-8.479, 1.173, 21.693));
Set Global Variable(CursedClockMode, False);
}
}
rule("CC // Create CC")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Create Effect(All Players(All Teams), Orb, Purple, Global Variable(CursedClock), 1, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), Custom String("CURSED CROWN", Null, Null, Null), Global Variable(CursedClock), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
}
}
rule("CC // Collect CC")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global Variable(CursedClock), 1, Team 1, Off) == True;
Global Variable(ExpertChallengeSwitch) == True;
}
actions
{
Destroy Effect(Global Variable(IronHeart));
Big Message(Event Player, Custom String("THE CURSED CLOCK STARTS TICKING.... DEATH WILL SPEED UP THE TIMER.", Null, Null, Null));
Wait(0.250, Ignore Condition);
Set Global Variable(CursedClockMode, True);
}
}
rule("CC // Disable if not in Expert")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global Variable(IronHeart), 1, Team 1, Off) == True;
Global Variable(ExpertChallengeSwitch) == False;
}
actions
{
Big Message(Event Player, Custom String("expert mode must be enabled to activate the iron heart.", Null, Null, Null));
Wait(3, Ignore Condition);
}
}
rule("CC Mode // Set timer to 10 minutes")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(CursedClockMode) == True;
}
actions
{
Wait(0.250, Abort When False);
Set Match Time(600);
}
}
rule("CC Mode // If a player dies, -30 seconds on the timer")
{
event
{
Player Died;
Team 1;
All;
}
conditions
{
Global Variable(CursedClockMode) == True;
}
actions
{
Set Match Time(Subtract(Match Time, 30));
}
}