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."), 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.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(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);
- Wait(2.025, Ignore Condition);
- disabled 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(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.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.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.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.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(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(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));
- 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, 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(Event Player.MYBASTION, Event Player, Vector(0, 0, 3));
- }
- }
- rule("Cleanup dummy bots")
- {
- event
- {
Player Left Match;
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- disabled Event Player.MYREIN == Null;
- Hero Of(Event Player) == Hero(Bastion);
- Array Contains(All Players(All Teams), Event Player.MYREIN) == False;
- }
- actions
- {
- Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
- }
- }
- 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
- {
Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player.MYBASTION));
- Wait(3, Ignore Condition);
- Press Button(Event Player, Button(Ability 1));
- }
- }
- disabled rule("Add enemy for debugging")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Is Button Held(Event Player, Button(Crouch)) == False;
- }
- actions
- {
Create Dummy Bot(Hero(Reinhardt), Team 2, -1, Vector(0, 0, 0), Vector(0, 0, 0));
- Create Dummy Bot(Hero(Reinhardt), Team 2, -1, Position Of(Event Player), Facing Direction Of(Event Player));
- }
- }
rule("Watch out for bastions going back to sentry")
- disabled rule("Remove enemy for debugging")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
Hero Of(Event Player) == Hero(Bastion);
Has Status(Event Player, Knocked Down) == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Is Button Held(Event Player, Button(Crouch)) == True;
- }
- actions
- {
Wait(3, Ignore Condition);
Press Button(Event Player, Button(Ability 1));
- Destroy Dummy Bot(Team 2, 0);
- }
- }