Return to post
- settings
- {
- main
- {
Description: "Mei's Snowball Offensive - made by Waitedboat4#2760 - v1.2: New Updates"
- Description: "Mei's Snowball Offensive - made by Waitedboat4#2760 - v2: Black Forest Added"
- }
- lobby
- {
- Max Team 1 Players: 6
- Max Team 2 Players: 6
- }
- modes
- {
- Elimination
- {
- Capture Objective Tiebreaker: Off
- Hero Selection: Random
- enabled maps
- {
- Black Forest Winter
- Ecopoint: Antarctica Winter
- }
- }
- General
- {
- Allow Hero Switching: Off
- Hero Limit: Off
- }
- }
- heroes
- {
- General
- {
- Mei
- {
- Damage Dealt: 500%
- Damage Received: 500%
- Primary Fire: Off
- Projectile Gravity: 500%
- Quick Melee: Off
Ultimate Generation Blizzard: 300%
- }
- enabled heroes
- {
- Mei
- }
- }
- }
- }
- variables
- {
- global:
- 0: SnowLocation
- 1: SnowEffect
- 2: SparkleEffect
- player:
- 0: Ult
- 2: Timer
- 3: Sparkles
- 4: Orb
- 5: ProgressBar
- 6: Countdown
- }
- rule("Me")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Create Effect(Event Player, Sparkles Sound, Color(White), First Of(Sorted Array(Global.SnowLocation, Distance Between(Event Player,
- Current Array Element))), 60, Visible To Position and Radius);
- Create HUD Text(Event Player, 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(Event Player, Null, Custom String("https://workshop.codes/meioffensive"), Null, Right, 0, Color(White), Color(
- Green), Color(Green), Visible To and String, Default Visibility);
- Create HUD Text(Event Player, Null, Null, Custom String("Created by Waitedboat4#2760"), Right, 0, Color(White), Color(Green),
- Color(Green), Visible To and String, Default Visibility);
- Set Projectile Speed(Event Player, 60);
- }
- }
- rule("Reset Variables")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Global.SnowLocation = Empty Array;
- Global.SnowEffect = Empty Array;
- Global.SparkleEffect = Empty Array;
- }
- }
- rule("Primary = Secondary")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- }
- actions
- {
- Start Holding Button(Event Player, Button(Secondary Fire));
- }
- }
- rule("Primary = Secondary")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Primary Fire)) == False;
- }
- actions
- {
- Stop Holding Button(Event Player, Button(Secondary Fire));
- }
- }
- rule("Ammo")
- {
- event
- {
- Ongoing - Each Player;
- All;
- Mei;
- }
- conditions
- {
- Has Spawned(Event Player) == True;
- Is Alive(Event Player) == True;
- }
- actions
- {
- Set Max Ammo(Event Player, 0, 10);
- Set Ammo(Event Player, 0, 10);
- }
- }
- rule("Ammo")
- {
- event
- {
- Ongoing - Each Player;
- All;
- Mei;
- }
- conditions
- {
- Ammo(Event Player, 0) == 0;
- Event Player.Ult == False;
- }
- actions
- {
- Set Max Ammo(Event Player, 0, 0);
- }
- }
- rule("Ult")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Using Ultimate(Event Player) == True;
- Hero Of(Event Player) == Hero(Mei);
- }
- actions
- {
- Wait(0.400, Ignore Condition);
- Start Forcing Player To Be Hero(Event Player, Hero(Winston));
- Start Forcing Player To Be Hero(Event Player, Hero(Mei));
- Set Max Ammo(Event Player, 0, 10);
- Event Player.Timer = 6;
- Create Effect(Filtered Array(All Players(All Teams), Current Array Element != Event Player), Orb, Color(Blue), Update Every Frame(
- Eye Position(Event Player) + Up), 1, Visible To Position and Radius);
- Event Player.Orb = Last Created Entity;
- Create Effect(Event Player, Sparkles, Color(White), Update Every Frame(Eye Position(Event Player)), 1,
- Visible To Position and Radius);
- Event Player.Sparkles = Last Created Entity;
- Event Player.Ult = True;
- }
- }
- rule("Ult")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Ult == True;
- Ammo(Event Player, 0) < 10;
- }
- actions
- {
- Set Ammo(Event Player, 0, 10);
- }
- }
- rule("Ult")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Ult == True;
- }
- actions
- {
- Wait(6, Ignore Condition);
- Event Player.Ult = False;
- Destroy Effect(Event Player.Orb);
- Destroy Effect(Event Player.Sparkles);
- }
- }
- disabled rule("Melee")
- {
- event
- {
- Ongoing - Each Player;
- All;
- Mei;
- }
- conditions
- {
Is Firing Secondary(Event Player) == False;
- Is Meleeing(Event Player) == True;
- }
- actions
- {
- Set Damage Dealt(Event Player, 0);
- Start Heal Over Time(Event Player, Event Player, 9999, 10000);
- }
- }
- disabled rule("Melee")
- {
- event
- {
- Ongoing - Each Player;
- All;
- Mei;
- }
- conditions
- {
Is Firing Secondary(Event Player) == True;
- Is Meleeing(Event Player) == False;
- }
- actions
- {
- Set Damage Dealt(Event Player, 500);
- Stop All Heal Over Time(Event Player);
- }
- }
- disabled rule("Melee")
- {
- event
- {
- Player Took Damage;
- All;
- Mei;
- }
- conditions
- {
- Is Meleeing(Event Player) == True;
- }
- actions
- {
- Set Max Ammo(Event Player, 0, Max Ammo(Event Player, 0) + 10);
- }
- }
- rule("Dummies")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Workshop Setting Toggle(Custom String("Settings"), Custom String("Add Dummy Bot Placeholder"), False, 0) == True;
- }
- actions
- {
- Create Dummy Bot(Hero(Mei), Team 2, -1, Nearest Walkable Position(Vector(0, 0, 0)), Vector(0, 0, 0));
- }
- }
- rule("Snow")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Is Game In Progress == True;
- }
- actions
- {
Modify Global Variable(SnowLocation, Append To Array, Nearest Walkable Position(Vector(Random Real(-150, 150), Random Real(-150,
150), Random Real(-150, 150))));
- Modify Global Variable(SnowLocation, Append To Array, Nearest Walkable Position(Vector(Random Integer(-100, 100), Random Integer(
- -100, 100), Random Integer(-100, 100))));
- Create Effect(All Players(All Teams), Sphere, Color(White), Last Of(Global.SnowLocation), 1, None);
- Modify Global Variable(SnowEffect, Append To Array, Last Created Entity);
- Create Effect(All Players(All Teams), Sparkles, Color(White), Last Of(Global.SnowLocation), 1, None);
- Modify Global Variable(SparkleEffect, Append To Array, Last Created Entity);
- Wait(10, Abort When False);
- Loop If(Is Game In Progress == True);
- }
- }
- rule("Get Snow")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, First Of(Sorted Array(Global.SnowLocation, Distance Between(Event Player, Current Array Element))))
- <= 2;
Is Crouching(Event Player) == True;
- Is Button Held(Event Player, Button(Secondary Fire)) == True;
- Ammo(Event Player, 0) < 10;
- Count Of(Global.SnowLocation) > 0;
- }
- actions
- {
- Small Message(Event Player, Custom String("Collecting Snow"));
Set Move Speed(Event Player, 0);
- Set Status(Event Player, Null, Stunned, 100000000);
- Wait(3, Abort When False);
- Play Effect(All Players(All Teams), Ring Explosion, Color(White), Event Player, 5);
- Play Effect(All Players(All Teams), Ring Explosion Sound, Color(White), Event Player, 100000000);
- Destroy Effect(Global.SnowEffect[Index Of Array Value(Global.SnowLocation, First Of(Sorted Array(Global.SnowLocation,
- Distance Between(Event Player, Current Array Element))))]);
- Destroy Effect(Global.SparkleEffect[Index Of Array Value(Global.SnowLocation, First Of(Sorted Array(Global.SnowLocation,
- Distance Between(Event Player, Current Array Element))))]);
- Clear Status(Event Player, Stunned);
- Wait(0.250, Ignore Condition);
- Modify Global Variable(SnowEffect, Remove From Array By Value, Global.SnowEffect[Index Of Array Value(Global.SnowLocation,
- First Of(Sorted Array(Global.SnowLocation, Distance Between(Event Player, Current Array Element))))]);
- Modify Global Variable(SparkleEffect, Remove From Array By Value, Global.SparkleEffect[Index Of Array Value(Global.SnowLocation,
- First Of(Sorted Array(Global.SnowLocation, Distance Between(Event Player, Current Array Element))))]);
- Modify Global Variable(SnowLocation, Remove From Array By Value, First Of(Sorted Array(Global.SnowLocation, Distance Between(
- Event Player, Current Array Element))));
- Set Ammo(Event Player, 0, 10);
- Set Max Ammo(Event Player, 0, 10);
- }
- }
- rule("Get Snow")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
Is Crouching(Event Player) == False;
- Is Button Held(Event Player, Button(Secondary Fire)) == False;
- }
- actions
- {
Set Move Speed(Event Player, 100);
- Clear Status(Event Player, Stunned);
- Stop Chasing Player Variable(Event Player, Countdown);
- Destroy Progress Bar HUD Text(Event Player.ProgressBar);
- }
- }
- rule("Get Snow - Prompt")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, First Of(Sorted Array(Global.SnowLocation, Distance Between(Event Player, Current Array Element))))
- <= 2;
- Ammo(Event Player, 0) < 10;
- Count Of(Global.SnowLocation) > 0;
- }
- actions
- {
- Small Message(Event Player, Custom String("Press {0} to collect snow", Input Binding String(Button(Secondary Fire))));
- }
- }
rule("Get Snow - Right Click")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Distance Between(Event Player, First Of(Sorted Array(Global.SnowLocation, Distance Between(Event Player, Current Array Element))))
<= 2;
Ammo(Event Player, 0) < 10;
Is Button Held(Event Player, Button(Secondary Fire)) == True;
Count Of(Global.SnowLocation) > 0;
}
actions
{
Disallow Button(Event Player, Button(Secondary Fire));
Start Holding Button(Event Player, Button(Crouch));
Wait(3, Abort When False);
Stop Holding Button(Event Player, Button(Crouch));
Wait(1, Ignore Condition);
Allow Button(Event Player, Button(Secondary Fire));
}
}
rule("Get Snow - Stop Right Click")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Button(Secondary Fire)) == False;
}
actions
{
Stop Holding Button(Event Player, Button(Crouch));
Allow Button(Event Player, Button(Secondary Fire));
}
}
- rule("Countdown")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, First Of(Sorted Array(Global.SnowLocation, Distance Between(Event Player, Current Array Element))))
- <= 2;
Is Crouching(Event Player) == True;
- Is Button Held(Event Player, Button(Secondary Fire)) == True;
- Ammo(Event Player, 0) < 10;
- Count Of(Global.SnowLocation) > 0;
- }
- actions
- {
- Create Progress Bar HUD Text(Event Player, Event Player.Countdown / 3 * 100, Custom String(""), Top, 2, Color(White), Color(White),
- Visible To Values and Color, Default Visibility);
- Event Player.ProgressBar = Last Text ID;
- Event Player.Countdown = 3;
- Chase Player Variable Over Time(Event Player, Countdown, 0, 3, Destination and Duration);
- Disallow Button(Event Player, Button(Secondary Fire));
- Wait(3, Abort When False);
- Destroy Progress Bar HUD Text(Event Player.ProgressBar);
- Wait(1, Ignore Condition);
- Allow Button(Event Player, Button(Secondary Fire));
- }
- }
- rule("Died")
- {
- event
- {
- Player Died;
- All;
- All;
- }
- conditions
- {
- Event Player.Ult == True;
- }
- actions
- {
- Destroy Effect(Event Player.Orb);
- Destroy Effect(Event Player.Sparkles);
- Event Player.Ult = False;
- }
- }
- rule("In between")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Is Between Rounds == True;
- }
- actions
- {
- Destroy All Progress Bar HUD Text;
- Destroy All Effects;
- Global.SnowLocation = Empty Array;
- Global.SnowEffect = Empty Array;
- Global.SparkleEffect = Empty Array;
- }
- }