Return to post
settings
{
main
{
Description: "Tryhard FFA 2.2.5 Discord: bit.ly/3z9grz8 Add me to highlight the lobby"
Description: "Tryhard FFA 2.3 Last updated: 26.Nov 2020 More info: www.workshop.codes/D9977 Do NOT click \"save settings\". Import D9977 instead. Stats on first line: DmgDealt - DmgTaken (SelfHeal/HealReceived)"
}
lobby
{
Allow Players Who Are In Queue: Yes
Match Voice Chat: Enabled
Max Spectators: 4
Max Spectators: 12
Return To Lobby: Never
}
modes
{
Deathmatch
{
Game Length In Minutes: 15
Game Mode Start: Immediately
Hero Limit: Off
Score To Win: 50
Spawn Health Packs: Enabled
enabled maps
{
Château Guillard
}
}
General
{
Game Mode Start: Immediately
Score To Win: 50
}
}
heroes
{
General
{
Ana
{
Ultimate Ability Nano Boost: Off
}
Ashe
{
Dynamite: Off
Ultimate Ability B.O.B.: Off
}
Baptiste
{
Immortality Field: Off
Ultimate Ability Amplification Matrix: Off
}
Doomfist
{
Ultimate Ability Meteor Strike: Off
}
Echo
{
Ultimate Ability Duplicate: Off
}
Genji
{
Ultimate Ability Dragonblade: Off
}
Hanzo
{
Ultimate Ability Dragonstrike: Off
}
Lúcio
{
Ultimate Ability Sound Barrier: Off
}
McCree
{
Secondary Fire: Off
Ultimate Ability Deadeye: Off
}
Mei
{
Cryo-Freeze: Off
Ice Wall: Off
Primary Fire: Off
Ultimate Ability Blizzard: Off
}
Pharah
{
Ultimate Ability Barrage: Off
}
Reaper
Soldier: 76
{
Ultimate Ability Death Blossom: Off
Ultimate Ability Tactical Visor: Off
}
Soldier: 76
Sombra
{
Ultimate Ability Tactical Visor: Off
Ultimate Ability EMP: Off
}
Torbjörn
{
Deploy Turret: Off
Ultimate Ability Molten Core: Off
}
Widowmaker
{
Ultimate Ability Infra-Sight: Off
}
Zenyatta
{
Ultimate Ability Transcendence: Off
}
disabled heroes
{
Bastion
Brigitte
D.Va
Junkrat
Mercy
Moira
Orisa
Reaper
Reinhardt
Roadhog
Sigma
Sombra
Symmetra
Winston
Wrecking Ball
Zarya
}
}
}
}
variables
{
player:
0: suicides
1: goo_used
2: goo_hit
3: flash_used
4: flash_hit
5: threw_flash
6: helix_used
7: helix_hit
8: threw_helix
9: hammer_kill
10: pulse_hit
11: threw_pulse
12: sleep_used
13: sleep_hit
14: is_afk
15: hudtext_enter_7_times
16: hudtext_afk_mode_on
17: hudtext_move_to_resume
18: disable_heal_on_kill
19: hudtext_host_and_afkplayers
20: hudtext_link
21: hudtext_stats
22: hudtext_toggle_heal_on_kill
23: solokilled
24: attackers
0: AsheHideStats
1: DoomHideStats
2: EchoHideStats
3: GenjiHideStats
4: HanzoHideStats
5: McCreeHideStats
6: MeiHideStats
7: PharahHideStats
8: Soldier76HideStats
9: SombraHideStats
10: TorbHideStats
11: TracerHideStats
12: WidowHideStats
13: AnaHideStats
14: BapHideStats
15: LucioHideStats
16: ZenHideStats
17: AsheDestroy1
18: AsheDestroy2
19: AsheDestroy3
20: AsheDestroy4
21: DoomDestroy1
22: DoomDestroy2
23: DoomDestroy3
24: DoomDestroy4
25: EchoDestroy1
26: EchoDestroy2
27: EchoDestroy3
28: EchoDestroy4
29: GenjiDestroy1
30: GenjiDestroy2
31: GenjiDestroy3
32: HanzoDestroy1
33: HanzoDestroy2
34: HanzoDestroy3
35: MccreeDestroy1
36: MccreeDestroy2
37: MccreeDestroy3
38: MccreeDestroy4
39: MeiDestroy1
40: MeiDestroy2
41: MeiDestroy3
42: PharahDestroy1
43: PharahDestroy2
44: PharahDestroy3
45: Soldier76Destroy1
46: Soldier76Destroy2
47: Soldier76Destroy3
48: Soldier76Destroy4
49: SombraDestroy1
50: SombraDestroy2
51: SombraDestroy3
52: TorbDestroy1
53: TorbDestroy2
54: TorbDestroy3
55: TorbDestroy4
56: TracerDestroy1
57: TracerDestroy2
58: TracerDestroy3
59: TracerDestroy4
60: WidowDestroy1
61: WidowDestroy2
62: WidowDestroy3
63: WidowDestroy4
64: AnaDestroy1
65: AnaDestroy2
66: AnaDestroy3
67: AnaDestroy4
68: BapDestroy1
69: BapDestroy2
70: BapDestroy3
71: LucioDestroy1
72: LucioDestroy2
73: LucioDestroy3
74: LucioDestroy4
75: ZenDestroy1
76: ZenDestroy2
77: ZenDestroy3
78: StickybombsUsed
79: StickybombHits
80: FlashbangsUsed
81: FlashbangHits
82: ThrewFlashbang
83: HelixrocketsUsed
84: HelixrocketHits
85: FiredHelixrocket
86: TemporaryArmorRecieved
87: HammerKills
88: PulsebombsUsed
89: PulsebombHits
90: ThrewPulsebomb
91: SleepdartsUsed
92: SleepdartHits
}
rule("Heal on kill (250 instant)")
{
event
{
Player Dealt Final Blow;
All;
All;
}
actions
{
Heal(Event Player, Null, 250);
}
}
rule("Skip assembling heroes state")
{
event
{
Ongoing - Global;
}
conditions
{
Is Assembling Heroes == True;
}
actions
{
Set Match Time(0);
}
}
rule("Give Tracer 3 blinks every death")
{
event
{
Player Died;
All;
Tracer;
}
actions
{
Set Ability Charge(Event Player, Button(Ability 1), 3);
}
}
rule("Disable and Enable stuff")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Disable Built-In Game Mode Announcer;
Disable Game Mode HUD(Event Player);
Enable Death Spectate Target HUD(Event Player);
}
}
rule("Tryhard FFA 2.3, Match Time, Hold interact to toggle stats HUD")
{
event
{
Ongoing - Global;
}
actions
{
Create HUD Text(Filtered Array(All Players(All Teams), Match Time % 60 > 10), Null, Null, Custom String("{0}:{1}",
Round To Integer(Match Time / 60, Down), Match Time % 60), Top, -2, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
Create HUD Text(Filtered Array(All Players(All Teams), Match Time % 60 < 10), Null, Null, Custom String("{0}:{2}{1}",
Round To Integer(Match Time / 60, Down), Match Time % 60), Top, -2, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Custom String("Hold Interact to toggle stats"), Null, Top, -1, Null, Color(Orange),
Null, Visible To and String, Visible Never);
Create HUD Text(All Players(All Teams), Null, Custom String("Tryhard FFA 2.3 code: D9977"), Null, Left, -1, Null, Custom Color(75,
255, 75, 255), Null, Visible To and String, Visible Never);
"Only reason for adding this is that it decreases server load"
Disable Inspector Recording;
}
}
rule("ban \"ǺȐMǺȈM0ŴȐȈŜŦ\"")
rule("Ashe HUD")
{
event
{
Ongoing - Each Player;
All;
Ashe;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.AsheHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} {1}",
Hero Icon String(Hero(Ashe)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player, Hero(
Ashe), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Ashe), Damage Taken), To Nearest),
Round To Integer(Player Hero Stat(Event Player, Hero(Ashe), Healing Received), To Nearest))) : Empty Array, Null, Left, 0,
Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.AsheDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.AsheHideStats == False ? Custom String("Hipfire acc: {0}%", Round To Integer((
Player Hero Stat(Event Player, Hero(Ashe), Shots Hit) - Player Hero Stat(Event Player, Hero(Ashe), Scoped Hits)) / (
Player Hero Stat(Event Player, Hero(Ashe), Shots Fired) - Player Hero Stat(Event Player, Hero(Ashe), Scoped Shots)) * 100,
To Nearest)) : Empty Array, Null, Left, 1, Color(White), Color(White), Color(White), Visible To and String,
Default Visibility);
Event Player.AsheDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.AsheHideStats == False ? Custom String("Scoped acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Ashe), Scoped Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 2, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.AsheDestroy3 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.AsheHideStats == False ? Custom String("Scoped critical hit acc: {0}%",
Round To Integer(Player Hero Stat(Event Player, Hero(Ashe), Scoped Critical Hit Accuracy) * 100, To Nearest)) : Empty Array,
Null, Left, 3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.AsheDestroy4 = Last Text ID;
}
}
rule("Ashe Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Ashe;
}
conditions
{
Has Status(Event Player, Phased Out) == True;
Custom String("{0}", Event Player) == Custom String("ǺȐMǺȈM0ŴȐȈŜŦ");
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Remove Player(Event Player);
Wait(0.500, Abort When False);
Event Player.AsheHideStats = !Event Player.AsheHideStats;
}
}
rule("ban \"Juliet\"")
rule("Ashe Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Status(Event Player, Phased Out) == True;
Custom String("{0}", Event Player) == Custom String("Juliet");
Hero Of(Event Player) != Hero(Ashe);
}
actions
{
Remove Player(Event Player);
Destroy HUD Text(Event Player.AsheDestroy1);
Destroy HUD Text(Event Player.AsheDestroy2);
Destroy HUD Text(Event Player.AsheDestroy3);
Destroy HUD Text(Event Player.AsheDestroy4);
}
}
rule("kick players who kill themselves 5 times")
rule("Doom HUD")
{
event
{
Ongoing - Each Player;
All;
Doomfist;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.DoomHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0}{1}",
Hero Icon String(Hero(Doomfist)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player,
Hero(Doomfist), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Doomfist), Damage Taken),
To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Doomfist), Healing Received), To Nearest))) : Empty Array,
Null, Left, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.DoomDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.DoomHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Doomfist), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.DoomDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.DoomHideStats == False ? Custom String("Critical hit acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Doomfist), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 2, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.DoomDestroy3 = Last Text ID;
Create HUD Text(Event Player, Empty Array, Event Player.DoomHideStats == False ? Custom String("{0}{1} Boop kills: {2}",
Ability Icon String(Hero(Doomfist), Button(Melee)), Custom String("{0}{1}{2}", Ability Icon String(Hero(Doomfist), Button(
Ability 1)), Ability Icon String(Hero(Doomfist), Button(Ability 2)), Ability Icon String(Hero(Doomfist), Button(
Secondary Fire))), Player Hero Stat(Event Player, Hero(Doomfist), Environmental Kills)) : Empty Array, Null, Left, 3, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.DoomDestroy4 = Last Text ID;
}
}
rule("Doom Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Doomfist;
}
conditions
{
Event Player.suicides >= 5;
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Big Message(Event Player, Custom String("why are you killing yourself?"));
Wait(3, Ignore Condition);
Remove Player(Event Player);
Wait(0.500, Abort When False);
Event Player.DoomHideStats = !Event Player.DoomHideStats;
}
}
rule("kick afk players after 2.5 min")
rule("Doom Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
(Number Of Players(All Teams) >= 12 && Event Player.is_afk) == True;
Hero Of(Event Player) != Hero(Doomfist);
}
actions
{
Wait(135, Abort When False);
Remove Player(Event Player);
Destroy HUD Text(Event Player.DoomDestroy1);
Destroy HUD Text(Event Player.DoomDestroy2);
Destroy HUD Text(Event Player.DoomDestroy3);
Destroy HUD Text(Event Player.DoomDestroy4);
}
}
rule("enter afk mode")
rule("Echo HUD")
{
event
{
Ongoing - Each Player;
All;
Echo;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.EchoHideStats == False ? Custom String(" \r\n \r\n \r\n {0} {1}",
Hero Icon String(Hero(Echo)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player, Hero(
Echo), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Echo), Damage Taken), To Nearest),
Round To Integer(Player Hero Stat(Event Player, Hero(Echo), Healing Received), To Nearest))) : Empty Array, Null, Left, 0,
Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.EchoDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.EchoHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Echo), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.EchoDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.EchoHideStats == False ? Custom String("Critical hit acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Echo), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 2, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.EchoDestroy3 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.EchoHideStats == False ? Custom String("{0} Sticky direct hit acc: {1}%",
Ability Icon String(Hero(Echo), Button(Secondary Fire)), Round To Integer(
Event Player.StickybombHits / Event Player.StickybombsUsed * 100, To Nearest)) : Empty Array, Null, Left, 3, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.EchoDestroy4 = Last Text ID;
}
}
rule("Echo Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Echo;
}
conditions
{
Event Player.is_afk != True;
Has Spawned(Event Player) == True;
Throttle Of(Event Player) == Vector(0, 0, 0);
Is Button Held(Event Player, Button(Jump)) != True;
Is Button Held(Event Player, Button(Crouch)) != True;
Is Button Held(Event Player, Button(Primary Fire)) != True;
Is Button Held(Event Player, Button(Secondary Fire)) != True;
Is Button Held(Event Player, Button(Ability 1)) != True;
Is Button Held(Event Player, Button(Ability 2)) != True;
Is Button Held(Event Player, Button(Ultimate)) != True;
Is Button Held(Event Player, Button(Interact)) != True;
Is Button Held(Event Player, Button(Melee)) != True;
Is Button Held(Event Player, Button(Reload)) != True;
Is Communicating Any(Event Player) != True;
"not pressing wasd but going up and down on bad spawn jumppad"
(Distance Between(Event Player, Vector(192.505, 3, 52.001)) > 2 && Is Moving(Event Player)) != True;
"not pressing wasd but going up and down on tree corner jumppad"
(Distance Between(Event Player, Vector(220.941, 5, 112.001)) > 2 && Is Moving(Event Player)) != True;
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(15, Abort When False);
Event Player.is_afk = True;
Set Invisible(Event Player, All);
Set Status(Event Player, Null, Phased Out, 9999);
Start Forcing Throttle(Event Player, 0, 0.008, 0, 0.008, 0, 0.008);
Disallow Button(Event Player, Button(Primary Fire));
Disallow Button(Event Player, Button(Secondary Fire));
Disallow Button(Event Player, Button(Ability 1));
Disallow Button(Event Player, Button(Ability 2));
Disallow Button(Event Player, Button(Ultimate));
Disallow Button(Event Player, Button(Melee));
Disallow Button(Event Player, Button(Jump));
Disallow Button(Event Player, Button(Crouch));
Create HUD Text(Event Player, Null, Null, Custom String(" \r\n\r\n\r\n\r\n\r\n\r\n "), Top, 3, Color(White), Color(White), Color(
White), Visible To and String, Default Visibility);
Event Player.hudtext_enter_7_times = Last Text ID;
Create HUD Text(Event Player, Custom String("afk mode on"), Null, Null, Top, 4, Color(Yellow), Color(White), Color(White),
Visible To and String, Default Visibility);
Event Player.hudtext_afk_mode_on = Last Text ID;
Create HUD Text(Event Player, Null, Null, Custom String("move to resume"), Top, 5, Color(White), Color(White), Color(White),
Wait(0.500, Abort When False);
Event Player.EchoHideStats = !Event Player.EchoHideStats;
}
}
rule("Echo Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Echo);
}
actions
{
Destroy HUD Text(Event Player.EchoDestroy1);
Destroy HUD Text(Event Player.EchoDestroy2);
Destroy HUD Text(Event Player.EchoDestroy3);
Destroy HUD Text(Event Player.EchoDestroy4);
}
}
rule("Genj HUD")
{
event
{
Ongoing - Each Player;
All;
Genji;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.GenjiHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} {1}",
Hero Icon String(Hero(Genji)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player, Hero(
Genji), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Genji), Damage Taken),
To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Genji), Healing Received), To Nearest))) : Empty Array, Null,
Left, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.GenjiDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.GenjiHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Genji), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.GenjiDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.GenjiHideStats == False ? Custom String("Critical hit acc: {0}%",
Round To Integer(Player Hero Stat(Event Player, Hero(Genji), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null,
Left, 2, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.GenjiDestroy3 = Last Text ID;
}
}
rule("Genji Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Genji;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.GenjiHideStats = !Event Player.GenjiHideStats;
}
}
rule("Genji Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Genji);
}
actions
{
Destroy HUD Text(Event Player.GenjiDestroy1);
Destroy HUD Text(Event Player.GenjiDestroy2);
Destroy HUD Text(Event Player.GenjiDestroy3);
}
}
rule("Hanzo HUD")
{
event
{
Ongoing - Each Player;
All;
Hanzo;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.HanzoHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} {1}",
Hero Icon String(Hero(Hanzo)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player, Hero(
Hanzo), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Hanzo), Damage Taken),
To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Hanzo), Healing Received), To Nearest))) : Empty Array, Null,
Left, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.HanzoDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.HanzoHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Hanzo), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.HanzoDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.HanzoHideStats == False ? Custom String("Critical hit acc: {0}%",
Round To Integer(Player Hero Stat(Event Player, Hero(Hanzo), Critical Hit Accuracy) * 100, To Nearest), Is Using Ability 2(
Event Player)) : Empty Array, Null, Left, 2, Color(White), Color(White), Color(White), Visible To and String,
Default Visibility);
Event Player.HanzoDestroy3 = Last Text ID;
}
}
rule("Hanzo Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Hanzo;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.HanzoHideStats = !Event Player.HanzoHideStats;
}
}
rule("Hanzo Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Hanzo);
}
actions
{
Destroy HUD Text(Event Player.HanzoDestroy1);
Destroy HUD Text(Event Player.HanzoDestroy2);
Destroy HUD Text(Event Player.HanzoDestroy3);
}
}
rule("Mccree HUD")
{
event
{
Ongoing - Each Player;
All;
McCree;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.McCreeHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} {1}",
Hero Icon String(Hero(McCree)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player, Hero(
McCree), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(McCree), Damage Taken),
To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(McCree), Healing Received), To Nearest))) : Empty Array,
Null, Left, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.MccreeDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.McCreeHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(McCree), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.MccreeDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.McCreeHideStats == False ? Custom String("Critical hit acc: {0}%",
Round To Integer(Player Hero Stat(Event Player, Hero(McCree), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null,
Left, 2, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.MccreeDestroy3 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.McCreeHideStats == False ? Custom String("{0} Flashbang hits: {1}/{2}",
Ability Icon String(Hero(McCree), Button(Ability 2)), Event Player.FlashbangHits, Event Player.FlashbangsUsed) : Empty Array,
Null, Left, 3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.MccreeDestroy4 = Last Text ID;
}
}
rule("Mccree Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
McCree;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.McCreeHideStats = !Event Player.McCreeHideStats;
}
}
rule("Mccree Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(McCree);
}
actions
{
Destroy HUD Text(Event Player.MccreeDestroy1);
Destroy HUD Text(Event Player.MccreeDestroy2);
Destroy HUD Text(Event Player.MccreeDestroy3);
Destroy HUD Text(Event Player.MccreeDestroy4);
}
}
rule("Mei HUD")
{
event
{
Ongoing - Each Player;
All;
Mei;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.MeiHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} {1}",
Hero Icon String(Hero(Mei)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player, Hero(
Mei), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Mei), Damage Taken), To Nearest),
Round To Integer(Player Hero Stat(Event Player, Hero(Mei), Healing Received), To Nearest))) : Empty Array, Null, Left, 0,
Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.MeiDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.MeiHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Mei), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.MeiDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.MeiHideStats == False ? Custom String("Critical hit acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Mei), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 2, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.MeiDestroy3 = Last Text ID;
}
}
rule("Mei Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Mei;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.MeiHideStats = !Event Player.MeiHideStats;
}
}
rule("Mei Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Mei);
}
actions
{
Destroy HUD Text(Event Player.MeiDestroy1);
Destroy HUD Text(Event Player.MeiDestroy2);
Destroy HUD Text(Event Player.MeiDestroy3);
}
}
rule("Pharah HUD")
{
event
{
Ongoing - Each Player;
All;
Pharah;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.PharahHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} {1}",
Hero Icon String(Hero(Pharah)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player, Hero(
Pharah), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Pharah), Damage Taken),
To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Pharah), Healing Received), To Nearest))) : Empty Array,
Null, Left, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.PharahDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.PharahHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Pharah), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.PharahDestroy2 = Last Text ID;
Create HUD Text(Event Player, Empty Array, Event Player.PharahHideStats == False ? Custom String("{0}{1} Boop kills: {2}",
Ability Icon String(Hero(Pharah), Button(Melee)), Ability Icon String(Hero(Pharah), Button(Ability 2)), Player Hero Stat(
Event Player, Hero(Pharah), Environmental Kills)) : Empty Array, Null, Left, 2, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
Event Player.hudtext_move_to_resume = Last Text ID;
Event Player.PharahDestroy3 = Last Text ID;
}
}
rule("exit afk mode")
rule("Pharah Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Pharah;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.PharahHideStats = !Event Player.PharahHideStats;
}
}
rule("Pharah Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.is_afk == True;
(Throttle Of(Event Player) != Vector(0, 0, 0) || Is Communicating Any(Event Player)) == True;
Hero Of(Event Player) != Hero(Pharah);
}
actions
{
Event Player.is_afk = False;
Clear Status(Event Player, Phased Out);
Respawn(Event Player);
Stop Forcing Throttle(Event Player);
Wait(0.080, Ignore Condition);
Set Invisible(Event Player, None);
Allow Button(Event Player, Button(Primary Fire));
Allow Button(Event Player, Button(Secondary Fire));
Allow Button(Event Player, Button(Ability 1));
Allow Button(Event Player, Button(Ability 2));
Allow Button(Event Player, Button(Ultimate));
Allow Button(Event Player, Button(Melee));
Allow Button(Event Player, Button(Jump));
Allow Button(Event Player, Button(Crouch));
Destroy HUD Text(Event Player.hudtext_enter_7_times);
Destroy HUD Text(Event Player.hudtext_afk_mode_on);
Destroy HUD Text(Event Player.hudtext_move_to_resume);
Destroy HUD Text(Event Player.PharahDestroy1);
Destroy HUD Text(Event Player.PharahDestroy2);
Destroy HUD Text(Event Player.PharahDestroy3);
}
}
rule("skip assembling heroes")
rule("Soldier76 HUD")
{
event
{
Ongoing - Global;
Ongoing - Each Player;
All;
Soldier: 76;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(SelfHeal/AllHeal)"
Create HUD Text(Event Player, Null, Event Player.Soldier76HideStats == False ? Custom String(" \r \r\n \r\n \r\n {0}DMG: {1}/{2})",
Hero Icon String(Hero(Soldier: 76)), Custom String("{0} - {1} HP({2}", Round To Integer(Player Hero Stat(Event Player, Hero(
Soldier: 76), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Soldier: 76),
Damage Taken), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Soldier: 76), Self Healing), To Nearest)),
Round To Integer(Player Hero Stat(Event Player, Hero(Soldier: 76), Healing Received), To Nearest)) : Empty Array, Null, Left,
0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.Soldier76Destroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.Soldier76HideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Soldier: 76), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.Soldier76Destroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.Soldier76HideStats == False ? Custom String("Critical hit acc: {0}%",
Round To Integer(Player Hero Stat(Event Player, Hero(Soldier: 76), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array,
Null, Left, 2, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.Soldier76Destroy3 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.Soldier76HideStats == False ? Custom String("{0}Helixrocket hits: {1}/{2}",
Ability Icon String(Hero(Soldier: 76), Button(Secondary Fire)), Event Player.HelixrocketHits, Event Player.HelixrocketsUsed)
: Empty Array, Null, Left, 3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.Soldier76Destroy4 = Last Text ID;
}
}
rule("Soldier76 Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Soldier: 76;
}
conditions
{
Is Assembling Heroes == True;
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Disable Inspector Recording;
Set Match Time(5);
Wait(0.500, Abort When False);
Event Player.Soldier76HideStats = !Event Player.Soldier76HideStats;
}
}
rule("init")
rule("Soldier76 Destroy Stats")
{
event
{
Ongoing - Global;
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Game In Progress == True;
Hero Of(Event Player) != Hero(Soldier: 76);
}
actions
{
Set Match Time(1800);
Disable Built-In Game Mode Announcer;
Enable Death Spectate Target HUD(All Players(All Teams));
Destroy HUD Text(Event Player.Soldier76Destroy1);
Destroy HUD Text(Event Player.Soldier76Destroy2);
Destroy HUD Text(Event Player.Soldier76Destroy3);
Destroy HUD Text(Event Player.Soldier76Destroy4);
}
}
rule("Sombra HUD")
{
event
{
Ongoing - Each Player;
All;
Sombra;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.SombraHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} {1}",
Hero Icon String(Hero(Sombra)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player, Hero(
Sombra), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Sombra), Damage Taken),
To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Sombra), Healing Received), To Nearest))) : Empty Array,
Null, Left, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.SombraDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.SombraHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Sombra), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.SombraDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.SombraHideStats == False ? Custom String("Critical hit acc: {0}%",
Round To Integer(Player Hero Stat(Event Player, Hero(Sombra), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null,
Left, 2, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.SombraDestroy3 = Last Text ID;
}
}
rule("Sombra Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Sombra;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.SombraHideStats = !Event Player.SombraHideStats;
}
}
rule("Sombra Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Sombra);
}
actions
{
Destroy HUD Text(Event Player.SombraDestroy1);
Destroy HUD Text(Event Player.SombraDestroy2);
Destroy HUD Text(Event Player.SombraDestroy3);
}
}
rule("Torb HUD")
{
event
{
Ongoing - Each Player;
All;
Torbjörn;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(SelfHeal/AllHeal)"
Create HUD Text(Event Player, Null, Event Player.TorbHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} DMG: {1}/{2})",
Hero Icon String(Hero(Torbjörn)), Custom String("{0} - {1} HP({2}", Round To Integer(Player Hero Stat(Event Player, Hero(
Torbjörn), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Torbjörn), Damage Taken),
To Nearest), Event Player.GenjiHideStats), Round To Integer(Player Hero Stat(Event Player, Hero(Torbjörn), Healing Received)
+ Event Player.GenjiHideStats, To Nearest)) : Empty Array, Null, Left, 0, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
Event Player.TorbDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.TorbHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Torbjörn), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.TorbDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.TorbHideStats == False ? Custom String("Critical hit acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Torbjörn), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 2, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.TorbDestroy3 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.TorbHideStats == False ? Custom String("{0}{1} Hammer kills: {2}", Icon String(
Flag), Icon String(Sad), Event Player.HammerKills) : Empty Array, Null, Left, 3, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
Event Player.TorbDestroy4 = Last Text ID;
}
}
rule("Torb Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Torbjörn;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.TorbHideStats = !Event Player.TorbHideStats;
}
}
rule("Torb Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Torbjörn);
}
actions
{
Destroy HUD Text(Event Player.TorbDestroy1);
Destroy HUD Text(Event Player.TorbDestroy2);
Destroy HUD Text(Event Player.TorbDestroy3);
Destroy HUD Text(Event Player.TorbDestroy4);
}
}
rule("Tracer HUD")
{
event
{
Ongoing - Each Player;
All;
Tracer;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(SelfHeal/AllHeal)"
Create HUD Text(Event Player, Null, Event Player.TracerHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0}DMG: {1}/{2})",
Hero Icon String(Hero(Tracer)), Custom String("{0} - {1} HP({2}", Round To Integer(Player Hero Stat(Event Player, Hero(
Tracer), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Tracer), Damage Taken),
To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Tracer), Self Healing), To Nearest)), Round To Integer(
Player Hero Stat(Event Player, Hero(Tracer), Healing Received) + Player Hero Stat(Event Player, Hero(Tracer), Self Healing),
To Nearest)) : Empty Array, Null, Left, 0, Color(White), Color(White), Color(White), Visible To and String,
Default Visibility);
Event Player.TracerDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.TracerHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Tracer), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.TracerDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.TracerHideStats == False ? Custom String("Critical hit acc: {0}%",
Round To Integer(Player Hero Stat(Event Player, Hero(Tracer), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null,
Left, 2, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.TracerDestroy3 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.TracerHideStats == False ? Custom String("{0}Pulsebombs attached: {1}/{2}",
Ability Icon String(Hero(Tracer), Button(Ultimate)), Event Player.PulsebombHits, Event Player.PulsebombsUsed) : Empty Array,
Null, Left, 3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.TracerDestroy4 = Last Text ID;
}
}
rule("reset cooldowns on respawn")
rule("Tracer Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Tracer;
}
conditions
{
Is Alive(Event Player) == True;
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Set Ability Charge(Event Player, Button(Ability 1), 3);
Wait(0.500, Abort When False);
Event Player.TracerHideStats = !Event Player.TracerHideStats;
}
}
rule("heal on kill")
rule("Tracer Destroy Stats")
{
event
{
Player Dealt Final Blow;
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.disable_heal_on_kill != True;
Hero Of(Event Player) != Hero(Tracer);
}
actions
{
Heal(Event Player, Null, Max Health(Event Player) == 150 ? 60 : 80);
Destroy HUD Text(Event Player.TracerDestroy1);
Destroy HUD Text(Event Player.TracerDestroy2);
Destroy HUD Text(Event Player.TracerDestroy3);
Destroy HUD Text(Event Player.TracerDestroy4);
}
}
rule("hold {0} to toggle heal on kill")
rule("Widow HUD")
{
event
{
Ongoing - Each Player;
All;
Widowmaker;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.WidowHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} {1}",
Hero Icon String(Hero(Widowmaker)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player,
Hero(Widowmaker), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Widowmaker),
Damage Taken), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Widowmaker), Healing Received), To Nearest)))
: Empty Array, Null, Left, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.WidowDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.WidowHideStats == False ? Custom String("SMG acc: {0}%", Round To Integer((
Player Hero Stat(Event Player, Hero(Widowmaker), Shots Hit) - Player Hero Stat(Event Player, Hero(Widowmaker), Scoped Hits))
/ (Player Hero Stat(Event Player, Hero(Widowmaker), Shots Fired) - Player Hero Stat(Event Player, Hero(Widowmaker),
Scoped Shots)) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
Event Player.WidowDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.WidowHideStats == False ? Custom String("Scoped acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Widowmaker), Scoped Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 2, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.WidowDestroy3 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.WidowHideStats == False ? Custom String("Scoped critical hit acc: {0}%",
Round To Integer(Player Hero Stat(Event Player, Hero(Widowmaker), Scoped Critical Hit Accuracy) * 100, To Nearest))
: Empty Array, Null, Left, 3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.WidowDestroy4 = Last Text ID;
}
}
rule("Widow Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Widowmaker;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.disable_heal_on_kill = !Event Player.disable_heal_on_kill;
Event Player.WidowHideStats = !Event Player.WidowHideStats;
}
}
rule("create hud")
rule("Widow Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Widowmaker);
}
actions
{
Create HUD Text(Event Player, Null, Null, Is Dead(Event Player) != True ? Custom String("bit.ly/3z9grz8") : Custom String(
"hold {0} to toggle heal on kill", Input Binding String(Button(Interact))), Top, 1, Null, Null, Is Dead(Event Player)
!= True ? Color(White) : Color(Orange), Visible To String and Color, Visible Never);
Event Player.hudtext_link = Last Text ID;
Create HUD Text(Event Player, Null, Custom String("host: {0} afk players: {1}", Host Player, Count Of(Filtered Array(All Players(
All Teams), Current Array Element.is_afk))), Null, Left, 0, Null, Color(White), Null, Visible To String and Color,
Visible Never);
Event Player.hudtext_host_and_afkplayers = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.disable_heal_on_kill != True ? (Hero Of(Event Player) == Hero(Tracer)
? Custom String(" \r\n\r\n\r\nHeal on kill: 60 hp") : Custom String(" \r\n\r\n\r\nHeal on kill: 80 hp")) : Custom String(
" \r\n\r\n\r\nHeal on kill: disabled"), Null, Left, 1, Null, Event Player.disable_heal_on_kill != True ? Color(Green) : Color(
Orange), Null, Visible To String and Color, Visible Never);
Event Player.hudtext_toggle_heal_on_kill = Last Text ID;
Create HUD Text(Event Player, Null, Custom String("KDR: {0}\r\n{1}\r\n{2}", Player Stat(Event Player, Deaths) == 0 ? Player Stat(
Event Player, Final Blows) + Player Stat(Event Player, Environmental Kills) : (Player Stat(Event Player, Final Blows)
+ Player Stat(Event Player, Environmental Kills)) / Player Stat(Event Player, Deaths), Custom String(
"solokills: {0}\r\nsolokilled: {1}\r\n{2}", Player Stat(Event Player, Solo Kills), Event Player.solokilled, Hero Of(
Event Player) != Hero(Ashe) && Hero Of(Event Player) != Hero(Widowmaker) && Hero Of(Event Player) != Hero(Ana) ? Custom String(
"Weapon acc: {0}%", Round To Integer(Player Hero Stat(Event Player, Hero Of(Event Player), Weapon Accuracy) * 100, To Nearest))
: Custom String("Hipfire acc: {0}%", Round To Integer((Player Hero Stat(Event Player, Hero Of(Event Player), Shots Hit)
- Player Hero Stat(Event Player, Hero Of(Event Player), Scoped Hits)) / (Player Hero Stat(Event Player, Hero Of(Event Player),
Shots Fired) - Player Hero Stat(Event Player, Hero Of(Event Player), Scoped Shots)) * 100, To Nearest))), Custom String(
"{0}\r\n{1}\r\n{2}", Hero Of(Event Player) != Hero(Reinhardt) && Hero Of(Event Player) != Hero(Sigma) && Hero Of(Event Player)
!= Hero(Winston) && Hero Of(Event Player) != Hero(Zarya) && Hero Of(Event Player) != Hero(Ashe) && Hero Of(Event Player)
!= Hero(Junkrat) && Hero Of(Event Player) != Hero(Pharah) && Hero Of(Event Player) != Hero(Symmetra) && Hero Of(Event Player)
!= Hero(Widowmaker) && Hero Of(Event Player) != Hero(Ana) && Hero Of(Event Player) != Hero(Brigitte) && Hero Of(Event Player)
!= Hero(Moira) ? Custom String("Critical hit acc: {0}%", Round To Integer(Player Hero Stat(Event Player, Hero Of(Event Player),
Critical Hit Accuracy) * 100, To Nearest)) : (Hero Of(Event Player) == Hero(Pharah) ? Custom String("Environmental Kills: {0}",
Player Hero Stat(Event Player, Hero Of(Event Player), Environmental Kills)) : (Hero Of(Event Player) == Hero(Ashe) || Hero Of(
Event Player) == Hero(Widowmaker) || Hero Of(Event Player) == Hero(Ana) ? Custom String("Scoped acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero Of(Event Player), Scoped Accuracy) * 100, To Nearest)) : Empty Array)), Hero Of(
Event Player) == Hero(Ashe) || Hero Of(Event Player) == Hero(Widowmaker) ? Custom String("Scoped critical hit acc: {0}%",
Round To Integer(Player Hero Stat(Event Player, Hero Of(Event Player), Scoped Critical Hit Accuracy) * 100, To Nearest)) : (
Hero Of(Event Player) == Hero(Doomfist) || Hero Of(Event Player) == Hero(Lúcio) ? Custom String("Environmental Kills: {0}",
Player Hero Stat(Event Player, Hero Of(Event Player), Environmental Kills)) : (Hero Of(Event Player) == Hero(Echo)
? Custom String("Sticky direct hit acc: {0}%", Round To Integer(Event Player.goo_hit / Event Player.goo_used * 100,
To Nearest)) : (Hero Of(Event Player) == Hero(McCree) ? Custom String("Flashbang hits: {0}/{1}", Event Player.flash_hit,
Event Player.flash_used) : (Hero Of(Event Player) == Hero(Soldier: 76) ? Custom String("Helixrocket hits: {0}/{1}",
Event Player.helix_hit, Event Player.helix_used) : (Hero Of(Event Player) == Hero(Torbjörn) ? Custom String(
"Hammer kills: {0}", Event Player.hammer_kill) : (Hero Of(Event Player) == Hero(Tracer) ? Custom String(
"Pulsebombs attached: {0}/{1}", Event Player.pulse_hit, Player Hero Stat(Event Player, Hero Of(Event Player), Ultimates Used))
: (Hero Of(Event Player) == Hero(Ana) ? Custom String("Sleepdart hits: {0}/{1}", Event Player.sleep_hit,
Event Player.sleep_used) : Empty Array))))))), Empty Array)), Null, Left, 2, Color(White), Color(White), Color(White),
Visible To and String, Visible Never);
Event Player.hudtext_stats = Last Text ID;
Destroy HUD Text(Event Player.WidowDestroy1);
Destroy HUD Text(Event Player.WidowDestroy2);
Destroy HUD Text(Event Player.WidowDestroy3);
Destroy HUD Text(Event Player.WidowDestroy4);
}
}
rule("destroy hud")
rule("Ana HUD")
{
event
{
Player Left Match;
Ongoing - Each Player;
All;
Ana;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(SelfHeal/AllHeal)"
Create HUD Text(Event Player, Null, Event Player.AnaHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} DMG: {1}/{2})",
Hero Icon String(Hero(Ana)), Custom String("{0} - {1} HP({2}", Round To Integer(Player Hero Stat(Event Player, Hero(Ana),
Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Ana), Damage Taken), To Nearest),
Round To Integer(Player Hero Stat(Event Player, Hero(Ana), Self Healing), To Nearest)), Round To Integer(Player Hero Stat(
Event Player, Hero(Ana), Healing Received), To Nearest)) : Empty Array, Null, Left, 0, Color(White), Color(White), Color(
White), Visible To and String, Default Visibility);
Event Player.AnaDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.AnaHideStats == False ? Custom String("Unscoped acc: {0}%", Round To Integer((
Player Hero Stat(Event Player, Hero(Ana), Shots Hit) - Player Hero Stat(Event Player, Hero(Ana), Scoped Hits)) / (
Player Hero Stat(Event Player, Hero(Ana), Shots Fired) - Player Hero Stat(Event Player, Hero(Ana), Scoped Shots)) * 100,
To Nearest)) : Empty Array, Null, Left, 1, Color(White), Color(White), Color(White), Visible To and String,
Default Visibility);
Event Player.AnaDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.AnaHideStats == False ? Custom String("Scoped acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Ana), Scoped Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 2, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.AnaDestroy3 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.AnaHideStats == False ? Custom String("{0}Sleepdart hits: {1}/{2}",
Ability Icon String(Hero(Ana), Button(Ability 1)), Event Player.SleepdartHits, Event Player.SleepdartsUsed) : Empty Array,
Null, Left, 3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.AnaDestroy4 = Last Text ID;
}
}
rule("Ana Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Ana;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Destroy HUD Text(Event Player.hudtext_host_and_afkplayers);
Destroy HUD Text(Event Player.hudtext_toggle_heal_on_kill);
Destroy HUD Text(Event Player.hudtext_stats);
Destroy HUD Text(Event Player.hudtext_link);
Wait(0.500, Abort When False);
Event Player.AnaHideStats = !Event Player.AnaHideStats;
}
}
rule("[variable] suicides")
rule("Ana Destroy Stats")
{
event
{
Player Died;
Ongoing - Each Player;
All;
All;
}
conditions
{
Victim == Attacker;
Hero Of(Event Player) != Hero(Ana);
}
actions
{
Event Player.suicides += 1;
Destroy HUD Text(Event Player.AnaDestroy1);
Destroy HUD Text(Event Player.AnaDestroy2);
Destroy HUD Text(Event Player.AnaDestroy3);
Destroy HUD Text(Event Player.AnaDestroy4);
}
}
rule("[variable] goo_used")
rule("Bap HUD")
{
event
{
Ongoing - Each Player;
All;
Baptiste;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(SelfHeal/AllHeal)"
Create HUD Text(Event Player, Null, Event Player.BapHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0}DMG: {1}/{2})",
Hero Icon String(Hero(Baptiste)), Custom String("{0} - {1} HP({2}", Round To Integer(Player Hero Stat(Event Player, Hero(
Baptiste), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Baptiste), Damage Taken),
To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Baptiste), Self Healing), To Nearest)), Round To Integer(
Player Hero Stat(Event Player, Hero(Baptiste), Healing Received), To Nearest)) : Empty Array, Null, Left, 0, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.BapDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.BapHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Baptiste), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.BapDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.BapHideStats == False ? Custom String("Critical hit acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Baptiste), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 2, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.BapDestroy3 = Last Text ID;
}
}
rule("Bap Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Baptiste;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.BapHideStats = !Event Player.BapHideStats;
}
}
rule("Bap Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Baptiste);
}
actions
{
Destroy HUD Text(Event Player.BapDestroy1);
Destroy HUD Text(Event Player.BapDestroy2);
Destroy HUD Text(Event Player.BapDestroy3);
}
}
rule("Lucio HUD")
{
event
{
Ongoing - Each Player;
All;
Lúcio;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(SelfHeal/AllHeal)"
Create HUD Text(Event Player, Null, Event Player.LucioHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} DMG: {1}/{2})",
Hero Icon String(Hero(Lúcio)), Custom String("{0} - {1} HP({2}", Round To Integer(Player Hero Stat(Event Player, Hero(Lúcio),
Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Lúcio), Damage Taken), To Nearest),
Round To Integer(Player Hero Stat(Event Player, Hero(Lúcio), Self Healing), To Nearest)), Round To Integer(Player Hero Stat(
Event Player, Hero(Lúcio), Healing Received), To Nearest)) : Empty Array, Null, Left, 0, Color(White), Color(White), Color(
White), Visible To and String, Default Visibility);
Event Player.LucioDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.LucioHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Lúcio), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.LucioDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.LucioHideStats == False ? Custom String("Critical hit acc: {0}%",
Round To Integer(Player Hero Stat(Event Player, Hero(Lúcio), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null,
Left, 2, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.LucioDestroy3 = Last Text ID;
Create HUD Text(Event Player, Empty Array, Event Player.LucioHideStats == False ? Custom String("{0}{1} Boop kills: {2}",
Ability Icon String(Hero(Lúcio), Button(Melee)), Ability Icon String(Hero(Lúcio), Button(Secondary Fire)), Player Hero Stat(
Event Player, Hero(Lúcio), Environmental Kills)) : Empty Array, Null, Left, 3, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
Event Player.LucioDestroy4 = Last Text ID;
}
}
rule("Lucio Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Lúcio;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.LucioHideStats = !Event Player.LucioHideStats;
}
}
rule("Lucio Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Lúcio);
}
actions
{
Destroy HUD Text(Event Player.LucioDestroy1);
Destroy HUD Text(Event Player.LucioDestroy2);
Destroy HUD Text(Event Player.LucioDestroy3);
Destroy HUD Text(Event Player.LucioDestroy4);
}
}
rule("Zen HUD")
{
event
{
Ongoing - Each Player;
All;
Zenyatta;
}
actions
{
"DMG: DmgDealt - DmgTaken HP(AllHeal)"
Create HUD Text(Event Player, Null, Event Player.ZenHideStats == False ? Custom String(" \r \r\n \r\n \r\n {0} {1}",
Hero Icon String(Hero(Zenyatta)), Custom String("DMG: {0} - {1} HP({2})", Round To Integer(Player Hero Stat(Event Player,
Hero(Zenyatta), Hero Damage Dealt), To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Zenyatta), Damage Taken),
To Nearest), Round To Integer(Player Hero Stat(Event Player, Hero(Zenyatta), Healing Received), To Nearest))) : Empty Array,
Null, Left, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.ZenDestroy1 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.ZenHideStats == False ? Custom String("Weapon acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Zenyatta), Weapon Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 1, Color(White),
Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.ZenDestroy2 = Last Text ID;
Create HUD Text(Event Player, Null, Event Player.ZenHideStats == False ? Custom String("Critical hit acc: {0}%", Round To Integer(
Player Hero Stat(Event Player, Hero(Zenyatta), Critical Hit Accuracy) * 100, To Nearest)) : Empty Array, Null, Left, 2, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Event Player.ZenDestroy3 = Last Text ID;
}
}
rule("Zen Toggle Stats")
{
event
{
Ongoing - Each Player;
All;
Zenyatta;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.ZenHideStats = !Event Player.ZenHideStats;
}
}
rule("Zen Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Zenyatta);
}
actions
{
Destroy HUD Text(Event Player.ZenDestroy1);
Destroy HUD Text(Event Player.ZenDestroy2);
Destroy HUD Text(Event Player.ZenDestroy3);
}
}
rule("Variable Echo StickybombsUsed")
{
event
{
Ongoing - Each Player;
All;
Echo;
}
conditions
{
Is Firing Secondary(Event Player) == True;
Is Dead(Event Player) != True;
}
actions
{
Wait(0.035, Abort When False);
Event Player.goo_used += 1;
Event Player.StickybombsUsed += 1;
Wait(0.060, Abort When False);
Event Player.goo_used += 1;
Event Player.StickybombsUsed += 1;
Wait(0.060, Abort When False);
Event Player.goo_used += 1;
Event Player.StickybombsUsed += 1;
Wait(0.060, Abort When False);
Event Player.goo_used += 1;
Event Player.StickybombsUsed += 1;
Wait(0.060, Abort When False);
Event Player.goo_used += 1;
Event Player.StickybombsUsed += 1;
Wait(0.060, Abort When False);
Event Player.goo_used += 1;
Event Player.StickybombsUsed += 1;
}
}
rule("[variable] goo_hit 1")
rule("Variable Echo StickybombHits")
{
event
{
Player Dealt Damage;
All;
Echo;
}
conditions
{
(Event Damage == 2.500 || Event Damage == 5) == True;
(Event Damage == 5 || Event Damage == 2.500) == True;
Attacker != Victim;
}
actions
{
Event Player.goo_hit += 1;
Event Player.StickybombHits += 1;
}
}
rule("[variable] goo_hit 2")
rule("Variable Echo also StickybombHits (Needed to count stickybombs that kill)")
{
event
{
Player Dealt Final Blow;
All;
Echo;
}
conditions
{
(Event Ability == Button(Secondary Fire) && Event Damage < 5) == True;
Event Ability == Is Firing Secondary(Event Player);
Event Damage < 5;
Attacker != Victim;
}
actions
{
Event Player.goo_hit += 1;
Event Player.StickybombHits += 1;
}
}
rule("[variable] flash_used")
rule("Variable Mccree FlashbangsUsed")
{
event
{
Ongoing - Each Player;
All;
McCree;
}
conditions
{
Is Using Ability 2(Event Player) == True;
}
actions
{
Event Player.flash_used += 1;
Event Player.FlashbangsUsed += 1;
}
}
rule("[variable] flash_hit")
rule("Variable Mccree ThrewFlashbang")
{
event
{
Player Dealt Damage;
Ongoing - Each Player;
All;
McCree;
}
conditions
{
(Event Ability == Button(Ability 2) && Event Player.threw_flash == True) == True;
Is Using Ability 2(Event Player) == True;
}
actions
{
Event Player.flash_hit += 1;
Event Player.threw_flash = False;
Event Player.ThrewFlashbang = True;
Wait(0.350, Ignore Condition);
Event Player.ThrewFlashbang = False;
}
}
rule("[variable] threw_flash")
rule("Variable Mccree FlashbangHits")
{
event
{
Ongoing - Each Player;
Player Dealt Damage;
All;
McCree;
}
conditions
{
Is Using Ability 2(Event Player) == True;
Event Player.ThrewFlashbang == True;
}
actions
{
Event Player.threw_flash = True;
Wait(0.350, Ignore Condition);
Event Player.threw_flash = False;
Event Player.FlashbangHits += 1;
Event Player.ThrewFlashbang = False;
}
}
rule("[variable] helix_used")
rule("Variable Soldier76 HelixrocketsUsed")
{
event
{
Ongoing - Each Player;
All;
Soldier: 76;
}
conditions
{
Is Firing Secondary(Event Player) == True;
}
actions
{
Event Player.helix_used += 1;
Event Player.HelixrocketsUsed += 1;
}
}
rule("[variable] helix_hit")
rule("Variable Soldier76 FiredHelixrocket")
{
event
{
Player Dealt Damage;
Ongoing - Each Player;
All;
Soldier: 76;
}
conditions
{
(Event Ability == Button(Secondary Fire) && Attacker != Victim && Event Player.threw_helix == True) == True;
Is Firing Secondary(Event Player) == True;
}
actions
{
Event Player.helix_hit += 1;
Event Player.threw_helix = False;
Event Player.FiredHelixrocket = True;
Wait(2, Ignore Condition);
Event Player.FiredHelixrocket = False;
}
}
rule("[variable] threw_helix")
rule("Variable Soldier76 HelixrocketHits")
{
event
{
Ongoing - Each Player;
Player Dealt Damage;
All;
Soldier: 76;
}
conditions
{
Is Firing Secondary(Event Player) == True;
Event Ability == Button(Secondary Fire);
Attacker != Victim;
Event Player.FiredHelixrocket == True;
}
actions
{
Event Player.threw_helix = True;
Wait(1, Ignore Condition);
Event Player.threw_helix = False;
Event Player.HelixrocketHits += 1;
Event Player.FiredHelixrocket = False;
}
}
rule("[variable] hammer_kill")
rule("Variable Soldier76 also HelixrocketHits (Needed to not count environmental kills twice)")
{
event
{
Player Dealt Final Blow;
All;
Torbjörn;
Soldier: 76;
}
conditions
{
(Is In Alternate Form(Event Player) && Event Ability == Button(Primary Fire)) == True;
Event Ability == Button(Secondary Fire);
Event Was Environment == True;
Event Player.FiredHelixrocket == True;
}
actions
{
Event Player.hammer_kill += 1;
Event Player.HelixrocketHits -= 1;
}
}
rule("[variable] pulse_hit")
rule("Variable Torb TemporaryArmorRecieved")
{
event
{
Player Dealt Damage;
Ongoing - Each Player;
All;
Tracer;
Torbjörn;
}
conditions
{
(Event Ability == Button(Ultimate) && Event Player.threw_pulse == True) == True;
Is Using Ability 2(Event Player) == True;
}
actions
{
Event Player.pulse_hit += 1;
Event Player.threw_pulse = False;
Event Player.TemporaryArmorRecieved += 100;
}
}
rule("[variable] threw_pulse")
rule("Variable Torb HammerKills")
{
event
{
Ongoing - Each Player;
Player Dealt Final Blow;
All;
Tracer;
Torbjörn;
}
conditions
{
Is Using Ultimate(Event Player) == True;
Is In Alternate Form(Event Player) == True;
Event Ability == Is Firing Primary(Event Player);
}
actions
{
Event Player.threw_pulse = True;
Wait(1, Ignore Condition);
Event Player.threw_pulse = False;
Event Player.HammerKills += 1;
}
}
rule("[variable] sleep_used")
rule("Variable Tracer PulsebombsUsed")
{
event
{
Ongoing - Each Player;
All;
Ana;
Tracer;
}
conditions
{
Is Using Ability 1(Event Player) == True;
Is Using Ultimate(Event Player) == True;
}
actions
{
Event Player.sleep_used += 1;
Event Player.PulsebombsUsed += 1;
}
}
rule("[variable] sleep_hit 1")
rule("Variable Tracer ThrewPulsebomb")
{
event
{
Player Dealt Damage;
Ongoing - Each Player;
All;
Ana;
Tracer;
}
conditions
{
Event Ability == Button(Ability 1);
Is Using Ultimate(Event Player) == True;
}
actions
{
Event Player.sleep_hit += 1;
Event Player.ThrewPulsebomb = True;
Wait(1, Ignore Condition);
Event Player.ThrewPulsebomb = False;
}
}
rule("[variable] sleep_hit 2")
rule("Variable Tracer PulsebombHits")
{
event
{
Player Dealt Final Blow;
Player Dealt Damage;
All;
Ana;
Tracer;
}
conditions
{
(Event Ability == Button(Ability 1) && Event Was Environment == True) == True;
Event Ability == Button(Ultimate);
Attacker != Victim;
Event Player.ThrewPulsebomb == True;
}
actions
{
Event Player.sleep_hit -= 1;
Event Player.PulsebombHits += 1;
Event Player.ThrewPulsebomb = False;
}
}
rule("[variable] solokilled")
rule("Variable Ana SleepdartsUsed")
{
event
{
Player Died;
All;
Ongoing - Each Player;
All;
Ana;
}
conditions
{
Count Of(Event Player.attackers) == 1;
Is Using Ability 1(Event Player) == True;
}
actions
{
Event Player.solokilled += 1;
Event Player.SleepdartsUsed += 1;
}
}
rule("[variable] attackers")
rule("Variable Ana SleepdartHits")
{
event
{
Player Took Damage;
All;
Player Dealt Damage;
All;
Ana;
}
conditions
{
Array Contains(Event Player.attackers, Attacker) != True;
Victim != Attacker;
Event Ability == Button(Ability 1);
}
actions
{
Modify Player Variable(Event Player, attackers, Append To Array, Attacker);
Event Player.SleepdartHits += 1;
}
}
rule("[variable] attackers2")
rule("Variable Ana also SleepdartHits (Needed to not count environmental kills twice)")
{
event
{
Ongoing - Each Player;
All;
Player Dealt Final Blow;
All;
Ana;
}
conditions
{
Health(Event Player) == Max Health(Event Player);
Event Ability == Button(Ability 1);
Event Was Environment == True;
}
actions
{
Event Player.attackers = Empty Array;
Event Player.SleepdartHits -= 1;
}
}