Create
Return to post

Comparing difference between and

View raw
  • 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);
  • }
  • }
Join the Workshop.codes Discord