Return to post
- variables
- {
- player:
- 0: MYBASTION
- 1: MYREIN
- 5: FACINGDIRECTION
- }
- rule("Show help text")
- {
- event
- {
- Player Joined Match;
- All;
- All;
- }
- actions
- {
- Create HUD Text(All Players(All Teams), Null, Null, Null, Top, 0, Color(White), Color(White), Color(White), Visible To and String,
- Default Visibility);
- Create HUD Text(All Players(All Teams), Null, Null, Null, Top, 0, Color(White), Color(White), Color(White), Visible To and String,
- Default Visibility);
- Create HUD Text(All Players(All Teams), Null, Null, Null, Top, 0, Color(White), Color(White), Color(White), Visible To and String,
- Default Visibility);
- Create HUD Text(Event Player, Custom String(
"Your bastion shoots when you hold your shield up. The only way to kill enemy bastions is to pin them."), Null, Null, Top, 5,
Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Wait(8, Ignore Condition);
- "Your bastion shoots when you hold your shield up. The only way to kill enemy bastions is to pin them."), Custom String(
- "https://workshop.codes/0ZWS6"), Null, Top, 5, Color(White), Color(White), Color(White), Visible To and String,
- Default Visibility);
- Wait(10, Ignore Condition);
- Destroy HUD Text(Last Text ID);
- }
- }
- rule("Auto choose rein")
- {
- event
- {
- Player Joined Match;
- All;
- All;
- }
- conditions
- {
- Slot Of(Event Player) < 3;
- }
- actions
- {
- Start Forcing Player To Be Hero(Event Player, Hero(Reinhardt));
- }
- }
- rule("No assemble phase")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Current Game Mode == Is Assembling Heroes;
- }
- actions
- {
- Set Match Time(0);
- }
- }
- rule("Move bastion with player")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Has Spawned(Event Player) == True;
- Is Alive(Event Player) == True;
disabled (Event Player.A != Position Of(Event Player) || Event Player.F != Facing Direction Of(Event Player)) == True;
- disabled (Event Player.MYBASTION != Position Of(Event Player) || Event Player.FACINGDIRECTION != Facing Direction Of(Event Player)) == True;
- Hero Of(Event Player) != Hero(Bastion);
- }
- actions
- {
- disabled Teleport(Players In Slot(Slot Of(Event Player) + 3, Team Of(Event Player)), Position Of(Event Player) + Facing Direction Of(
- Event Player) * 3);
Set Facing(Players In Slot(Slot Of(Event Player) + 3, Team Of(Event Player)), Facing Direction Of(Event Player), To World);
disabled Event Player.A = Position Of(Event Player);
Event Player.F = Facing Direction Of(Event Player);
- Set Facing(Event Player.MYBASTION, Facing Direction Of(Event Player), To World);
- disabled Event Player.MYBASTION = Position Of(Event Player);
- Event Player.FACINGDIRECTION = Facing Direction Of(Event Player);
- Wait(0.025, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("Turret mode bastion")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Alive(Event Player) == True;
- Hero Of(Event Player) == Hero(Bastion);
- Is In Alternate Form(Event Player) == False;
- }
- actions
- {
- Wait(2, Ignore Condition);
Clear Status(Players In Slot(Slot Of(Event Player) - 3, Team Of(Event Player)), Stunned);
- Clear Status(Event Player.MYREIN, Stunned);
- Press Button(Event Player, Button(Ability 1));
- }
- }
- rule("Spawn bastion per player and attach")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
Event Player.B != True;
- Event Player.MYREIN != True;
- disabled Is Button Held(Event Player, Button(Interact)) == True;
- Has Spawned(Event Player) == True;
- Hero Of(Event Player) != Hero(Bastion);
- }
- actions
- {
- Create Dummy Bot(Hero(Bastion), Team Of(Event Player), Slot Of(Event Player) + 3, Event Player, Event Player);
- Set Status(Last Created Entity, Null, Unkillable, 9999);
Event Player.B = True;
- Event Player.MYBASTION = Last Created Entity;
- Last Created Entity.MYREIN = Event Player;
- Start Forcing Dummy Bot Name(Last Created Entity, Custom String("{0}'s best friend", Event Player));
- Attach Players(Last Created Entity, Event Player, Vector(0, 0, 3));
- disabled Start Facing(Last Created Entity, Facing Direction Of(Event Player), 100, To World, None);
- }
- }
- disabled rule("Spawn bastion per player")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
Event Player.B != True;
- Event Player.MYREIN != True;
- disabled Is Button Held(Event Player, Button(Interact)) == True;
- Has Spawned(Event Player) == True;
- Hero Of(Event Player) != Hero(Bastion);
- }
- actions
- {
- Create Dummy Bot(Hero(Bastion), Team Of(Event Player), Slot Of(Event Player) + 3, Event Player, Event Player);
- Set Status(Last Created Entity, Null, Unkillable, 9999);
Event Player.B = True;
- Event Player.MYREIN = True;
- Start Forcing Dummy Bot Name(Last Created Entity, Custom String("{0}'s best friend", Event Player));
- }
- }
- rule("Shield fires gun")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Secondary Fire)) == True;
- Hero Of(Event Player) != Hero(Bastion);
- }
- actions
- {
- disabled Start Holding Button(Players In Slot(Slot Of(Event Player) + 3, All Teams), Button(Primary Fire));
Start Holding Button(Players In Slot(Slot Of(Event Player) + 3, Team Of(Event Player)), Button(Primary Fire));
- Start Holding Button(Event Player.MYBASTION, Button(Primary Fire));
- }
- }
- rule("Shield down stops firing gun")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Secondary Fire)) == False;
- Hero Of(Event Player) != Hero(Bastion);
- }
- actions
- {
Stop Holding Button(Players In Slot(Slot Of(Event Player) + 3, All Teams), Button(Primary Fire));
- Stop Holding Button(Event Player.MYBASTION, Button(Primary Fire));
- }
- }
- rule("Kill bastion with rein pin")
- {
- event
- {
- Player Took Damage;
- All;
- All;
- }
- conditions
- {
- Hero Of(Event Player) == Hero(Bastion);
- Hero Of(Attacker) == Hero(Reinhardt);
- Button(Ability 1) == Event Ability;
- Has Status(Victim, Stunned) == True;
- }
- actions
- {
- Clear Status(Victim, Unkillable);
- Kill(Victim, Attacker);
- Set Status(Victim, Null, Unkillable, 9999);
- }
- }
- rule("Handle bastion death")
- {
- event
- {
- Player Died;
- All;
- All;
- }
- conditions
- {
- Hero Of(Event Player) == Hero(Bastion);
- }
- actions
- {
- Heal(Attacker, Null, Max Health(Event Player));
(Slot Of(Event Player) - 3).B = False;
Set Status(Players In Slot(Slot Of(Event Player) - 3, Team Of(Event Player)), Null, Stunned, 2);
Small Message(Players In Slot(Slot Of(Event Player) - 3, Team Of(Event Player)), Custom String(
"You let your bastion die you sicko."));
- Set Status(Event Player.MYREIN, Null, Stunned, 2);
- Small Message(Event Player.MYREIN, Custom String("You let your bastion die you sicko."));
- Wait(2, Ignore Condition);
- Respawn(Event Player);
- Wait(2, Ignore Condition);
Attach Players(Event Player, Players In Slot(Slot Of(Event Player) - 3, Team Of(Event Player)), Vector(0, 0, 3));
- Attach Players(Event Player, Event Player.MYREIN, Vector(0, 0, 3));
- Destroy HUD Text(Last Text ID);
- Global.A = 0;
- }
- }
- rule("Handle rein death")
- {
- event
- {
- Player Died;
- All;
- All;
- }
- conditions
- {
- Hero Of(Event Player) == Hero(Reinhardt);
- }
- actions
- {
- Wait(0.250, Ignore Condition);
- Respawn(Event Player);
- Communicate(Event Player, Acknowledge);
Attach Players(Players In Slot(Slot Of(Event Player) + 3, Team Of(Event Player)), Event Player, Vector(0, 0, 3));
- Attach Players(Event Player.MYBASTION, Event Player, Vector(0, 0, 3));
- }
- }
- rule("Cleanup dummy bots")
- {
- event
- {
- Player Left Match;
- All;
- All;
- }
- actions
- {
Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player) + 3);
- Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player.MYBASTION));
- }
- }
- disabled rule("Add enemy for debugging")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- Create Dummy Bot(Hero(Reinhardt), Team 2, -1, Vector(0, 0, 0), Vector(0, 0, 0));
- }
- }
- rule("Watch out for bastions going back to sentry")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Hero Of(Event Player) == Hero(Bastion);
- Has Status(Event Player, Knocked Down) == True;
- }
- actions
- {
- Wait(3, Ignore Condition);
- Press Button(Event Player, Button(Ability 1));
- }
- }