Return to post
variables
{
global:
0: Menu
1: timerch
2: normalmode
3: hardmode
5: timerarea
6: normarea
7: hardarea
8: chosenamode
9: soulvial
10: altarres
11: flipswitch
14: atlarspeed
19: TotalSoulsCollected
22: chargeexitphase
23: portalcharge
26: altar2
27: altar3
28: altar4
29: deathTimer
31: infinitedeath
32: level1
33: level2
34: level3
35: level4
36: level5
37: level6
38: level7
39: level8
40: enableChallenge
41: plagueBringer
42: mainLobbu
43: teratoma
44: cryoSentience
48: allowSS
49: sevLoad
50: flawless
51: lottaClip
52: moon
53: actFast
54: asOne
55: extraFlawless
player:
4: expGoal
5: level
6: currentEXP
7: pureSoul
8: givemeurblood
25: becomeboss
26: newA
27: newB
30: thirdEye
31: airPressure
32: settleDown
33: lethalInject
34: choosingSkill
35: moonstruck
36: eject
37: soulAura
38: CurMeds
39: soulShed
40: pureShield
41: soulSpire
42: titansWrath
}
rule("Rule 18")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Create HUD Text(Event Player, Custom String("souls collected"), Null, Null, Top, 1, Color(Sky Blue), Color(White), Color(White),
Visible To and String, Default Visibility);
Create HUD Text(Event Player, Null, Null, String("{0} / {1}", Global.TotalSoulsCollected, 200), Top, 2, Color(White), Color(White),
Color(Lime Green), Visible To and String, Default Visibility);
disabled Create Progress Bar HUD Text(Event Player, Global.TotalSoulsCollected, Custom String("Souls Contained"), Top, 1, Color(Red), Color(
White), Visible To Values and Color, Default Visibility);
}
}
rule("Unlimited Time")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.Menu == True;
}
actions
{
Pause Match Time;
}
}
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
{
Global.atlarspeed = True;
Destroy All Effects;
Destroy All In-World Text;
Wait(3, Ignore Condition);
Wait(4, Ignore Condition);
Declare Team Victory(Team 2);
}
}
rule("Rule 4")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Has Spawned(Event Player) == True;
Global.Menu == True;
Is Dummy Bot(Event Player) == False;
}
actions
{
Teleport(Event Player, Vector(188.208, 13.242, -46.523));
}
}
rule("-==MENU THINGIES==-")
{
event
{
Ongoing - Global;
}
actions
{
Global.mainLobbu = True;
}
}
rule("Hallway")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Create In-World Text(All Players(All Teams), Custom String("<-- START GAME || HERO WARDROBE [FOR NOW] -->"), Vector(160.148,
12.427, -46.548), 1, Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
disabled Create In-World Text(All Players(All Teams), Custom String("CHALLENGES"), Vector(203.365, 11.550, -46.564), 2,
Clip Against Surfaces, Visible To Position and String, Color(Purple), Default Visibility);
}
}
rule("Entry door // Once done with menu, tp into vial 1")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
disabled Global.chosenamode == True;
Players Within Radius(Vector(156.871, 12.550, -30.459), 2, Team 1, Off) == True;
Is Button Held(Event Player, Button(Melee)) == True;
}
actions
{
Teleport(Players In Slot(0, Team 1), Vector(153.871, 12.319, -30.705));
Teleport(Players In Slot(1, Team 1), Vector(153.871, 12.319, -30.705));
Teleport(Players In Slot(2, Team 1), Vector(153.871, 12.319, -30.705));
Teleport(Players In Slot(3, Team 1), Vector(153.871, 12.319, -30.705));
Global.mainLobbu = False;
}
}
rule("-==OH BOI TIME TO CODE THE GAME OMEGALUL==-")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Vector(157.748, 12.199, -30.501), 3.700, All Teams, Off) == True;
}
actions
{
Small Message(Event Player, Custom String("punch the door to start the game"));
}
}
rule("Elims")
{
event
{
Player Dealt Final Blow;
Team 1;
All;
}
conditions
{
Is Alive(Players In Slot(0, Team 1)) == True;
}
actions
{
Abort If(Global.TotalSoulsCollected == 200);
Global.TotalSoulsCollected = Global.TotalSoulsCollected + 1;
}
}
rule("-==OH YEAH, ITS BOSS TIME==-")
{
event
{
Ongoing - Global;
}
}
rule("Rule 39")
{
event
{
Ongoing - Global;
}
actions
{
Disable Built-In Game Mode Respawning(All Players(Team 1));
Global.level1 = False;
Global.level2 = False;
Global.level3 = False;
Global.level4 = False;
Global.level5 = False;
Global.level6 = False;
Global.level7 = False;
Global.level8 = False;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level1 == True;
Global.enableChallenge == False;
}
actions
{
Wait(60, Ignore Condition);
Set Damage Dealt(Players In Slot(0, Team 2), 130);
Set Max Health(Players In Slot(0, Team 2), 200);
Set Move Speed(Players In Slot(0, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(0, Team 2), 2, Visible To Position and Radius);
Global.level2 = True;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level2 == True;
Global.enableChallenge == False;
}
actions
{
Wait(60, Ignore Condition);
Set Max Health(Players In Slot(1, Team 2), 200);
Set Move Speed(Players In Slot(1, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(1, Team 2), 2, Visible To Position and Radius);
Set Damage Dealt(Players In Slot(1, Team 2), 130);
Global.level3 = True;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level3 == True;
Global.enableChallenge == False;
}
actions
{
Wait(60, Ignore Condition);
Set Max Health(Players In Slot(2, Team 2), 200);
Set Move Speed(Players In Slot(2, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(2, Team 2), 2, Visible To Position and Radius);
Set Damage Dealt(Players In Slot(2, Team 2), 130);
Global.level4 = True;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level4 == True;
Global.enableChallenge == False;
}
actions
{
Wait(60, Ignore Condition);
Set Max Health(Players In Slot(3, Team 2), 200);
Set Move Speed(Players In Slot(3, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(3, Team 2), 2, Visible To Position and Radius);
Set Damage Dealt(Players In Slot(3, Team 2), 130);
Global.level4 = True;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level4 == True;
Global.enableChallenge == False;
}
actions
{
Wait(60, Ignore Condition);
Set Max Health(Players In Slot(4, Team 2), 200);
Set Move Speed(Players In Slot(4, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(4, Team 2), 2, Visible To Position and Radius);
Set Damage Dealt(Players In Slot(4, Team 2), 130);
Global.level5 = True;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level5 == True;
Global.enableChallenge == False;
}
actions
{
Wait(60, Ignore Condition);
Set Max Health(Players In Slot(5, Team 2), 200);
Set Move Speed(Players In Slot(5, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(5, Team 2), 2, Visible To Position and Radius);
Set Damage Dealt(Players In Slot(5, Team 2), 130);
Global.level6 = True;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level6 == True;
Global.enableChallenge == False;
}
actions
{
Wait(60, Ignore Condition);
Set Max Health(Players In Slot(6, Team 2), 200);
Set Move Speed(Players In Slot(6, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(6, Team 2), 2, Visible To Position and Radius);
Set Damage Dealt(Players In Slot(6, Team 2), 130);
Global.level6 = True;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level6 == True;
Global.enableChallenge == False;
}
actions
{
Wait(60, Ignore Condition);
Set Max Health(Players In Slot(7, Team 2), 200);
Set Move Speed(Players In Slot(7, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(7, Team 2), 2, Visible To Position and Radius);
Set Damage Dealt(Players In Slot(7, Team 2), 130);
Global.level7 = True;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level7 == True;
Global.enableChallenge == False;
}
actions
{
Wait(60, Ignore Condition);
Set Max Health(All Players(Team 2), 150);
Set Move Speed(All Players(Team 2), 125);
Create Effect(All Players(All Teams), Sparkles, Color(Red), Players In Slot(7, Team 2), 2, Visible To Position and Radius);
Set Damage Dealt(All Players(Team 2), 125);
Global.level8 = True;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level8 == True;
Global.enableChallenge == False;
}
actions
{
Wait(60, Ignore Condition);
Set Max Health(All Players(Team 2), 150);
Set Move Speed(All Players(Team 2), 125);
Create Effect(All Players(All Teams), Sparkles, Color(Red), Players In Slot(7, Team 2), 2, Visible To Position and Radius);
Set Damage Dealt(All Players(Team 2), 125);
}
}
rule("Sandhopper // Show name")
{
event
{
Ongoing - Each Player;
Team 2;
McCree;
}
actions
{
Create In-World Text(All Players(All Teams), Custom String("SANDHOPPER"), Event Player, 0.800, Clip Against Surfaces,
Visible To Position and String, Color(White), Default Visibility);
}
}
rule("-==FINAL BOSS==-")
{
event
{
Ongoing - Global;
}
}
rule("Rule 49")
{
event
{
Ongoing - Global;
}
conditions
{
Global.TotalSoulsCollected == 200;
}
actions
{
Resurrect(All Players(Team 2));
Wait(0.250, Ignore Condition);
Teleport(All Players(Team 2), Vector(140.520, 7.237, -46.772));
Wait(1, Ignore Condition);
Global.chargeexitphase = True;
}
}
rule("Rule 52")
{
event
{
Ongoing - Global;
}
conditions
{
Global.portalcharge == 100;
Players Within Radius(Vector(-96.472, 5.175, -87.300), 5, Team 1, Off) == True;
Global.flipswitch == True;
}
actions
{
Big Message(All Players(All Teams), Custom String("PORTAL INITIALIZED... BEAMING UP SURVIVORS."));
Set Status(All Players(Team 1), Null, Phased Out, 9999);
Wait(5, Ignore Condition);
Declare Team Victory(Team 1);
}
}
rule("Rule 53")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Create In-World Text(All Players(Team 1), String("{0}: {1}", Custom String("LEVEL"), Event Player.level), Event Player, 1.350,
Clip Against Surfaces, Visible To Position and String, Color(Lime Green), Default Visibility);
}
}
rule("-==DIFFICULTIES==-")
{
event
{
Ongoing - Global;
}
}
rule("setup soul vial")
{
event
{
Ongoing - Global;
}
actions
{
Create Effect(All Players(All Teams), Ring, Color(Yellow), Global.soulvial, 8.700, Visible To Position and Radius);
Create Icon(All Players(All Teams), Global.soulvial, Bolt, Visible To and Position, Color(Red), True);
}
}
rule("Sandhopper // setup")
{
event
{
Ongoing - Each Player;
Team 2;
McCree;
}
conditions
{
Is Button Held(Event Player, Button(Secondary Fire)) == True;
Event Player.becomeboss == False;
}
actions
{
Press Button(Event Player, Button(Ability 1));
}
}
rule("Sandhopper // Roll")
{
event
{
Ongoing - Each Player;
Team 2;
McCree;
}
conditions
{
Is Using Ability 1(Event Player) == True;
Event Player.becomeboss == False;
}
actions
{
Set Status(Players Within Radius(Event Player, 8, Team 1, Surfaces), Event Player, Knocked Down, 0.500);
Apply Impulse(Players Within Radius(Event Player, 8, Team 1, Off), Forward, 6, To Player, Cancel Contrary Motion);
Damage(Players Within Radius(Event Player, 8, Team 1, Surfaces), Event Player, 30);
}
}
rule("Sandhopper // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
McCree;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(96.637, 3.471, -72.368));
Start Scaling Player(Event Player, 0.850, True);
}
}
rule("Sandhopper // Respawn")
{
event
{
Ongoing - Each Player;
Team 2;
McCree;
}
conditions
{
Event Player.becomeboss == False;
}
actions
{
Set Respawn Max Time(Event Player, 0.800);
}
}
rule("Steampunk Abomination // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Roadhog;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(37.340, 5.617, -97.032));
Start Scaling Player(Event Player, 1.350, True);
}
}
rule("Steampunk Abomination // Hack hook")
{
event
{
Player Dealt Damage;
Team 2;
Roadhog;
}
conditions
{
Is Using Ability 1(Event Player) == True;
Event Player.becomeboss == False;
}
actions
{
Set Status(Victim, Event Player, Hacked, 3.500);
}
}
rule("Steampunk Abomination // Show name")
{
event
{
Ongoing - Each Player;
Team 2;
Roadhog;
}
actions
{
Create In-World Text(All Players(All Teams), Custom String("STEAMPUNK ABOMINATION"), Event Player, 0.800, Clip Against Surfaces,
Visible To Position and String, Color(White), Default Visibility);
}
}
rule("Steampunk Abomination // Respawn")
{
event
{
Ongoing - Each Player;
Team 2;
Roadhog;
}
conditions
{
Event Player.becomeboss == False;
}
actions
{
Set Respawn Max Time(Event Player, 13);
}
}
rule("Mechanical Cultist // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Zenyatta;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(33.286, 5.525, -95.381));
}
}
rule("Mechanical Cultist // Show name")
{
event
{
Ongoing - Each Player;
Team 2;
Zenyatta;
}
actions
{
Create In-World Text(All Players(All Teams), Custom String("MECHANICAL CULTIST"), Event Player, 0.800, Clip Against Surfaces,
Visible To Position and String, Color(White), Default Visibility);
}
}
rule("Mechanical Cultist // Respawn")
{
event
{
Ongoing - Each Player;
Team 2;
Zenyatta;
}
conditions
{
Event Player.becomeboss == False;
}
actions
{
Set Respawn Max Time(Event Player, 6);
}
}
rule("Rusty Artillery // Show name")
{
event
{
Ongoing - Each Player;
Team 2;
Bastion;
}
actions
{
Create In-World Text(All Players(All Teams), Custom String("RUSTY ARTILLERY"), Event Player, 0.800, Clip Against Surfaces,
Visible To Position and String, Color(White), Default Visibility);
}
}
rule("Rusty Artillery // Respawn")
{
event
{
Ongoing - Each Player;
Team 2;
Bastion;
}
actions
{
Set Respawn Max Time(Event Player, 12);
}
}
rule("Rusty Artillery // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Bastion;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(0.856, 14.490, -80.639));
Start Scaling Player(Event Player, 1.500, True);
}
}
rule("Phantom // Make invis")
{
event
{
Ongoing - Each Player;
Team 2;
Reaper;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Set Invisible(Event Player, Enemies);
Set Status(Event Player, Null, Unkillable, 9999);
}
}
rule("Phantom // Knocked down when hit")
{
event
{
Player Took Damage;
Team 2;
Reaper;
}
actions
{
Set Status(Event Player, Null, Knocked Down, 8);
Clear Status(Event Player, Unkillable);
Set Invisible(Event Player, None);
Wait(12, Ignore Condition);
Set Invisible(Event Player, Enemies);
Set Status(Event Player, Null, Unkillable, 9999);
Wait(0.500, Ignore Condition);
}
}
rule("Phantom // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Bastion;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(-52.383, 7.522, -78.105));
}
}
rule("Phantom // 1 shot punch")
{
event
{
Player Dealt Damage;
Team 2;
Reaper;
}
actions
{
Kill(Victim, Event Player);
}
}
rule("Phantom // Respawn")
{
event
{
Ongoing - Each Player;
Team 2;
Reaper;
}
actions
{
Set Respawn Max Time(Event Player, 15);
}
}
rule("Phantom // 1 shot punch")
{
event
{
Ongoing - Each Player;
Team 2;
Reaper;
}
conditions
{
Is Button Held(Event Player, Button(Primary Fire)) == True;
}
actions
{
Press Button(Event Player, Button(Melee));
Wait(0.250, Abort When False);
Loop;
}
}
rule("Ice Demon // Freeze on hit")
{
event
{
Player Dealt Damage;
Team 2;
Mei;
}
actions
{
Set Status(Victim, Event Player, Frozen, 0.300);
}
}
rule("Ice Demon // Show name")
{
event
{
Ongoing - Each Player;
Team 2;
Mei;
}
actions
{
Create In-World Text(All Players(All Teams), Custom String("ICE DEMON"), Event Player, 0.800, Clip Against Surfaces,
Visible To Position and String, Color(White), Default Visibility);
}
}
rule("Ice Demon // Respawn")
{
event
{
Ongoing - Each Player;
Team 2;
Mei;
}
actions
{
Set Respawn Max Time(Event Player, 8);
}
}
rule("Ice Demon // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Mei;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(-87.238, 6.312, -80.190));
}
}
rule("Leech // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Lúcio;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(-47.911, 11.654, -39.576));
}
}
rule("Leech // Show name")
{
event
{
Ongoing - Each Player;
Team 2;
Lúcio;
}
actions
{
Create In-World Text(All Players(All Teams), Custom String("BRAIN LEECH"), Event Player, 0.800, Clip Against Surfaces,
Visible To Position and String, Color(White), Default Visibility);
}
}
rule("Leech // Respawn")
{
event
{
Ongoing - Each Player;
Team 2;
Lúcio;
}
actions
{
Set Respawn Max Time(Event Player, 6);
}
}
rule("Rule 71")
{
event
{
Player Dealt Damage;
Team 2;
Lúcio;
}
actions
{
Attach Players(Event Player, Victim, Null);
Damage(Victim, Null, 45);
Event Player.givemeurblood = True;
Set Primary Fire Enabled(Event Player, False);
}
}
rule("Rule 71")
{
event
{
Player Died;
Team 2;
Lúcio;
}
actions
{
Detach Players(Event Player);
Set Primary Fire Enabled(Event Player, True);
}
}
rule("Support Sentry // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Ana;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(80.886, 12.439, -68.393));
Set Status(Event Player, Null, Rooted, 9999);
}
}
rule("SUPPORT SENTRY // Show name")
{
event
{
Ongoing - Each Player;
Team 2;
Ana;
}
actions
{
Create In-World Text(All Players(All Teams), Custom String("SUPPORT SENTRY"), Event Player, 0.800, Clip Against Surfaces,
Visible To Position and String, Color(White), Default Visibility);
}
}
rule("Support Sentry // Respawn")
{
event
{
Ongoing - Each Player;
Team 2;
Ana;
}
actions
{
Set Respawn Max Time(Event Player, 9);
}
}
rule("Rule 78")
{
event
{
Ongoing - Each Player;
Team 2;
Ana;
}
conditions
{
Ultimate Charge Percent(Event Player) == 100;
}
actions
{
Press Button(Event Player, Button(Ultimate));
Wait(0.250, Abort When False);
Loop If Condition Is True;
}
}
rule("Rule 81")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Event Player.pureSoul = 5;
}
}
rule("Rule 82")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Disable Built-In Game Mode Respawning(Event Player);
}
}
rule("Leech // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Torbjörn;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(85.008, 12.144, -34.614));
}
}
rule("Leech // Show name")
{
event
{
Ongoing - Each Player;
Team 2;
Torbjörn;
}
actions
{
Create In-World Text(All Players(All Teams), Custom String("EMPTY HUSK"), Event Player, 0.800, Clip Against Surfaces,
Visible To Position and String, Color(White), Default Visibility);
}
}
rule("Leech // Respawn")
{
event
{
Ongoing - Each Player;
Team 2;
Torbjörn;
}
actions
{
Set Respawn Max Time(Event Player, 4);
}
}
rule("Leech // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Zarya;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(-84.183, 9.820, -52.520));
}
}
rule("Leech // Show name")
{
event
{
Ongoing - Each Player;
Team 2;
Zarya;
}
actions
{
Create In-World Text(All Players(All Teams), Custom String("STARMADA"), Event Player, 0.800, Clip Against Surfaces,
Visible To Position and String, Color(White), Default Visibility);
}
}
rule("Leech // Respawn")
{
event
{
Ongoing - Each Player;
Team 2;
Zarya;
}
actions
{
Set Respawn Max Time(Event Player, 20);
}
}
rule("Rule 51")
{
event
{
Ongoing - Global;
}
conditions
{
Global.portalcharge == 100;
}
actions
{
Big Message(All Players(All Teams), Custom String("FLIP THE SWITCH AT THE CASTLE TO OPEN THE RIFT."));
Global.chargeexitphase = False;
Global.flipswitch = False;
}
}
rule("Rule 90")
{
event
{
Ongoing - Global;
}
conditions
{
Global.flipswitch == True;
}
actions
{
Big Message(All Players(All Teams), Custom String("RIFT OPENED."));
Create Effect(All Players(All Teams), Orb, Color(Purple), Vector(-96.472, 5.175, -87.300), 3, Visible To Position and Radius);
Create Icon(All Players(All Teams), Vector(-96.472, 5.175, -87.300), Arrow: Down, Visible To and Position, Color(Purple), True);
}
}
rule("-==TP CHARGE==-")
{
event
{
Ongoing - Global;
}
conditions
{
Global.chargeexitphase == True;
}
actions
{
Create Effect(All Players(All Teams), Light Shaft, Color(White), Vector(139.916, 7.236, -46.546), 16,
Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} / {1}", Global.portalcharge, 100), Vector(139.916, 7.236, -46.546), 1.300,
Clip Against Surfaces, Visible To Position and String, Color(Purple), Default Visibility);
Wait(1, Ignore Condition);
Chase Global Variable At Rate(portalcharge, 100, 0.800, Destination and Rate);
}
}
rule("Rule 91")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
disabled Is Button Held(Players Within Radius(Vector(139.916, 7.236, -46.546), 8, All Teams, Off), Button(Interact)) == True;
Players Within Radius(Vector(139.916, 7.236, -46.546), 8, Team 1, Surfaces) == True;
disabled Global.chargeexitphase == True;
Global.portalcharge == 100;
}
actions
{
Small Message(Event Player, Custom String("10..."));
Wait(1, Abort When False);
Small Message(Event Player, Custom String("9..."));
Wait(1, Abort When False);
Small Message(Event Player, Custom String("8..."));
Wait(1, Abort When False);
Small Message(Event Player, Custom String("7..."));
Wait(1, Abort When False);
Small Message(Event Player, Custom String("6..."));
Wait(1, Abort When False);
Small Message(Event Player, Custom String("5..."));
Wait(1, Abort When False);
Small Message(Event Player, Custom String("4..."));
Wait(1, Abort When False);
Small Message(Event Player, Custom String("3..."));
Wait(1, Abort When False);
Small Message(Event Player, Custom String("2..."));
Wait(1, Abort When False);
Small Message(Event Player, Custom String("1..."));
Wait(1, Abort When False);
Global.flipswitch = True;
}
}
rule("[COMPLETE VARIABLE BANK]")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
"-== Menu + Modes Variables ==-"
Global.Menu = True;
Global.timerch = False;
Global.normalmode = False;
Global.hardmode = False;
Global.chosenamode = False;
"-== Difficulty Locations ==-"
Global.timerarea = Vector(196.986, 11.549, -51.035);
Global.normarea = Vector(198.656, 10.455, -46.533);
Global.hardarea = Vector(197.317, 11.550, -41.642);
"-== Soul Vials ==-"
Global.soulvial = Players In Slot(0, Team 1);
Global.TotalSoulsCollected = 0;
"-==ALTARS==-"
Global.altarres = Vector(125.346, 11.175, -29.155);
}
}
disabled rule("Rule 99")
{
event
{
Ongoing - Global;
}
conditions
{
Has Spawned(Host Player) == True;
}
actions
{
Global.TotalSoulsCollected = 85;
}
}
rule("-==SWAP HEROES==-")
{
event
{
Ongoing - Global;
}
}
rule("Slot 1 // Choose new hero if standing in new hero")
{
event
{
Ongoing - Each Player;
Team 1;
Slot 0;
}
conditions
{
Players Within Radius(Vector(159.048, 12.515, -61.681), 5, Team 1, Off) == True;
}
actions
{
Wait(4, Abort When False);
Set Player Allowed Heroes(Event Player, Remove From Array(All Heroes, Hero Of(Event Player)));
Wait(0.250, Ignore Condition);
Reset Player Hero Availability(Event Player);
}
}
rule("Rule 102")
{
event
{
Ongoing - Global;
}
actions
{
Create Effect(All Players(All Teams), Sphere, Color(White), Vector(159.048, 12.515, -61.681), 5, Visible To Position and Radius);
}
}
rule("Shrine of Decay // Var + HUD")
{
event
{
Ongoing - Global;
}
actions
{
Global.altar2 = Vector(-108.022, 5.400, -53.609);
Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.altar2, 5, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), Custom String("SHRINE OF DECAY"), Global.altar2, 1.300, Clip Against Surfaces,
Visible To Position and String, Color(Red), Default Visibility);
}
}
rule("Shrine of Decay // Stand + F to res")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global.altar2, 5, Team 1, Off) == True;
Is Button Held(Event Player, Button(Crouch)) == True;
Is Alive(Event Player) == True;
}
actions
{
Abort If(Event Player.pureSoul < 5);
Wait(1, Abort When False);
Event Player.pureSoul = Event Player.pureSoul - 5;
Resurrect(All Players(Team 1));
Teleport(All Players(Team 1), Global.altar2);
}
}
rule("Shrine of Decay // Var + HUD")
{
event
{
Ongoing - Global;
}
actions
{
Global.altar3 = Vector(78.408, 6.166, -98.882);
Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.altar3, 5, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), Custom String("SHRINE OF DECAY"), Global.altar3, 1.300, Clip Against Surfaces,
Visible To Position and String, Color(Red), Default Visibility);
}
}
rule("Shrine of Decay // Stand + F to res")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global.altar3, 5, Team 1, Off) == True;
Is Button Held(Event Player, Button(Crouch)) == True;
Is Alive(Event Player) == True;
}
actions
{
Abort If(Event Player.pureSoul < 5);
Wait(1, Abort When False);
Event Player.pureSoul = Event Player.pureSoul - 5;
Resurrect(All Players(Team 1));
Teleport(All Players(Team 1), Global.altar3);
}
}
rule("Shrine of Decay // Var + HUD")
{
event
{
Ongoing - Global;
}
actions
{
Global.altar4 = Vector(-24.583, 13.175, -41.869);
Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.altar4, 5, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), Custom String("SHRINE OF DECAY"), Global.altar4, 1.300, Clip Against Surfaces,
Visible To Position and String, Color(Red), Default Visibility);
}
}
rule("Shrine of Decay // Stand + F to res")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global.altar4, 5, Team 1, Off) == True;
Is Button Held(Event Player, Button(Crouch)) == True;
Is Alive(Event Player) == True;
}
actions
{
Abort If(Event Player.pureSoul < 5);
Wait(1, Abort When False);
Event Player.pureSoul = Event Player.pureSoul - 5;
Resurrect(All Players(Team 1));
Teleport(All Players(Team 1), Global.altar4);
}
}
rule("Shrine of Decay // Var + HUD")
{
event
{
Ongoing - Global;
}
actions
{
Global.altarres = Vector(124.408, 11.175, -29.729);
Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.altarres, 5, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), Custom String("SHRINE OF DECAY"), Global.altarres, 1.300, Clip Against Surfaces,
Visible To Position and String, Color(Red), Default Visibility);
}
}
rule("Shrine of Decay // Stand + F to res")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global.altarres, 5, Team 1, Off) == True;
Is Button Held(Event Player, Button(Crouch)) == True;
Is Alive(Event Player) == True;
}
actions
{
Abort If(Event Player.pureSoul < 5);
Wait(1, Abort When False);
Event Player.pureSoul = Event Player.pureSoul - 5;
Resurrect(All Players(Team 1));
Teleport(All Players(Team 1), Global.altarres);
}
}
rule("-==LEVELS==-")
{
event
{
Ongoing - Global;
}
}
rule("HUD // Create HUD for levels")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Create HUD Text(Event Player, String("{0}: {1}", Custom String("LEVEL"), Event Player.level), Null, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Create HUD Text(Event Player, String("{0} / {1}", Event Player.currentEXP, Event Player.expGoal), Null, Null, Left, 2, Color(
Lime Green), Color(White), Color(Lime Green), Visible To and String, Default Visibility);
Event Player.expGoal = 5;
Event Player.level = 1;
}
}
rule("Tech // Elim -> +1 XP")
{
event
{
Player Earned Elimination;
Team 1;
All;
}
actions
{
Event Player.currentEXP = Event Player.currentEXP + Random Integer(1, 2);
}
}
rule("Tech // If XP = expGoal, +1 level and +2 to the goal towards next level")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.currentEXP >= Event Player.expGoal;
}
actions
{
Event Player.currentEXP = 0;
Event Player.expGoal = Event Player.expGoal + Random Integer(2, 4);
Event Player.level = Event Player.level + 1;
Event Player.pureSoul = Event Player.pureSoul + Random Integer(2, 6);
}
}
rule("HUD // Show Pure Souls of all players")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Create HUD Text(Event Player, Null, String("{0}: {1}", Custom String("Pure Souls"), Event Player.pureSoul), Null, Left, 10, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
}
}
rule("Tech // Stop outlines")
{
event
{
Ongoing - Global;
}
actions
{
Stop Forcing Player Outlines(All Players(Team 2), All Players(Team 1));
}
}
rule("Tech // Level 2")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 2;
}
actions
{
Set Damage Dealt(Event Player, 105);
Set Healing Dealt(Event Player, 105);
Set Move Speed(Event Player, 102);
Set Max Health(Event Player, 104);
}
}
rule("Tech // Level 3")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 3;
}
actions
{
Set Damage Dealt(Event Player, 110);
Set Healing Dealt(Event Player, 110);
Set Move Speed(Event Player, 106);
Set Max Health(Event Player, 108);
}
}
rule("Tech // Level 4")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 4;
}
actions
{
Set Damage Dealt(Event Player, 115);
Set Healing Dealt(Event Player, 115);
Set Move Speed(Event Player, 108);
Set Max Health(Event Player, 112);
}
}
rule("Tech // Level 5")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 5;
}
actions
{
Set Damage Dealt(Event Player, 120);
Set Healing Dealt(Event Player, 120);
Set Move Speed(Event Player, 110);
Set Max Health(Event Player, 116);
}
}
rule("Tech // Level 6")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 6;
}
actions
{
Set Damage Dealt(Event Player, 125);
Set Healing Dealt(Event Player, 125);
Set Move Speed(Event Player, 112);
Set Max Health(Event Player, 120);
}
}
rule("Tech // Level 7")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 7;
}
actions
{
Set Damage Dealt(Event Player, 130);
Set Healing Dealt(Event Player, 130);
Set Move Speed(Event Player, 114);
Set Max Health(Event Player, 124);
}
}
rule("Tech // Level 8")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 8;
}
actions
{
Set Damage Dealt(Event Player, 135);
Set Healing Dealt(Event Player, 135);
Set Move Speed(Event Player, 116);
Set Max Health(Event Player, 128);
}
}
rule("Tech // Level 9")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 9;
}
actions
{
Set Damage Dealt(Event Player, 140);
Set Healing Dealt(Event Player, 140);
Set Move Speed(Event Player, 118);
Set Max Health(Event Player, 132);
}
}
rule("Tech // Level 10")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 10;
}
actions
{
Set Damage Dealt(Event Player, 145);
Set Healing Dealt(Event Player, 145);
Set Move Speed(Event Player, 120);
Set Max Health(Event Player, 136);
}
}
rule("Tech // Level 11")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 11;
}
actions
{
Set Damage Dealt(Event Player, 150);
Set Healing Dealt(Event Player, 150);
Set Move Speed(Event Player, 122);
Set Max Health(Event Player, 140);
}
}
rule("Zenyatta // M2")
{
event
{
Ongoing - Each Player;
Team 2;
Zenyatta;
}
conditions
{
Is Alive(Event Player) == True;
}
actions
{
Start Holding Button(Event Player, Button(Secondary Fire));
Wait(Random Real(0.600, 1.500), Abort When False);
Loop If Condition Is True;
}
}
rule("Sandhopper // Insta-kill headshot")
{
event
{
Player Took Damage;
All;
McCree;
}
conditions
{
Event Was Critical Hit == True;
}
actions
{
Kill(Event Player, Attacker);
}
}
rule("Empty Husk // Turret")
{
event
{
Ongoing - Each Player;
Team 2;
Torbjörn;
}
conditions
{
Is Button Held(Event Player, Button(Primary Fire)) == True;
}
actions
{
Press Button(Event Player, Button(Ability 1));
Wait(10, Ignore Condition);
Loop If Condition Is True;
}
}
rule("Tech // Level 12")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 12;
}
actions
{
Set Damage Dealt(Event Player, 155);
Set Healing Dealt(Event Player, 155);
Set Move Speed(Event Player, 122);
Set Max Health(Event Player, 144);
}
}
rule("-==TELEPORTER==-")
{
event
{
Ongoing - Global;
}
}
rule("Tech // If in escape phase, no respawn time for enemies")
{
event
{
Ongoing - Each Player;
Team 2;
All;
}
conditions
{
Global.flipswitch == True;
}
actions
{
Set Respawn Max Time(Event Player, 0);
}
}
rule("Variables // deathTimer == False")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global.flipswitch == True;
}
actions
{
Big Message(Event Player, Custom String("PORTAL STATUS: STABLE"));
Global.deathTimer = 40;
Create HUD Text(Event Player, String("{0} {1}", Global.deathTimer, Custom String("UNTIL PORTAL DETONATES")), Null, Null, Top, 20,
Color(Red), Color(White), Color(White), Visible To and String, Default Visibility);
Wait(5, Ignore Condition);
Chase Global Variable At Rate(deathTimer, 0, 1, Destination and Rate);
Wait(10, Ignore Condition);
Big Message(Event Player, Custom String("PORTAL STATUS: STABLE"));
Wait(10, Ignore Condition);
Big Message(Event Player, Custom String("PORTAL STATUS: UNSTABLE"));
Wait(10, Ignore Condition);
Big Message(Event Player, Custom String("PORTAL STATUS: CRITICAL"));
Wait(10, Ignore Condition);
Play Effect(All Players(All Teams), Good Explosion, Color(Red), Event Player, 200);
Play Effect(All Players(All Teams), Good Explosion, Color(Orange), Event Player, 200);
Play Effect(All Players(All Teams), Good Explosion, Color(Yellow), Event Player, 200);
Global.infinitedeath = True;
}
}
rule("Enemies // All enemies now take -30% knockback")
{
event
{
Ongoing - Each Player;
Team 2;
All;
}
conditions
{
Global.portalcharge == 100;
}
actions
{
Set Knockback Received(All Players(Team 2), 0);
}
}
rule("Rule 113")
{
event
{
Ongoing - Each Player;
Team 2;
All;
}
conditions
{
Global.flipswitch == True;
}
actions
{
Set Move Speed(Event Player, 200);
}
}
rule("Soldier:76 // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Soldier: 76;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(96.637, 3.471, -72.368));
Start Scaling Player(Event Player, 0.750, True);
Start Modifying Hero Voice Lines(Event Player, 8, True);
}
}
rule("Thief // Take ult charge and raise cooldowns when dealing damage")
{
event
{
Player Dealt Damage;
Team 2;
Soldier: 76;
}
actions
{
Abort If(Ultimate Charge Percent(Victim) == 100);
Set Ultimate Charge(Victim, Ultimate Charge Percent(Victim) - 1);
Set Ability Cooldown(Victim, Button(Ability 1), Ability Cooldown(Victim, Button(Ability 1)) + 0.350);
Set Ability Cooldown(Victim, Button(Ability 2), Ability Cooldown(Victim, Button(Ability 2)) + 0.350);
Set Ability Cooldown(Victim, Button(Secondary Fire), Ability Cooldown(Victim, Button(Secondary Fire)) + 0.350);
Wait(0.200, Ignore Condition);
}
}
rule("Mechanical Cultist // Spawn")
{
event
{
Ongoing - Each Player;
Team 2;
Sombra;
}
conditions
{
Is In Spawn Room(Event Player) == True;
}
actions
{
Teleport(Event Player, Vector(33.286, 5.525, -95.381));
}
}
rule("Rule 117")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Has Status(Event Player, Hacked) == True;
}
actions
{
Start Damage Over Time(Event Player, Players On Hero(Hero(Sombra), Team 2), 5, 25);
}
}
rule("Rule 118")
{
event
{
Ongoing - Each Player;
Team 2;
Sombra;
}
conditions
{
Is Alive(Event Player) == True;
}
actions
{
Start Holding Button(Event Player, Button(Secondary Fire));
}
}
rule("Rule 119")
{
event
{
Ongoing - Each Player;
Team 1;
Sombra;
}
conditions
{
Is Using Ability 1(Event Player) == True;
}
actions
{
Wait(8, Abort When False);
Press Button(Event Player, Button(Ability 1));
}
}
rule("Tech // Level 13")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 13;
}
actions
{
Set Damage Dealt(Event Player, 160);
Set Healing Dealt(Event Player, 160);
Set Move Speed(Event Player, 124);
Set Max Health(Event Player, 148);
}
}
rule("Tech // Level 14")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 14;
}
actions
{
Set Damage Dealt(Event Player, 165);
Set Healing Dealt(Event Player, 165);
Set Move Speed(Event Player, 128);
Set Max Health(Event Player, 152);
}
}
rule("Tech // Level 13")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 15;
}
actions
{
Set Damage Dealt(Event Player, 170);
Set Healing Dealt(Event Player, 170);
Set Move Speed(Event Player, 130);
Set Max Health(Event Player, 156);
}
}
rule("Rule 124")
{
event
{
Player Dealt Damage;
Team 2;
Roadhog;
}
conditions
{
Is Using Ultimate(Event Player) == True;
}
actions
{
Heal(Victim, Null, 100000);
}
}
rule("Rule 124")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.infinitedeath == True;
}
actions
{
Teleport(All Players(Team 1), Vector(0, 0, 0));
Kill(All Players(Team 1), Null);
Wait(0.250, Ignore Condition);
Loop;
}
}
rule("Initialize number of double jumps in (A)")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.airPressure == True;
}
actions
{
Event Player.newA = 1;
}
}
rule("Allow double jump (B) if you are > 0.8 altitude, not holding jump button, and have double jumps (A)")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Altitude Of(Event Player) > 0.800;
Is Button Held(Event Player, Button(Jump)) == False;
Event Player.newA > 0;
Event Player.airPressure == True;
}
actions
{
Event Player.newB = True;
}
}
rule("Disallow double jump (B) if you are out of jumps (A)")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.newA <= 0;
Event Player.airPressure == True;
}
actions
{
Event Player.newB = False;
}
}
rule("If you jump while in the air and double jump is allowed (B), double jump and consume a charge (A)")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.newB == True;
Is Button Held(Event Player, Button(Jump)) == True;
Event Player.airPressure == True;
}
actions
{
Abort If(Hero Of(Event Player) == Hero(Genji));
Abort If(Hero Of(Event Player) == Hero(Hanzo));
Apply Impulse(Event Player, Up, 11, To World, Cancel Contrary Motion);
Event Player.newA -= 1;
}
}
rule("Touching the ground resets your jump count (A) and disallows double jump (B)")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is In Air(Event Player) != True;
Event Player.airPressure == True;
}
actions
{
Event Player.newA = 1;
Event Player.newB = False;
}
}
rule("==SS==")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global.allowSS == True;
}
actions
{
Event Player.choosingSkill = False;
Create HUD Text(Event Player, Custom String("soul skills"), Null, Null, Right, 0, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
}
}
rule("Hold player in the menu")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.choosingSkill == True;
Global.allowSS == True;
}
actions
{
Set Status(Event Player, Null, Phased Out, 9999);
Set Status(Event Player, Null, Rooted, 9999);
Set Damage Received(Event Player, 0);
Set Ability 1 Enabled(Event Player, False);
Set Ability 2 Enabled(Event Player, False);
Set Primary Fire Enabled(Event Player, False);
Set Secondary Fire Enabled(Event Player, False);
Set Ultimate Charge(Event Player, 100);
Set Status(Event Player, Null, Invincible, 9999);
}
}
rule("Let go of player if they chose a skill")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.choosingSkill == False;
Global.allowSS == True;
}
actions
{
Clear Status(Event Player, Invincible);
Clear Status(Event Player, Phased Out);
Clear Status(Event Player, Rooted);
Set Damage Received(Event Player, 100);
Wait(0.250, Ignore Condition);
Set Ability 1 Enabled(Event Player, True);
Set Ability 2 Enabled(Event Player, True);
Set Primary Fire Enabled(Event Player, True);
Set Secondary Fire Enabled(Event Player, True);
}
}
rule("Level 4 // Choose between 3rd Eye / Air Pressure / Settle Down / Closer than Close")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 4;
Global.allowSS == True;
}
actions
{
Event Player.choosingSkill = True;
Big Message(Event Player, Custom String("NEW SOUL SKILLS AVAILABLE"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[ABILITY 1] THIRD EYE - Headshots do 0.5x (+50%)"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[ABILITY 2] AIR PRESSURE - Double jump"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[SECONDARY FIRE] Settle Down - Hold crouch to heal"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[RELOAD] NO EXTRAS - Reloading with ammo gives armor"));
disabled Create HUD Text(Event Player, Custom String("[ABILITY 1 + PRIMARY FIRE] THIRD EYE - Headshots do 0.5x (+50%)"), Null, Null, Top, 3,
Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
disabled Create HUD Text(Event Player, Custom String("[ABILITY 2 + PRIMARY FIRE] AIR PRESSURE - Double jump"), Null, Null, Top, 3, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
disabled Create HUD Text(Event Player, Custom String("[SECONDARY FIRE + PRIMARY FIRE] Settle Down - Hold crouch to heal"), Null, Null, Top,
3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
disabled Create HUD Text(Event Player, Custom String(
"[RELOAD + PRIMARY FIRE] LETHAL INJECTION - Take more damage but poison enemies on hit"), Null, Null, Top, 3, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
}
}
rule("Level 4 // Ab 1 + M1 to unlock Third Eye")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 4;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Ability 1)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
disabled Destroy HUD Text(Last Text ID);
disabled Wait(0.250, Ignore Condition);
disabled Destroy HUD Text(Last Text ID);
disabled Wait(0.250, Ignore Condition);
disabled Destroy HUD Text(Last Text ID);
disabled Wait(0.250, Ignore Condition);
disabled Destroy HUD Text(Last Text ID);
Event Player.thirdEye = True;
Wait(0.200, Ignore Condition);
Wait(0.250, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String("THIRD EYE - 0.5x Headshot Damage"), Right, 1, Color(White), Color(White),
Color(Red), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked third eye")));
}
}
rule("Third Eye // Give effects")
{
event
{
Player Dealt Damage;
Team 1;
All;
}
conditions
{
Event Was Critical Hit == True;
Event Player.thirdEye == True;
Global.allowSS == True;
}
actions
{
Play Effect(All Players(All Teams), Bad Explosion, Color(Red), Victim, 1.200);
Damage(Victim, Event Player, 28);
}
}
rule("Level 4 // Ab 2 + M1 to unlock Double Jump")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 4;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Ability 2)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.airPressure = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String("AIR PRESSURE - Double jump"), Right, 1, Color(White), Color(White), Color(
Red), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked air pressure")));
}
}
rule("Level 4 // M2 + M1 to unlock Settle Down")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 4;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Secondary Fire)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.settleDown = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String("SETTLE DOWN - Crouch to heal"), Right, 1, Color(White), Color(White),
Color(Red), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked settle down")));
}
}
rule("Settle Down // Give effects")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is Button Held(Event Player, Button(Crouch)) == True;
Event Player.settleDown == True;
Is On Ground(Event Player) == True;
Global.allowSS == True;
}
actions
{
Heal(Event Player, Event Player, 6);
Wait(0.260, Abort When False);
Loop If Condition Is True;
}
}
rule("Level 4 // R + M1 to unlock Toxic Pours")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 4;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Reload)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.lethalInject = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String("No extras - Gain armor when reloading with ammo"), Right, 1, Color(White),
Color(White), Color(Yellow), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked no extras")));
}
}
rule("Toxic Pours // Give effects")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.lethalInject == True;
Is Reloading(Event Player) == True;
Ammo(Event Player, 0) > 0;
Global.allowSS == True;
}
actions
{
Abort If(Ammo(Event Player, 0) == Max Ammo(Event Player, 0));
Add Health Pool To Player(Event Player, Armor, Random Integer(10, 30), False, False);
}
}
rule("Level 10 // Choose between Moonstruck / Curious Medicine / Soul Aura / Eject")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 10;
Global.allowSS == True;
}
actions
{
Event Player.choosingSkill = True;
Big Message(Event Player, Custom String("NEW SOUL SKILLS AVAILABLE"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[ABILITY 1] MOONSTRUCK - Enemies mindlessly walk to you when ulting"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[ABILITY 2 + PRIMARY FIRE] CURIOUS MEDICINE - Immune to all CC"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[SECONDARY FIRE] SOUL AURA - +10 Souls when you die; Damaging aura at max HP"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[RELOAD] EJECT - At low health teleport to a teammate and heal yourself"));
disabled Create HUD Text(Event Player, Custom String("[ABILITY 1 + PRIMARY FIRE] THIRD EYE - Headshots do 0.5x (+50%)"), Null, Null, Top, 3,
Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
disabled Create HUD Text(Event Player, Custom String("[ABILITY 2 + PRIMARY FIRE] AIR PRESSURE - Double jump"), Null, Null, Top, 3, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
disabled Create HUD Text(Event Player, Custom String("[SECONDARY FIRE + PRIMARY FIRE] Settle Down - Hold crouch to heal"), Null, Null, Top,
3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
disabled Create HUD Text(Event Player, Custom String(
"[RELOAD + PRIMARY FIRE] LETHAL INJECTION - Take more damage but poison enemies on hit"), Null, Null, Top, 3, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
}
}
rule("Level 10 // Ab 1 + M1 to unlock Moonstruck")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 10;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Ability 1)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.airPressure = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String("MOONSTRUCK - Enemies mindlessly walk to you when you use your ultimate."),
Right, 2, Color(White), Color(White), Color(Red), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked moonstruck")));
}
}
rule("Moonstruck // Give EFX")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is Using Ultimate(Event Player) == True;
Event Player.moonstruck == True;
Global.allowSS == True;
}
actions
{
Set Status(Players Within Radius(Event Player, 30, Team 2, Surfaces), Null, Stunned, 7);
Teleport(Players Within Radius(Event Player, 30, Team 2, Surfaces), Event Player);
}
}
rule("Level 10 // Ab 2 + M1 to unlock Curious Medicine")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 10;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Ability 2)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.CurMeds = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String("CURIOUS MEDICINE - Immune to CC"), Right, 2, Color(White), Color(White),
Color(Red), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked curious medicine")));
}
}
rule("CurMeds // Anti-Stun")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.CurMeds == True;
Is Alive(Event Player) == True;
Global.allowSS == True;
}
actions
{
Clear Status(Event Player, Hacked);
Clear Status(Event Player, Stunned);
Clear Status(Event Player, Frozen);
Clear Status(Event Player, Knocked Down);
Wait(0.001, Abort When False);
Loop If Condition Is True;
}
}
rule("Level 10 // M2+ M1 to unlock Soul Aura")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 10;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Secondary Fire)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.soulAura = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String(
"SOUL AURA - Hurt enemies at full HP. Explode and +10 Pure Souls on death."), Right, 2, Color(White), Color(White), Color(Red),
Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked soul aura")));
}
}
rule("SoulAura // +10 PS on death")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is Dead(Event Player) == True;
Event Player.soulAura == True;
Global.allowSS == True;
}
actions
{
Event Player.pureSoul = Event Player.pureSoul + 5;
}
}
rule("Rule 149")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is Alive(Event Player) == True;
Health(Event Player) == Max Health(Event Player);
Event Player.soulAura == True;
Global.allowSS == True;
}
actions
{
Play Effect(All Players(All Teams), Good Explosion, Color(Blue), Event Player, 20);
Damage(Players Within Radius(Event Player, 20, Team 2, Surfaces), Event Player, 40);
Wait(2.200, Abort When False);
Loop;
}
}
rule("Level 10 // Ab 2 + M1 to unlock Curious Medicine")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 10;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Reload)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.eject = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String("EJECT - Teleport to a teammate and heal yourself at low health."), Right,
2, Color(White), Color(White), Color(Red), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked eject")));
}
}
rule("CurMeds // Anti-Stun")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.eject == True;
Global.allowSS == True;
}
actions
{
Add Health Pool To Player(Event Player, Armor, 200, True, True);
Teleport(Event Player, Append To Array(Closest Player To(Event Player, Team 1), All Living Players(Team 1)));
Start Heal Over Time(Event Player, Event Player, 3, 10000);
Wait(20, Ignore Condition);
Small Message(Event Player, Custom String("EJECT SKILL READY"));
}
}
rule("Level 15 // Choose between Soul Shed / Purity Shield / Soul Grasp / Eject")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 15;
Global.allowSS == True;
}
actions
{
Event Player.choosingSkill = True;
Big Message(Event Player, Custom String("NEW SOUL SKILLS AVAILABLE"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[ABILITY 1] SOUL SHED - Reset cooldowns, +15 ult, full ammo, and 2-5 souls on kill."));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[ABILITY 2] Purity Shield - +400 Armor, -20% movement speed, immune to knockback"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String("[SECONDARY FIRE] Soul Spire - Drain Pure Souls out of enemies nearby"));
Wait(2.500, Ignore Condition);
Small Message(Event Player, Custom String(
"[RELOAD] Titan's Wrath - Double stats + hitbox, take constant damage and can only heal yourself"));
disabled Create HUD Text(Event Player, Custom String("[ABILITY 1 + PRIMARY FIRE] THIRD EYE - Headshots do 0.5x (+50%)"), Null, Null, Top, 3,
Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
disabled Create HUD Text(Event Player, Custom String("[ABILITY 2 + PRIMARY FIRE] AIR PRESSURE - Double jump"), Null, Null, Top, 3, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
disabled Create HUD Text(Event Player, Custom String("[SECONDARY FIRE + PRIMARY FIRE] Settle Down - Hold crouch to heal"), Null, Null, Top,
3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
disabled Create HUD Text(Event Player, Custom String(
"[RELOAD + PRIMARY FIRE] LETHAL INJECTION - Take more damage but poison enemies on hit"), Null, Null, Top, 3, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
}
}
rule("Level 10 // Ab 2 + M1 to unlock Soul Shed")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 15;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Ability 1)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.soulShed = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String("SOUL SHED - Reset cooldowns, +15 ult, full ammo, and 2-5 souls on kill."),
Right, 2, Color(White), Color(White), Color(Red), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked soul shed")));
}
}
rule("Level 10 // Ab 2 + M1 to unlock Soul Shed")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 15;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Ability 2)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.pureShield = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String("Purity Shield - -30% Speed, +400 Armor, Immune to knockback"), Right, 2,
Color(White), Color(White), Color(Red), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked purity shield")));
}
}
rule("Level 10 // Ab 2 + M1 to unlock Soul Shed")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 15;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Secondary Fire)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.soulSpire = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String("SOUL SPIRE - Drain pure souls from nearby enemies"), Right, 2, Color(
White), Color(White), Color(Red), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked soul shed")));
}
}
rule("Level 10 // Ab 2 + M1 to unlock Soul Shed")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.level == 15;
Event Player.choosingSkill == True;
Is Button Held(Event Player, Button(Reload)) == True;
disabled Is Button Held(Event Player, Button(Primary Fire)) == True;
Global.allowSS == True;
}
actions
{
Wait(1, Abort When False);
Event Player.titansWrath = True;
Wait(0.200, Ignore Condition);
Create HUD Text(Event Player, Null, Null, Custom String(
"TITAN'S WRATH - Take no healing, constant damage, but all starts are doubled"), Right, 2, Color(White), Color(White), Color(
Red), Visible To and String, Default Visibility);
Event Player.choosingSkill = False;
Big Message(All Players(Team 1), String("{0} {1}", Event Player, Custom String("unlocked titan's wrath")));
}
}
rule("Rule 157")
{
event
{
Player Earned Elimination;
Team 1;
All;
}
conditions
{
Event Player.soulShed == True;
}
actions
{
Event Player.pureSoul = Random Integer(2, 5);
Set Ability Cooldown(Event Player, Button(Secondary Fire), 0);
Set Ability Cooldown(Event Player, Button(Ability 1), 0);
Set Ability Cooldown(Event Player, Button(Ability 2), 0);
Set Ammo(Event Player, 0, Max Ammo(Event Player, 0));
}
}
rule("Rule 158")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.pureShield == True;
}
actions
{
Add Health Pool To Player(Event Player, Armor, 400, True, True);
Set Move Speed(Event Player, 80);
Set Knockback Received(Event Player, 0);
}
}
rule("Rule 159")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.soulSpire == True;
Players Within Radius(Event Player, 18, Team 2, Surfaces) == True;
}
actions
{
Play Effect(Players Within Radius(Event Player, 18, Team 2, Off), Bad Explosion, Color(Aqua), Event Player, 1);
Event Player.pureSoul = Event Player.pureSoul + 1;
Wait(1, Abort When False);
Loop If Condition Is True;
}
}
rule("Rule 160")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.titansWrath == True;
}
actions
{
Wait(0.250, Ignore Condition);
Set Damage Dealt(Event Player, 340);
Set Healing Received(Event Player, 0);
Set Move Speed(Event Player, 260);
Set Max Health(Event Player, 312);
Start Scaling Player(Event Player, 1.600, True);
Start Scaling Barriers(Event Player, 1.600, True);
Start Modifying Hero Voice Lines(Event Player, -3, True);
Start Damage Over Time(Event Player, Null, 9999, 10);
}
}
rule("Slot 1 // Choose new hero if standing in new hero")
{
event
{
Ongoing - Each Player;
Team 1;
Slot 1;
}
conditions
{
Players Within Radius(Vector(159.048, 12.515, -61.681), 5, Team 1, Off) == True;
}
actions
{
Wait(4, Abort When False);
Set Player Allowed Heroes(Event Player, Remove From Array(All Heroes, Hero Of(Event Player)));
Wait(0.250, Ignore Condition);
Reset Player Hero Availability(Event Player);
}
}
rule("Slot 1 // Choose new hero if standing in new hero")
{
event
{
Ongoing - Each Player;
Team 1;
Slot 2;
}
conditions
{
Players Within Radius(Vector(159.048, 12.515, -61.681), 5, Team 1, Off) == True;
}
actions
{
Wait(4, Abort When False);
Set Player Allowed Heroes(Event Player, Remove From Array(All Heroes, Hero Of(Event Player)));
Wait(0.250, Ignore Condition);
Reset Player Hero Availability(Event Player);
}
}
rule("Slot 1 // Choose new hero if standing in new hero")
{
event
{
Ongoing - Each Player;
Team 1;
Slot 3;
}
conditions
{
Players Within Radius(Vector(159.048, 12.515, -61.681), 5, Team 1, Off) == True;
}
actions
{
Wait(4, Abort When False);
Set Player Allowed Heroes(Event Player, Remove From Array(All Heroes, Hero Of(Event Player)));
Wait(0.250, Ignore Condition);
Reset Player Hero Availability(Event Player);
}
}
rule("Rule 163")
{
event
{
Ongoing - Each Player;
Team 2;
Ana;
}
actions
{
Set Knockback Received(Event Player, 0);
}
}
rule("If you jump while in the air and double jump is allowed (B), double jump and consume a charge (A)")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.newB == True;
Is Button Held(Event Player, Button(Jump)) == True;
Event Player.airPressure == True;
Hero Of(Event Player) == Hero(Genji);
Global.allowSS == True;
}
actions
{
Abort If(Hero Of(Event Player) == Hero(Genji));
Apply Impulse(Event Player, Up, 17.500, To World, Cancel Contrary Motion);
Event Player.newA -= 1;
}
}
rule("If you jump while in the air and double jump is allowed (B), double jump and consume a charge (A)")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.newB == True;
Is Button Held(Event Player, Button(Jump)) == True;
Event Player.airPressure == True;
Hero Of(Event Player) == Hero(Hanzo);
Global.allowSS == True;
}
actions
{
Abort If(Hero Of(Event Player) == Hero(Hanzo));
Apply Impulse(Event Player, Up, 17.500, To World, Cancel Contrary Motion);
Event Player.newA -= 1;
}
}
rule("Rule 166")
{
event
{
Player Dealt Damage;
Team 2;
All;
}
conditions
{
Global.deathTimer >= 40;
}
actions
{
Abort If(Victim.CurMeds == True);
Set Status(Victim, Null, Rooted, 3);
}
}
rule("Rule 166")
{
event
{
Player Dealt Damage;
Team 2;
All;
}
conditions
{
Global.deathTimer >= 40;
}
actions
{
Abort If(Victim.CurMeds == False);
Set Status(Victim, Null, Rooted, 1.750);
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level1 == True;
Global.enableChallenge == True;
}
actions
{
Wait(30, Ignore Condition);
Set Damage Dealt(Players In Slot(0, Team 2), 165);
Set Max Health(Players In Slot(0, Team 2), 250);
Set Move Speed(Players In Slot(0, Team 2), 150);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(0, Team 2), 2, Visible To Position and Radius);
Global.level2 = True;
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level2 == True;
Global.enableChallenge == True;
}
actions
{
Wait(30, Ignore Condition);
disabled Set Max Health(Players In Slot(1, Team 2), 200);
disabled Set Move Speed(Players In Slot(1, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(1, Team 2), 2, Visible To Position and Radius);
disabled Set Damage Dealt(Players In Slot(1, Team 2), 130);
Global.level3 = True;
Set Damage Dealt(Players In Slot(0, Team 2), 165);
Set Max Health(Players In Slot(0, Team 2), 250);
Set Move Speed(Players In Slot(0, Team 2), 150);
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level3 == True;
Global.enableChallenge == True;
}
actions
{
Wait(30, Ignore Condition);
disabled Set Max Health(Players In Slot(2, Team 2), 200);
disabled Set Move Speed(Players In Slot(2, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(2, Team 2), 2, Visible To Position and Radius);
disabled Set Damage Dealt(Players In Slot(2, Team 2), 130);
Global.level4 = True;
Set Damage Dealt(Players In Slot(0, Team 2), 165);
Set Max Health(Players In Slot(0, Team 2), 250);
Set Move Speed(Players In Slot(0, Team 2), 150);
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level4 == True;
Global.enableChallenge == True;
}
actions
{
Wait(30, Ignore Condition);
disabled Set Max Health(Players In Slot(3, Team 2), 200);
disabled Set Move Speed(Players In Slot(3, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(3, Team 2), 2, Visible To Position and Radius);
disabled Set Damage Dealt(Players In Slot(3, Team 2), 130);
Global.level4 = True;
Set Damage Dealt(Players In Slot(0, Team 2), 165);
Set Max Health(Players In Slot(0, Team 2), 250);
Set Move Speed(Players In Slot(0, Team 2), 150);
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level4 == True;
Global.enableChallenge == True;
}
actions
{
Wait(30, Ignore Condition);
disabled Set Max Health(Players In Slot(4, Team 2), 200);
disabled Set Move Speed(Players In Slot(4, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(4, Team 2), 2, Visible To Position and Radius);
disabled Set Damage Dealt(Players In Slot(4, Team 2), 130);
Global.level5 = True;
Set Damage Dealt(Players In Slot(0, Team 2), 165);
Set Max Health(Players In Slot(0, Team 2), 250);
Set Move Speed(Players In Slot(0, Team 2), 150);
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level5 == True;
Global.enableChallenge == True;
}
actions
{
Wait(30, Ignore Condition);
disabled Set Max Health(Players In Slot(5, Team 2), 200);
disabled Set Move Speed(Players In Slot(5, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(5, Team 2), 2, Visible To Position and Radius);
disabled Set Damage Dealt(Players In Slot(5, Team 2), 130);
Global.level6 = True;
Set Damage Dealt(Players In Slot(0, Team 2), 165);
Set Max Health(Players In Slot(0, Team 2), 250);
Set Move Speed(Players In Slot(0, Team 2), 150);
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level6 == True;
Global.enableChallenge == True;
}
actions
{
Wait(30, Ignore Condition);
disabled Set Max Health(Players In Slot(6, Team 2), 200);
disabled Set Move Speed(Players In Slot(6, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(6, Team 2), 2, Visible To Position and Radius);
disabled Set Damage Dealt(Players In Slot(6, Team 2), 130);
Global.level6 = True;
Set Damage Dealt(Players In Slot(0, Team 2), 165);
Set Max Health(Players In Slot(0, Team 2), 250);
Set Move Speed(Players In Slot(0, Team 2), 150);
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level6 == True;
Global.enableChallenge == True;
}
actions
{
Wait(30, Ignore Condition);
disabled Set Max Health(Players In Slot(7, Team 2), 200);
disabled Set Move Speed(Players In Slot(7, Team 2), 130);
Create Effect(All Players(All Teams), Bad Aura, Color(Red), Players In Slot(7, Team 2), 2, Visible To Position and Radius);
disabled Set Damage Dealt(Players In Slot(7, Team 2), 130);
Global.level7 = True;
Set Damage Dealt(Players In Slot(0, Team 2), 165);
Set Max Health(Players In Slot(0, Team 2), 250);
Set Move Speed(Players In Slot(0, Team 2), 150);
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level7 == True;
Global.enableChallenge == True;
}
actions
{
Wait(30, Ignore Condition);
disabled Set Max Health(All Players(Team 2), 150);
disabled Set Move Speed(All Players(Team 2), 125);
Create Effect(All Players(All Teams), Sparkles, Color(Red), Players In Slot(7, Team 2), 2, Visible To Position and Radius);
disabled Set Damage Dealt(All Players(Team 2), 125);
Global.level8 = True;
Set Damage Dealt(Players In Slot(0, Team 2), 165);
Set Max Health(Players In Slot(0, Team 2), 250);
Set Move Speed(Players In Slot(0, Team 2), 150);
}
}
rule("Slot 0 // Become boss at 10 souls")
{
event
{
Ongoing - Global;
}
conditions
{
Global.level8 == True;
Global.enableChallenge == True;
}
actions
{
Wait(30, Ignore Condition);
disabled Set Max Health(All Players(Team 2), 150);
disabled Set Move Speed(All Players(Team 2), 125);
Create Effect(All Players(All Teams), Sparkles, Color(Red), Players In Slot(7, Team 2), 2, Visible To Position and Radius);
disabled Set Damage Dealt(All Players(Team 2), 125);
Set Damage Dealt(Players In Slot(0, Team 2), 165);
Set Max Health(Players In Slot(0, Team 2), 250);
Set Move Speed(Players In Slot(0, Team 2), 150);
}
}
rule("=====CHALLENGE MODE=====")
{
event
{
Ongoing - Global;
}
actions
{
Global.enableChallenge = False;
Global.plagueBringer = False;
Global.teratoma = False;
Global.cryoSentience = False;
disabled Global.plagueBringer = False;
}
}
rule("Create Menu 4 Challenge Mode")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
actions
{
Create Effect(All Players(All Teams), Sphere, Color(Red), Vector(196.660, 11.622, -36.278), 1, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), Custom String("[CHALLENGE] INSANE MODE"), Vector(196.660, 11.622, -36.278), 1,
Clip Against Surfaces, Visible To Position and String, Color(Red), Default Visibility);
}
}
rule("Menu // If in menu radius, display text")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Vector(196.660, 11.622, -36.278), 5, All Teams, Off) == True;
}
actions
{
"HAVANA ESCAPE || Text that activates upon enabling Insane Mode"
Small Message(Event Player, Custom String("I made this for a special bunch... To hurt them... To test them... To break them."));
Wait(0.100, Ignore Condition);
Small Message(Event Player, Custom String("Punch me to start Expert Mode. BUT BEWARE!"));
}
}
rule("Menu // Enable challenge mode if standing in it and press punch")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Vector(196.660, 11.622, -36.278), 5, All Teams, Off) == True;
Is Button Held(Event Player, Button(Melee)) == True;
}
actions
{
Global.enableChallenge = True;
Big Message(Event Player, Custom String("insane mode activated."));
}
}
rule("Challenge Mode // If in challenge mode enemies explode on death")
{
event
{
Player Died;
Team 2;
All;
}
conditions
{
Global.enableChallenge == True;
}
actions
{
Play Effect(All Players(All Teams), Bad Explosion, Color(Orange), Event Player, 4.500);
Play Effect(All Players(All Teams), Bad Explosion, Color(Red), Event Player, 7);
Damage(Players Within Radius(Event Player, 7, All Teams, Off), Null, Random Integer(100, 150));
}
}
rule("Challenge Mode // Miniboss 1 = plagueBringer")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.level2 == True;
Global.enableChallenge == True;
}
actions
{
Resurrect(Players In Slot(1, Team 2));
Wait(0.250, Ignore Condition);
Big Message(Event Player, Custom String("a foul smell kisses the empty sky..."));
Global.plagueBringer = True;
}
}
rule("plagueBringer // Toxic Radius")
{
event
{
Ongoing - Global;
}
conditions
{
Global.plagueBringer == True;
}
actions
{
Create Effect(All Players(All Teams), Cloud, Color(Lime Green), Players In Slot(0, Team 2), 12, Visible To Position and Radius);
Create Effect(All Players(All Teams), Ring, Color(Green), Players In Slot(0, Team 2), 12.350, Visible To Position and Radius);
}
}
rule("Rule 183")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.mainLobbu == True;
}
actions
{
Global.level1 = False;
Set Status(All Players(Team 2), Null, Frozen, 9999);
disabled Set Ultimate Ability Enabled(Event Player, False);
}
}
rule("Rule 183")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.mainLobbu == False;
}
actions
{
Global.level1 = True;
disabled Clear Status(Event Player, Frozen);
Kill(All Players(Team 2), Null);
Wait(0.250, Ignore Condition);
Resurrect(All Players(Team 2));
}
}
rule("plagueBringer // Heal teammates when reloading")
{
event
{
Ongoing - Global;
}
conditions
{
Global.plagueBringer == True;
Is Reloading(Players In Slot(0, Team 2)) == True;
}
actions
{
disabled Play Effect(All Players(Team 2), Bad Explosion, Color(Lime Green), All Players(Team 2), 6);
Start Heal Over Time(All Players(Team 2), Players In Slot(0, Team 2), 1000000, 50);
}
}
rule("plagueBringer // Toxic Radius")
{
event
{
Ongoing - Each Player;
Team 2;
Slot 0;
}
conditions
{
Global.plagueBringer == True;
Players Within Radius(Event Player, 12, All Teams, Off) == True;
disabled Is Alive(Event Player) == True;
}
actions
{
Damage(Players Within Radius(Event Player, 12, Team 1, Surfaces And Enemy Barriers), Event Player, 75);
Wait(1, Abort When False);
Loop If Condition Is True;
}
}
rule("Challenge Mode // Miniboss 2 = Teratoma")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.level3 == True;
Global.enableChallenge == True;
}
actions
{
Resurrect(Players In Slot(1, Team 2));
Wait(0.250, Ignore Condition);
Big Message(Event Player, Custom String("ominous footsteps echo around you..."));
Global.teratoma = True;
}
}
rule("Rule 188")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.teratoma == True;
}
actions
{
Start Modifying Hero Voice Lines(Players In Slot(1, Team 2), -5, True);
Start Scaling Player(Players In Slot(1, Team 2), 4, True);
Start Scaling Barriers(Players In Slot(1, Team 2), 4, True);
Add Health Pool To Player(Players In Slot(1, Team 2), Armor, 600, True, True);
Disable Movement Collision With Environment(Players In Slot(1, Team 2), False);
Wait(5, Ignore Condition);
Loop;
}
}
rule("Rule 189")
{
event
{
Player Died;
Team 1;
Slot 0;
}
conditions
{
disabled Players In Slot(0, Team 1) == True;
}
actions
{
Big Message(All Players(Team 1), String("{0} {1}", Players In Slot(0, Team 1), Custom String(
"died and dropped the soul container!")));
}
}
rule("Rule 189")
{
event
{
Player Died;
Team 1;
Slot 1;
}
conditions
{
disabled Players In Slot(0, Team 1) == True;
}
actions
{
Big Message(All Players(Team 1), String("{0} {1}", Players In Slot(1, Team 1), Custom String("died!")));
}
}
rule("Rule 189")
{
event
{
Player Died;
Team 1;
Slot 2;
}
conditions
{
disabled Players In Slot(0, Team 1) == True;
}
actions
{
Big Message(All Players(Team 1), String("{0} {1}", Players In Slot(2, Team 1), Custom String("died!")));
}
}
rule("Rule 189")
{
event
{
Player Died;
Team 1;
Slot 3;
}
conditions
{
disabled Players In Slot(0, Team 1) == True;
}
actions
{
Big Message(All Players(Team 1), String("{0} {1}", Players In Slot(3, Team 1), Custom String("died!")));
}
}
rule("Rule 193")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.enableChallenge == True;
}
actions
{
Abort If(Global.TotalSoulsCollected == 0);
Abort If(Global.TotalSoulsCollected == 200);
Global.TotalSoulsCollected = Global.TotalSoulsCollected - 5;
Wait(60, Abort When False);
Loop If Condition Is True;
}
}
rule("Shrine of Decay // Stand + F to res")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global.altar2, 5, Team 1, Off) == True;
Is Button Held(Event Player, Button(Interact)) == True;
Is Alive(Event Player) == True;
}
actions
{
Abort If(Event Player.pureSoul < 3);
Wait(1, Abort When False);
Start Heal Over Time(All Players(Team 1), Event Player, 8, 35);
disabled Resurrect(All Players(Team 1));
}
}
rule("Shrine of Decay // Stand + F to res")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global.altar3, 5, Team 1, Off) == True;
Is Button Held(Event Player, Button(Interact)) == True;
Is Alive(Event Player) == True;
}
actions
{
Abort If(Event Player.pureSoul < 3);
Wait(1, Abort When False);
Start Heal Over Time(All Players(Team 1), Event Player, 8, 35);
disabled Resurrect(All Players(Team 1));
}
}
rule("Shrine of Decay // Stand + F to res")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global.altar4, 5, Team 1, Off) == True;
Is Button Held(Event Player, Button(Interact)) == True;
Is Alive(Event Player) == True;
}
actions
{
Abort If(Event Player.pureSoul < 3);
Wait(1, Abort When False);
Start Heal Over Time(All Players(Team 1), Event Player, 8, 35);
disabled Resurrect(All Players(Team 1));
}
}
rule("Shrine of Decay // Stand + F to res")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Players Within Radius(Global.altarres, 5, Team 1, Off) == True;
Is Button Held(Event Player, Button(Interact)) == True;
Is Alive(Event Player) == True;
}
actions
{
Abort If(Event Player.pureSoul < 3);
Wait(1, Abort When False);
Start Heal Over Time(All Players(Team 1), Event Player, 8, 35);
disabled Resurrect(All Players(Team 1));
}
}
rule("WORKSHOP SETTINGS")
{
event
{
Ongoing - Global;
}
actions
{
Global.allowSS = Workshop Setting Toggle(Custom String("CONFIGURATION"), Custom String("soul skills"), True, 1);
Global.allowSS = Workshop Setting Toggle(Custom String("CONFIGURATION"), Custom String("show server load"), False, 2);
"------------------------------------------------------------------------------"
Global.flawless = Workshop Setting Toggle(Custom String("CHALLENGE LIST"), Custom String(
"FLAWLESS - The ultimate teamwork test. One death and it's game over."), False, 1);
Global.lottaClip = Workshop Setting Toggle(Custom String("CHALLENGE LIST"), Custom String(
"ULT. LINK - HP is based on Ult Charge. 0 Ult = dead (using ults put ult charge to 50%)"), False, 3);
Global.moon = Workshop Setting Toggle(Custom String("CHALLENGE LIST"), Custom String(
"OTHERWORDLY - Gravity is reduced. Enemies jump periodically"), False, 4);
Global.actFast = Workshop Setting Toggle(Custom String("CHALLENGE LIST"), Custom String(
"ACT FAST - Match time is set to 5 minutes. Kill = +25 seconds"), False, 5);
Global.asOne = Workshop Setting Toggle(Custom String("CHALLENGE LIST"), Custom String(
"AS ONE - Players 2, 3, and 4 are merged into Player 1"), False, 6);
Global.extraFlawless = Workshop Setting Toggle(Custom String("CHALLENGE LIST"), Custom String(
"FLAWLESS+ - The U L T I M A T E teamwork test... One tick of damage is all it takes..."), False, 2);
}
}
rule("Display server performance characteristics")
{
event
{
Ongoing - Global;
}
conditions
{
Global.sevLoad == True;
}
actions
{
Create HUD Text(All Players(All Teams), String("{0}: {1}", String("Server Load"), String("{0}%", Server Load)), Null, Null, Left,
11, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), String("{0}: {1}", String("Server Load Average"), String("{0}%", Server Load Average)),
Null, Null, Left, 12, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), String("{0}: {1}", String("Server Load Peak"), String("{0}%", Server Load Peak)), Null,
Null, Left, 13, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
}
}
rule("==CHALLENGES==")
{
event
{
Ongoing - Global;
}
}
rule("FLAWLESS // 1 death = game over")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Number Of Dead Players(Team 1) == 1;
Global.flawless == True;
}
actions
{
Declare Team Victory(Team 2);
}
}
rule("BOXING MATCH // Melee = ded")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
disabled Is Meleeing(Event Player) == True;
Global.lottaClip == True;
}
actions
{
Set Damage Received(Event Player, 0);
Set Ultimate Charge(Event Player, 75);
Start Heal Over Time(Event Player, Null, 9999, 10000);
}
}
rule("OTHERWORLDY // Grahvuhtee")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.moon == True;
}
actions
{
Set Gravity(Event Player, 15);
}
}
rule("Rule 205")
{
event
{
Ongoing - Each Player;
Team 2;
All;
}
conditions
{
Global.moon == True;
Is On Ground(Event Player) == True;
}
actions
{
Wait(Random Real(0.800, 3.630), Ignore Condition);
Press Button(Event Player, Button(Jump));
Loop;
}
}
rule("ACT FAST // Match time = 5 mins")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.actFast == True;
Global.Menu == False;
}
actions
{
Unpause Match Time;
Set Match Time(300);
}
}
rule("Rule 207")
{
event
{
Player Dealt Final Blow;
Team 1;
All;
}
conditions
{
Global.actFast == True;
}
actions
{
Set Match Time(Match Time + 25);
}
}
rule("Rule 208")
{
event
{
Ongoing - Global;
}
conditions
{
Match Time == 0.100;
}
actions
{
Declare Team Victory(Team 2);
}
}
rule("AS ONE // If not slot 1, combine")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global.asOne == True;
Has Spawned(Event Player) == True;
Slot Of(Event Player) != 0;
}
actions
{
Wait(0.250, Ignore Condition);
Set Invisible(Event Player, All);
Set Status(Event Player, Null, Phased Out, 9999);
Attach Players(Event Player, Players In Slot(0, Team 1), Null);
}
}
rule("Rule 210")
{
event
{
Player Died;
Team 1;
All;
}
conditions
{
Global.asOne == True;
}
actions
{
Global.infinitedeath = True;
}
}
rule("FLAWLESS+ // ...")
{
event
{
Player Took Damage;
Team 1;
All;
}
conditions
{
Global.extraFlawless == True;
}
actions
{
Declare Team Victory(Team 2);
}
}
rule("Rule 211")
{
event
{
Player Took Damage;
Team 1;
All;
}
conditions
{
Global.lottaClip == True;
}
actions
{
Set Ultimate Charge(Event Player, Ultimate Charge Percent(Event Player) - Random Integer(1, 8));
}
}
rule("Rule 212")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global.lottaClip == True;
Ultimate Charge Percent(Event Player) == 0;
}
actions
{
Damage(Event Player, Null, 100000);
Wait(0.016, Abort When False);
Loop;
}
}