Return to post
- settings
- {
- main
- {
- Description: "Freezethaw Elimination - made by Waitedboat4#2760 - RELEASE"
- }
- lobby
- {
- Max Team 1 Players: 4
- Max Team 2 Players: 4
- }
- modes
- {
- Elimination
- {
- Restrict Previously Used Heroes: After Round Won
- enabled maps
- {
- Ayutthaya
Black Forest
- Black Forest Winter
- Castillo
Ecopoint: Antarctica
- Ecopoint: Antarctica Winter
- Necropolis
- }
- }
- }
- heroes
- {
- General
- {
- disabled heroes
- {
- Mei
- }
- }
- }
- }
- variables
- {
- global:
- 0: NumberFrozen1
- 1: NumberFrozen2
- player:
- 0: Frozen
- 1: CurrentHero
- 2: ThawDuration
- 3: Progressbar
- 4: InWorldText
- 5: ThawingEffect
- }
- rule("Me")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create HUD Text(All Players(All Teams), Null, Custom String(" \r\n "), 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 "), Top, 0, Color(White), Color(
- White), Color(White), Visible To and String, Default Visibility);
- Create HUD Text(All Players(All Teams), Null, Custom String("https://workshop.codes/freezethaw"), Null, Right, 0, Color(White),
- Color(Green), Color(Green), Visible To and String, Default Visibility);
- Create HUD Text(All Players(All Teams), Null, Null, Custom String("made by Waitedboat4#2760"), Right, 0, Color(White), Color(
- White), Color(Green), Visible To and String, Default Visibility);
- }
- }
- rule("Disable")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Disable Built-In Game Mode Scoring;
- }
- }
- rule("Unkillable")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- (Is Game In Progress || Is Waiting For Players) == True;
- }
- actions
- {
- Set Status(Event Player, Null, Unkillable, 9999);
- Event Player.Frozen = False;
- Event Player.CurrentHero = Hero Of(Event Player);
- Global.NumberFrozen1 = 0;
- Global.NumberFrozen2 = 0;
- }
- }
- rule("Frozen Team 1")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- All;
- }
- conditions
- {
- Health(Event Player) == 1;
- }
- actions
- {
- Event Player.Frozen = True;
- Start Forcing Player To Be Hero(Event Player, Hero(Mei));
- Start Forcing Player Outlines(Event Player, All Players(Opposite Team Of(Team Of(Event Player))), True, Color(Red), Default);
- Create In-World Text(All Players(All Teams), Ability Icon String(Hero(Mei), Button(Ultimate)), Event Player, 1, Do Not Clip,
- Visible To Position and String, Color(Sky Blue), Default Visibility);
- Event Player.InWorldText = Last Text ID;
- Global.NumberFrozen1 += 1;
- Wait(0.250, Ignore Condition);
- Stop Forcing Player To Be Hero(Event Player);
- }
- }
- rule("Frozen Team 2")
- {
- event
- {
- Ongoing - Each Player;
- Team 2;
- All;
- }
- conditions
- {
- Health(Event Player) == 1;
- }
- actions
- {
- Event Player.Frozen = True;
- Start Forcing Player To Be Hero(Event Player, Hero(Mei));
- Start Forcing Player Outlines(Event Player, All Players(Opposite Team Of(Team Of(Event Player))), True, Color(Red), Default);
- Create In-World Text(All Players(All Teams), Ability Icon String(Hero(Mei), Button(Ultimate)), Event Player, 1, Do Not Clip,
- Visible To Position and String, Color(Sky Blue), Default Visibility);
- Event Player.InWorldText = Last Text ID;
- Global.NumberFrozen2 += 1;
- Wait(0.250, Ignore Condition);
- Stop Forcing Player To Be Hero(Event Player);
- }
- }
- rule("Ability 1")
- {
- event
- {
- Ongoing - Each Player;
- All;
- Mei;
- }
- conditions
- {
- Event Player.Frozen == True;
- Is Using Ability 1(Event Player) == False;
- Has Spawned(Event Player) == True;
- Is Alive(Event Player) == True;
- }
- actions
- {
- Set Ability Cooldown(Event Player, Button(Ability 1), 0);
- Wait(0.016, Ignore Condition);
- Press Button(Event Player, Button(Ability 1));
- }
- }
- rule("Thawing Team 1")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- All;
- }
- conditions
- {
- Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Players(Team Of(Event Player)),
- Current Array Element.Frozen == True), Distance Between(Event Player, Current Array Element)))) <= 3;
- Is Button Held(Event Player, Button(Interact)) == True;
- Number Of Heroes(Hero(Mei), Team Of(Event Player)) > 0;
- }
- actions
- {
- Event Player.ThawDuration = 3;
- Set Status(Event Player, Null, Rooted, 9999);
- Chase Player Variable Over Time(Event Player, ThawDuration, 0, 3, Destination and Duration);
- Create Progress Bar HUD Text(Event Player, Event Player.ThawDuration / 3 * 100, Custom String("Thawing teammate..."), Top, 1,
- Color(Sky Blue), Color(White), Visible To Values and Color, Default Visibility);
- Event Player.Progressbar = Last Text ID;
- Create Effect(All Players(All Teams), Light Shaft, Color(Sky Blue), First Of(Sorted Array(Filtered Array(All Players(Team Of(
- Event Player)), Current Array Element.Frozen == True), Distance Between(Event Player, Current Array Element))), 1, None);
- Event Player.ThawingEffect = Last Created Entity;
- Wait(3, Abort When False);
- Global.NumberFrozen1 -= 1;
- Play Effect(All Players(All Teams), Ring Explosion, Color(Sky Blue), First Of(Filtered Array(Sorted Array(All Players(Team Of(
- Event Player)), Distance Between(Event Player, Current Array Element)), Current Array Element.Frozen == True)), 1);
- Play Effect(All Players(All Teams), Ring Explosion Sound, Color(White), Event Player, 200);
- Destroy Effect(Event Player.ThawingEffect);
- Destroy In-World Text(First Of(Sorted Array(Filtered Array(All Players(Team Of(Event Player)),
- Current Array Element.Frozen == True), Distance Between(Event Player, Current Array Element))).InWorldText);
- Start Forcing Player To Be Hero(First Of(Sorted Array(Filtered Array(All Players(Team Of(Event Player)),
- Current Array Element.Frozen == True), Distance Between(Event Player, Current Array Element))), First Of(Sorted Array(
- Filtered Array(All Players(Team Of(Event Player)), Current Array Element.Frozen == True), Distance Between(Event Player,
- Current Array Element))).CurrentHero);
- Destroy Progress Bar HUD Text(Event Player.Progressbar);
- Clear Status(Event Player, Rooted);
- Wait(0.250, Ignore Condition);
- Stop Forcing Player To Be Hero(Event Player);
- First Of(Filtered Array(Sorted Array(All Players(Team Of(Event Player)), Distance Between(Event Player, Current Array Element)),
- Current Array Element.Frozen == True)).Frozen = False;
- }
- }
- rule("Thawing Team 2")
- {
- event
- {
- Ongoing - Each Player;
- Team 2;
- All;
- }
- conditions
- {
- Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Players(Team Of(Event Player)),
- Current Array Element.Frozen == True), Distance Between(Event Player, Current Array Element)))) <= 3;
- Is Button Held(Event Player, Button(Interact)) == True;
- Number Of Heroes(Hero(Mei), Team Of(Event Player)) > 0;
- }
- actions
- {
- Event Player.ThawDuration = 3;
- Set Status(Event Player, Null, Rooted, 9999);
- Chase Player Variable Over Time(Event Player, ThawDuration, 0, 3, Destination and Duration);
- Create Progress Bar HUD Text(Event Player, Event Player.ThawDuration / 3 * 100, Custom String("Thawing teammate..."), Top, 1,
- Color(Sky Blue), Color(White), Visible To Values and Color, Default Visibility);
- Event Player.Progressbar = Last Text ID;
- Create Effect(All Players(All Teams), Light Shaft, Color(Sky Blue), First Of(Sorted Array(Filtered Array(All Players(Team Of(
- Event Player)), Current Array Element.Frozen == True), Distance Between(Event Player, Current Array Element))), 1, None);
- Event Player.ThawingEffect = Last Created Entity;
- Wait(3, Abort When False);
- Global.NumberFrozen2 -= 1;
- Play Effect(All Players(All Teams), Ring Explosion, Color(Sky Blue), First Of(Filtered Array(Sorted Array(All Players(Team Of(
- Event Player)), Distance Between(Event Player, Current Array Element)), Current Array Element.Frozen == True)), 1);
- Play Effect(All Players(All Teams), Ring Explosion Sound, Color(White), Event Player, 200);
- Destroy Effect(Event Player.ThawingEffect);
- Destroy In-World Text(First Of(Sorted Array(Filtered Array(All Players(Team Of(Event Player)),
- Current Array Element.Frozen == True), Distance Between(Event Player, Current Array Element))).InWorldText);
- Start Forcing Player To Be Hero(First Of(Sorted Array(Filtered Array(All Players(Team Of(Event Player)),
- Current Array Element.Frozen == True), Distance Between(Event Player, Current Array Element))), First Of(Sorted Array(
- Filtered Array(All Players(Team Of(Event Player)), Current Array Element.Frozen == True), Distance Between(Event Player,
- Current Array Element))).CurrentHero);
- Destroy Progress Bar HUD Text(Event Player.Progressbar);
- Clear Status(Event Player, Rooted);
- Wait(0.250, Ignore Condition);
- Stop Forcing Player To Be Hero(Event Player);
- First Of(Filtered Array(Sorted Array(All Players(Team Of(Event Player)), Distance Between(Event Player, Current Array Element)),
- Current Array Element.Frozen == True)).Frozen = False;
- }
- }
- rule("Thawing")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Filtered Array(All Players(Team Of(Event Player)), Current Array Element.Frozen == True)) <= 3;
- Is Button Held(Event Player, Button(Interact)) == False;
- }
- actions
- {
- Clear Status(Event Player, Rooted);
- Destroy Effect(Event Player.ThawingEffect);
- Destroy In-World Text(First Of(Sorted Array(Filtered Array(All Players(Team Of(Event Player)),
- Current Array Element.Frozen == True), Distance Between(Event Player, Current Array Element))).InWorldText);
- Stop Chasing Player Variable(Event Player, ThawDuration);
- Destroy Progress Bar HUD Text(Event Player.Progressbar);
- }
- }
- rule("Thawing prompt")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Players(Team Of(Event Player)),
- Current Array Element.Frozen == True), Distance Between(Event Player, Current Array Element)))) <= 3;
- Number Of Heroes(Hero(Mei), Team Of(Event Player)) > 0;
- }
- actions
- {
- Small Message(Event Player, Custom String("Hold {0} to thaw teammate", Input Binding String(Button(Interact))));
- }
- }
- rule("Score Team 1")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.NumberFrozen1 == Number Of Players(Team 1);
- Is Game In Progress == True;
- }
- actions
- {
- Declare Round Victory(Team 2);
- }
- }
- rule("Score Team 2")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.NumberFrozen2 == Number Of Players(Team 2);
- Is Game In Progress == True;
- }
- actions
- {
- Declare Round Victory(Team 1);
- }
- }
- rule("Placeholder dummy")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create Dummy Bot(Hero(Ana), Team 2, 1, Nearest Walkable Position(Vector(0, 0, 0)), Vector(0, 0, 0));
- }
- }
- rule("Invincible")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Frozen == True;
- }
- actions
- {
- Set Status(Event Player, Null, Invincible, 9999);
- }
- }
- rule("Invincible")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Frozen == False;
- }
- actions
- {
- Clear Status(Event Player, Invincible);
- }
}
disabled rule("Placeholder dummy")
{
event
{
Ongoing - Global;
}
actions
{
Create Dummy Bot(Hero(Ana), Team 2, 1, Nearest Walkable Position(Vector(0, 0, 0)), Vector(0, 0, 0));
}
- }