Return to post
settings
{
main
{
Description: "Tryhard FFA 2.1.3 Last updated: 4.Jan 2021 www.workshop.codes/D9977 https://discord.gg/qtuEPEwfuh"
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
Max Spectators: 6
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
Respawn Time Scalar: 59%
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
}
Soldier: 76
{
Ultimate Ability Tactical Visor: Off
}
Sombra
{
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
Symmetra
Winston
Wrecking Ball
Zarya
}
}
}
}
variables
{
global:
0: heal_on_kill_setting
player:
0: hide_extra_scoreboard
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
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("skip assembling heroes")
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
{
Disable Inspector Recording;
Set Match Time(0);
}
}
rule("init")
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("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
{
Is Game In Progress == True;
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Pause Match Time;
Set Match Time(0.001);
Disable Built-In Game Mode Announcer;
Enable Death Spectate Target HUD(All Players(All Teams));
Global.heal_on_kill_setting = Array(0, 250)[Workshop Setting Combo(Custom String("Heal on kill"), Custom String("Heal on kill"), 1,
Array(Custom String("No heal on kill"), Custom String("250hp instant")), 0)];
Create HUD Text(All Players(All Teams), Null, Global.heal_on_kill_setting > 0 ? Custom String("{0}hp instant heal on kill",
Global.heal_on_kill_setting) : Custom String("No heal on kill"), Null, Left, 0, Color(White), Color(Green), Color(White),
Visible To and String, Visible Always);
Create HUD Text(Empty Array, Null, Custom String(
"Esc -> Show lobby to check if you are in queue to play\r\nLoad: {0}\r\nAvg: {1}\r\nPeak: {2}", Server Load,
Server Load Average, Server Load Peak), Null, Left, 2, Color(White), Color(White), Color(White), Visible To and String,
Visible Always);
Create HUD Text(All Players(All Teams), Null, Custom String(
" \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n discord.gg/qtuEPEwfuh"),
Null, Left, 3, Color(White), Custom Color(0, 0, 0, 255), Color(White), Visible To and String, Visible Always);
Wait(0.500, Abort When False);
Event Player.AsheHideStats = !Event Player.AsheHideStats;
}
}
rule("create hud")
rule("Ashe Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Ashe);
}
actions
{
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("Doom HUD")
{
event
{
Ongoing - Each Player;
All;
Doomfist;
}
actions
{
Create HUD Text(Event Player, Null, Custom String(" \r\n \r\n \r\n{0}\r\n{1}\r\n{2}", 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), 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)), 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, 1, Color(White), Color(White), Color(White),
"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
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.DoomHideStats = !Event Player.DoomHideStats;
}
}
rule("Doom Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Doomfist);
}
actions
{
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("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
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
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.PharahDestroy3 = Last Text ID;
}
}
rule("toggle extra scoreboard")
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
{
Hero Of(Event Player) != Hero(Pharah);
}
actions
{
Destroy HUD Text(Event Player.PharahDestroy1);
Destroy HUD Text(Event Player.PharahDestroy2);
Destroy HUD Text(Event Player.PharahDestroy3);
}
}
rule("Soldier76 HUD")
{
event
{
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 Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Wait(0.500, Abort When False);
Event Player.hide_extra_scoreboard = !Event Player.hide_extra_scoreboard;
If(Event Player.hide_extra_scoreboard);
Disable Game Mode HUD(Event Player);
Else;
Enable Game Mode HUD(Event Player);
Event Player.Soldier76HideStats = !Event Player.Soldier76HideStats;
}
}
rule("heal on kill")
rule("Soldier76 Destroy Stats")
{
event
{
Player Dealt Final Blow;
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Soldier: 76);
}
actions
{
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
{
Global.heal_on_kill_setting > 0;
Hero Of(Event Player) != Hero(Torbjörn);
}
actions
{
Set Player Health(Event Player, Health(Event Player) + Global.heal_on_kill_setting);
Create Effect(All Players(All Teams), Good Aura, Color(Yellow), Event Player, 0.500, Visible To Position and Radius);
Wait(0.075, Ignore Condition);
Destroy Effect(Last Created Entity);
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("reset cooldowns on respawn")
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("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("keep the same score when selfdestruct")
rule("Tracer Destroy Stats")
{
event
{
Player Died;
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Tracer);
}
actions
{
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("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.WidowHideStats = !Event Player.WidowHideStats;
}
}
rule("Widow Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Widowmaker);
}
actions
{
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("Ana HUD")
{
event
{
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
{
Wait(0.500, Abort When False);
Event Player.AnaHideStats = !Event Player.AnaHideStats;
}
}
rule("Ana Destroy Stats")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) != Hero(Ana);
}
actions
{
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("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
{
(Attacker == Victim && Workshop Setting Toggle(Custom String("General"), Custom String(
"Suicide does not -1 scoreboardkills (keeps actual kills in sync with scoreboardkills)"), True, 0)) == True;
Hero Of(Event Player) != Hero(Zenyatta);
}
actions
{
Set Player Score(Event Player, Score Of(Event Player) + 1);
Destroy HUD Text(Event Player.ZenDestroy1);
Destroy HUD Text(Event Player.ZenDestroy2);
Destroy HUD Text(Event Player.ZenDestroy3);
}
}
rule("[variable] goo_used")
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 Soldier76 HelixrocketsUsed")
{
event
{
Ongoing - Each Player;
All;
Soldier: 76;
}
conditions
{
Is Firing Secondary(Event Player) == True;
}
actions
{
Event Player.HelixrocketsUsed += 1;
}
}
rule("[variable] helix_used")
rule("Variable Soldier76 FiredHelixrocket")
{
event
{
Ongoing - Each Player;
All;
Soldier: 76;
}
conditions
{
Is Firing Secondary(Event Player) == True;
}
actions
{
Event Player.helix_used += 1;
Event Player.FiredHelixrocket = True;
Wait(2, Ignore Condition);
Event Player.FiredHelixrocket = False;
}
}
rule("[variable] helix_hit 1")
rule("Variable Soldier76 HelixrocketHits")
{
event
{
Player Dealt Damage;
All;
Soldier: 76;
}
conditions
{
Event Ability == Button(Secondary Fire);
Attacker != Victim;
Event Player.threw_helix == True;
Event Player.FiredHelixrocket == True;
}
actions
{
Event Player.helix_hit += 1;
Event Player.threw_helix = False;
Event Player.HelixrocketHits += 1;
Event Player.FiredHelixrocket = False;
}
}
rule("[variable] helix_hit 2")
rule("Variable Soldier76 also HelixrocketHits (Needed to not count environmental kills twice)")
{
event
{
Player Dealt Final Blow;
All;
Soldier: 76;
}
conditions
{
(Event Ability == Button(Secondary Fire) && Event Was Environment == True && Event Player.threw_helix == True) == True;
Event Ability == Button(Secondary Fire);
Event Was Environment == True;
Event Player.FiredHelixrocket == True;
}
actions
{
Event Player.helix_hit -= 1;
Event Player.HelixrocketHits -= 1;
}
}
rule("[variable] threw_helix")
rule("Variable Torb TemporaryArmorRecieved")
{
event
{
Ongoing - Each Player;
All;
Soldier: 76;
Torbjörn;
}
conditions
{
Is Firing Secondary(Event Player) == True;
Is Using Ability 2(Event Player) == True;
}
actions
{
Event Player.threw_helix = True;
Wait(0.100, Ignore Condition);
Event Player.threw_helix = False;
Event Player.TemporaryArmorRecieved += 100;
}
}
rule("[variable] hammer_kill")
rule("Variable Torb HammerKills")
{
event
{
Player Dealt Final Blow;
All;
Torbjörn;
}
conditions
{
(Is In Alternate Form(Event Player) && Event Ability == Button(Primary Fire)) == True;
Is In Alternate Form(Event Player) == True;
Event Ability == Is Firing Primary(Event Player);
}
actions
{
Event Player.hammer_kill += 1;
Event Player.HammerKills += 1;
}
}
rule("[variable] pulse_hit")
rule("Variable Tracer PulsebombsUsed")
{
event
{
Player Dealt Damage;
Ongoing - Each Player;
All;
Tracer;
}
conditions
{
(Event Ability == Button(Ultimate) && Event Player.threw_pulse == True) == True;
Is Using Ultimate(Event Player) == True;
}
actions
{
Event Player.pulse_hit += 1;
Event Player.threw_pulse = False;
Event Player.PulsebombsUsed += 1;
}
}
rule("[variable] threw_pulse")
rule("Variable Tracer ThrewPulsebomb")
{
event
{
Ongoing - Each Player;
All;
Tracer;
}
conditions
{
Is Using Ultimate(Event Player) == True;
}
actions
{
Event Player.threw_pulse = True;
Event Player.ThrewPulsebomb = True;
Wait(1, Ignore Condition);
Event Player.threw_pulse = False;
Event Player.ThrewPulsebomb = False;
}
}
rule("[variable] sleep_used")
rule("Variable Tracer PulsebombHits")
{
event
{
Player Dealt Damage;
All;
Tracer;
}
conditions
{
Event Ability == Button(Ultimate);
Attacker != Victim;
Event Player.ThrewPulsebomb == True;
}
actions
{
Event Player.PulsebombHits += 1;
Event Player.ThrewPulsebomb = False;
}
}
rule("Variable Ana SleepdartsUsed")
{
event
{
Ongoing - Each Player;
All;
Ana;
}
conditions
{
Is Using Ability 1(Event Player) == True;
}
actions
{
Event Player.sleep_used += 1;
Event Player.SleepdartsUsed += 1;
}
}
rule("[variable] sleep_hit 1")
rule("Variable Ana SleepdartHits")
{
event
{
Player Dealt Damage;
All;
Ana;
}
conditions
{
Event Ability == Button(Ability 1);
}
actions
{
Event Player.sleep_hit += 1;
Event Player.SleepdartHits += 1;
}
}
rule("[variable] sleep_hit 2")
rule("Variable Ana also SleepdartHits (Needed to not count environmental kills twice)")
{
event
{
Player Dealt Final Blow;
All;
Ana;
}
conditions
{
(Event Ability == Button(Ability 1) && Event Was Environment == True) == True;
Event Ability == Button(Ability 1);
Event Was Environment == True;
}
actions
{
Event Player.sleep_hit -= 1;
Event Player.SleepdartHits -= 1;
}
}