Return to post
- settings
- {
- main
- {
Description: "Connect Four in Overwatch. By Deadlibor#2872 v1.0."
- Description: "Connect Four in Overwatch. By Deadlibor#2872 v1.1."
- }
- lobby
- {
- Allow Players Who Are In Queue: Yes
- Max Team 2 Players: 0
- }
- modes
- {
- disabled Assault
- {
- Limit Roles: 2 Of Each Role Per Team
- }
- disabled Control
- {
- Limit Roles: 2 Of Each Role Per Team
- }
- disabled Escort
- {
- Limit Roles: 2 Of Each Role Per Team
- }
- disabled Hybrid
- {
- Limit Roles: 2 Of Each Role Per Team
- }
- Skirmish
- {
- Hero Limit: Off
- Respawn Time Scalar: 30%
- enabled maps
- {
Workshop Island Night
- Blizzard World Winter
- }
- }
- }
- heroes
- {
- General
- {
- No Ammunition Requirement: On
- }
- }
- }
- variables
- {
- global:
- 0: row1
- 1: row2
- 2: row3
- 3: row4
- 4: row5
- 5: row6
- 6: turn
- 7: board_position
- 8: iterator
- 9: game_state
- 10: direction_vector
- 11: arrows_row_color
- 12: string_horizontal
- 13: string_vertical
- 14: string_diagonal
- 15: string_other_diagonal
- 16: row
- 17: column
- 18: string_everything
- 19: reset_button
- 20: turn_orb_position
- 21: turn_orb_color
- 22: player_teleport_spots
- 23: rules
- }
- subroutines
- {
- 0: draw_stuff
- 1: check_for_victory
- 2: reset
- 3: victory
- }
- disabled rule("---------- SETUP ----------")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("setup main")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Call Subroutine(reset);
- }
- }
- rule("setup map")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
If(Current Map == Map(Workshop Island) || Current Map == Map(Workshop Island Night));
- If(Current Map == Map(Workshop Island) || Current Map == Map(Workshop Island Night) || Current Map == Map(Workshop Expanse)
- || Current Map == Map(Workshop Expanse Night));
- Global.board_position = Vector(0, 1, 0);
- Global.direction_vector = Vector(0, 0, 1);
Global.reset_button = Vector(0, 0.500, -10);
Global.turn_orb_position = Vector(0, 0.500, 10);
Global.player_teleport_spots = Array(Vector(13, 0, -1), Vector(13, 0, 1));
- Global.reset_button = Vector(0, 0.500, -9);
- Global.turn_orb_position = Vector(0, 0.500, 9);
- Global.player_teleport_spots = Array(Vector(13, 0, -1), Vector(13, 0, 1), Vector(-13, 0, 0));
- Global.rules = Vector(0, 5, 30);
- Else If(Current Map == Map(Workshop Chamber));
- Global.board_position = Vector(0, 1, 0);
- Global.direction_vector = Vector(0, 0, 1);
- Global.reset_button = Vector(0, 0.500, -9);
- Global.turn_orb_position = Vector(0, 0.500, 9);
- Global.player_teleport_spots = Array(Vector(13, 0, -1), Vector(13, 0, 1), Vector(-13, 0, 0));
- Global.rules = Vector(0, 5, 16);
- Else If(Current Map == Map(Watchpoint: Gibraltar));
- Global.board_position = Vector(90, 0, 37);
- Global.direction_vector = Vector(0, 0, 1);
- Global.reset_button = Vector(84, 0, 44);
- Global.turn_orb_position = Vector(85, 0, 32);
- Global.player_teleport_spots = Array(Vector(80, 0, 36), Vector(80, 0, 40), Vector(73, 0, 30.500));
- Global.rules = Vector(73, 2, 50.500);
- Else If(Current Map == Map(Volskaya Industries));
- Global.board_position = Vector(-35, -4, 0);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(-25.800, -4, 4.450);
- Global.turn_orb_position = Vector(-42.170, -4, 4.250);
- Global.player_teleport_spots = Array(Vector(-37, -5, 7), Vector(-37, -5, 7), Vector(-43.500, -3, 23.500));
- Global.rules = Vector(-22, -3, 8);
- Else If(Current Map == Map(Temple of Anubis));
- Global.board_position = Vector(-7.500, 5, 110);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(-14, 5, 111);
- Global.turn_orb_position = Vector(-2, 5, 110);
- Global.player_teleport_spots = Array(Vector(-7, 5, 103), Vector(-10, 5, 103), Vector(-9.500, 5, 96));
- Global.rules = Vector(-29, 9, 114);
- Else If(Current Map == Map(Route 66));
- Global.board_position = Vector(-46, 4, -7);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(-51, 4, -10);
- Global.turn_orb_position = Vector(-40, 4, -9);
- Global.player_teleport_spots = Array(Vector(-45, 4, -20), Vector(-47.500, 4, -20), Vector(-33, 13, -18));
- Global.rules = Vector(-40.500, 3, -32);
- Else If(Current Map == Map(Rialto));
- Global.board_position = Vector(20, 2.500, -68.500);
- Global.direction_vector = Vector(0, 0, 1);
- Global.reset_button = Vector(14, 1, -64);
- Global.turn_orb_position = Vector(14, 1, -73.500);
- Global.player_teleport_spots = Array(Vector(7, 0, -70), Vector(7, 0, -67), Vector(7, 0, -55));
- Global.rules = Vector(20, 3, -55);
- Else If(Current Map == Map(Paris));
- Global.board_position = Vector(-52, 10, -47);
- Global.direction_vector = Vector(0, 0, 1);
- Global.reset_button = Vector(-56, 10, -41);
- Global.turn_orb_position = Vector(-56, 9.500, -52.500);
- Global.player_teleport_spots = Array(Vector(-61, 10, -49), Vector(-61, 10, -45), Vector(7, 0, -55));
- Global.rules = Vector(-70.500, 11, -33.500);
- Else If(Current Map == Map(Oasis));
- Global.board_position = Vector(-220, 20, 0);
- Global.direction_vector = Vector(0, 0, 1);
- Global.reset_button = Vector(-212, 19.500, -8);
- Global.turn_orb_position = Vector(-212, 19.500, 8);
- Global.player_teleport_spots = Array(Vector(-202, 19, 4), Vector(-202, 19, -4), Vector(-211, 18, 12.500));
- Global.rules = Vector(-212, 18, -15);
- Else If(Current Map == Map(Numbani));
- Global.board_position = Vector(123, -6, -25);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(130, -5, -17.500);
- Global.turn_orb_position = Vector(118, -5, -17.500);
- Global.player_teleport_spots = Array(Vector(115.500, -3.500, -11.500), Vector(132.500, -3.500, -11.500), Vector(125, -3, -5));
- Global.rules = Vector(125, 0, 0);
- Else If(Current Map == Map(Nepal));
- Global.board_position = Vector(-90, 12, 0);
- Global.direction_vector = Vector(0, 0, 1);
- Global.reset_button = Vector(-85, 10, -7);
- Global.turn_orb_position = Vector(-85, 10, 7);
- Global.player_teleport_spots = Array(Vector(-75, 8, 4), Vector(-75, 8, -4), Vector(-71, 19, 0));
- Global.rules = Vector(-85, 12, -16.500);
- Else If(Current Map == Map(Lijiang Tower) || Current Map == Map(Lijiang Tower Lunar New Year));
- Global.board_position = Vector(1, 0, -66);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(7, 0, -63.500);
- Global.turn_orb_position = Vector(-5, 0, -63.500);
- Global.player_teleport_spots = Array(Vector(-3, -1, -55), Vector(5, -1, -55), Vector(5.500, -1, -46));
- Global.rules = Vector(20, 0, -68);
- Else If(Current Map == Map(King's Row) || Current Map == Map(King's Row Winter));
- Global.board_position = Vector(-19.333, 1, -35.500);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(-12.500, 0.500, -30.500);
- Global.turn_orb_position = Vector(-27, 0.500, -31.500);
- Global.player_teleport_spots = Array(Vector(-21, 0, -29), Vector(-18, 0, -29), Vector(-9.500, 6, -42));
- Global.rules = Vector(-2.500, 3, -34);
- Else If(Current Map == Map(Junkertown));
- Global.board_position = Vector(40, 11, -40);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(32, 9.500, -52.500);
- Global.turn_orb_position = Vector(43.500, 9.500, -50);
- Global.player_teleport_spots = Array(Vector(40, 9, -53.500), Vector(38, 9, -52.500), Vector(30, 13.500, -60));
- Global.rules = Vector(34, 12, -71);
- Else If(Current Map == Map(Ilios));
- Global.board_position = Vector(28.500, 58, -152);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(22, 58, -155);
- Global.turn_orb_position = Vector(35, 58, -155);
- Global.player_teleport_spots = Array(Vector(30, 58, -160), Vector(28, 58, -160), Vector(22, 60, -168));
- Global.rules = Vector(39, 62, -160);
- Else If(Current Map == Map(Horizon Lunar Colony));
- Global.board_position = Vector(53.550, 10, -83.500);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(49, 9.500, -89);
- Global.turn_orb_position = Vector(60, 9.500, -89);
- Global.player_teleport_spots = Array(Vector(55, 9, -92), Vector(52, 9, -92), Vector(50, 8, -100));
- Global.rules = Vector(69, 10, -83);
- Else If(Current Map == Map(Hollywood) || Current Map == Map(Hollywood Halloween));
- Global.board_position = Vector(-12, 2, 64.500);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(-20, 0.500, 61.500);
- Global.turn_orb_position = Vector(-4, 0.500, 61.500);
- Global.player_teleport_spots = Array(Vector(-10.500, 0, 55), Vector(-13.500, 0, 55), Vector(0, 0, 50));
- Global.rules = Vector(-25.750, 3, 55);
- Else If(Current Map == Map(Havana));
- Global.board_position = Vector(-35.500, 7, -28);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(-42, 8, -32.500);
- Global.turn_orb_position = Vector(-31, 6.500, -31);
- Global.player_teleport_spots = Array(Vector(-34, 6, -38), Vector(-37, 6, -38), Vector(-30, 6, -44));
- Global.rules = Vector(-35.500, 10, -52);
- Else If(Current Map == Map(Hanamura) || Current Map == Map(Hanamura Winter));
- Global.board_position = Vector(6, 1, 1);
- Global.direction_vector = Vector(0, 0, 1);
- Global.reset_button = Vector(13.500, 1.500, -4.500);
- Global.turn_orb_position = Vector(10, 0.500, 7);
- Global.player_teleport_spots = Array(Vector(15, -1, 2.500), Vector(15, -1, -0.500), Vector(14, 4, 10));
- Global.rules = Vector(11, 3, -13.500);
- Else If(Current Map == Map(Eichenwalde) || Current Map == Map(Eichenwalde Halloween));
- Global.board_position = Vector(70, 13, -85.500);
- Global.direction_vector = Vector(0, 0, 1);
- Global.reset_button = Vector(78.500, 13, -92);
- Global.turn_orb_position = Vector(70.500, 14, -77);
- Global.player_teleport_spots = Array(Vector(83, 13, -85), Vector(83, 13, -88), Vector(82, 13, -100));
- Global.rules = Vector(87, 15, -69);
- Else If(Current Map == Map(Dorado));
- Global.board_position = Vector(74, 8.500, -10);
- Global.direction_vector = Vector(0, 0, 1);
- Global.reset_button = Vector(70, 8, -3);
- Global.turn_orb_position = Vector(70, 7.500, -17);
- Global.player_teleport_spots = Array(Vector(66, 7, -11), Vector(66, 7, -8), Vector(55, 7, -19));
- Global.rules = Vector(50, 10, -19);
- Else If(Current Map == Map(Busan));
- Global.board_position = Vector(-328.500, 15, 195);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(-335, 15, 195);
- Global.turn_orb_position = Vector(-321, 15, 195);
- Global.player_teleport_spots = Array(Vector(-326, 14, 184), Vector(-331, 14, 184), Vector(-328.500, 12, 172));
- Global.rules = Vector(-307, 15, 181);
- Else If(Current Map == Map(Blizzard World) || Current Map == Map(Blizzard World Winter));
- Global.board_position = Vector(5, 3, 78);
- Global.direction_vector = Vector(1, 0, 0);
- Global.reset_button = Vector(-4, 3, 78);
- Global.turn_orb_position = Vector(14, 3, 78);
- Global.player_teleport_spots = Array(Vector(6, 2, 69), Vector(3, 2, 69), Vector(-8, 2, 69));
- Global.rules = Vector(15, 4, 73);
- }
- }
- rule("startup")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.game_state == 0;
- }
- actions
- {
- Wait(5, Ignore Condition);
- Start Rule(draw_stuff, Restart Rule);
- Global.game_state = 1;
- }
- }
- rule("player 1 spawns")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Has Spawned(Event Player) == True;
- }
- actions
- {
- Teleport(Event Player, Global.player_teleport_spots[0]);
- Create Icon(All Players(All Teams), Event Player, Moon, Visible To and Position, Color(Sky Blue), False);
- }
- }
- rule("player 2 spawns")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Has Spawned(Event Player) == True;
- }
- actions
- {
- Teleport(Event Player, Global.player_teleport_spots[1]);
- Create Icon(All Players(All Teams), Event Player, Heart, Visible To and Position, Color(Rose), False);
- }
- }
- rule("other players spawn")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- All;
- }
- conditions
- {
- Has Spawned(Event Player) == True;
- }
- actions
- {
- If(Event Player != Players In Slot(0, Team 1) && Event Player != Players In Slot(1, Team 1));
- Teleport(Event Player, Global.player_teleport_spots[2]);
- End;
- }
- }
- rule("draw rules")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create In-World Text(All Players(All Teams), Custom String("connect four by Deadlibor#2872 v1.1."), Global.rules + Up * 6, 2,
- Clip Against Surfaces, Visible To Position and String, Color(Sky Blue), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("visit workshop.codes/c/d7edur for more queue minigames"),
- Global.rules + Up * 5.500, 2, Clip Against Surfaces, Visible To Position and String, Color(Sky Blue), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("rules:"), Global.rules + Up * 4, 1, Clip Against Surfaces,
- Visible To Position and String, Color(Red), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("players in first two slots are playing"), Global.rules + Up * 3.500, 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("players take turn in placing colored discs"), Global.rules + Up * 3, 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("place discs by shooting the arrows above the board"),
- Global.rules + Up * 2.500, 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String(
- "whoever connects four discs horizontaly, verticaly or diagonaly, wins"), Global.rules + Up * 2, 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- }
- }
- disabled rule("---------- PLAYER INPUT ----------")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("player clicks reset")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
Is In View Angle(Event Player, Global.reset_button, 10) == True;
- Is In View Angle(Event Player, Global.reset_button - 0.500 * Up, 10) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.reset_button) < 15;
- }
- actions
- {
- Small Message(All Players(All Teams), Custom String("reseting"));
- Call Subroutine(reset);
- Global.game_state = 1;
- }
- }
- rule("player 1 is not looking at arrow 1")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[0] = Color(Sky Blue);
- }
- }
- rule("player 1 is looking at arrow 1")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[0] = Color(Lime Green);
- }
- }
- rule("player 1 clicks on arrow 1")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[0] == Color(White));
- Global.row1[0] = Color(Sky Blue);
- Global.row = 1;
- Else If(Global.row2[0] == Color(White));
- Global.row2[0] = Color(Sky Blue);
- Global.row = 2;
- Else If(Global.row3[0] == Color(White));
- Global.row3[0] = Color(Sky Blue);
- Global.row = 3;
- Else If(Global.row4[0] == Color(White));
- Global.row4[0] = Color(Sky Blue);
- Global.row = 4;
- Else If(Global.row5[0] == Color(White));
- Global.row5[0] = Color(Sky Blue);
- Global.row = 5;
- Else If(Global.row6[0] == Color(White));
- Global.row6[0] = Color(Sky Blue);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 0;
- Call Subroutine(check_for_victory);
- Global.turn = 2;
- }
- }
- rule("player 1 is not looking at arrow 2")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[1] = Color(Sky Blue);
- }
- }
- rule("player 1 is looking at arrow 2")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[1] = Color(Lime Green);
- }
- }
- rule("player 1 clicks on arrow 2")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[1] == Color(White));
- Global.row1[1] = Color(Sky Blue);
- Global.row = 1;
- Else If(Global.row2[1] == Color(White));
- Global.row2[1] = Color(Sky Blue);
- Global.row = 2;
- Else If(Global.row3[1] == Color(White));
- Global.row3[1] = Color(Sky Blue);
- Global.row = 3;
- Else If(Global.row4[1] == Color(White));
- Global.row4[1] = Color(Sky Blue);
- Global.row = 4;
- Else If(Global.row5[1] == Color(White));
- Global.row5[1] = Color(Sky Blue);
- Global.row = 5;
- Else If(Global.row6[1] == Color(White));
- Global.row6[1] = Color(Sky Blue);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 1;
- Call Subroutine(check_for_victory);
- Global.turn = 2;
- }
- }
- rule("player 1 is not looking at arrow 3")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[2] = Color(Sky Blue);
- }
- }
- rule("player 1 is looking at arrow 3")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[2] = Color(Lime Green);
- }
- }
- rule("player 1 clicks on arrow 3")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[2] == Color(White));
- Global.row1[2] = Color(Sky Blue);
- Global.row = 1;
- Else If(Global.row2[2] == Color(White));
- Global.row2[2] = Color(Sky Blue);
- Global.row = 2;
- Else If(Global.row3[2] == Color(White));
- Global.row3[2] = Color(Sky Blue);
- Global.row = 3;
- Else If(Global.row4[2] == Color(White));
- Global.row4[2] = Color(Sky Blue);
- Global.row = 4;
- Else If(Global.row5[2] == Color(White));
- Global.row5[2] = Color(Sky Blue);
- Global.row = 5;
- Else If(Global.row6[2] == Color(White));
- Global.row6[2] = Color(Sky Blue);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 2;
- Call Subroutine(check_for_victory);
- Global.turn = 2;
- }
- }
- rule("player 1 is not looking at arrow 4")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[3] = Color(Sky Blue);
- }
- }
- rule("player 1 is looking at arrow 4")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[3] = Color(Lime Green);
- }
- }
- rule("player 1 clicks on arrow 4")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[3] == Color(White));
- Global.row1[3] = Color(Sky Blue);
- Global.row = 1;
- Else If(Global.row2[3] == Color(White));
- Global.row2[3] = Color(Sky Blue);
- Global.row = 2;
- Else If(Global.row3[3] == Color(White));
- Global.row3[3] = Color(Sky Blue);
- Global.row = 3;
- Else If(Global.row4[3] == Color(White));
- Global.row4[3] = Color(Sky Blue);
- Global.row = 4;
- Else If(Global.row5[3] == Color(White));
- Global.row5[3] = Color(Sky Blue);
- Global.row = 5;
- Else If(Global.row6[3] == Color(White));
- Global.row6[3] = Color(Sky Blue);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 3;
- Call Subroutine(check_for_victory);
- Global.turn = 2;
- }
- }
- rule("player 1 is not looking at arrow 5")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[4] = Color(Sky Blue);
- }
- }
- rule("player 1 is looking at arrow 5")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[4] = Color(Lime Green);
- }
- }
- rule("player 1 clicks on arrow 5")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[4] == Color(White));
- Global.row1[4] = Color(Sky Blue);
- Global.row = 1;
- Else If(Global.row2[4] == Color(White));
- Global.row2[4] = Color(Sky Blue);
- Global.row = 2;
- Else If(Global.row3[4] == Color(White));
- Global.row3[4] = Color(Sky Blue);
- Global.row = 3;
- Else If(Global.row4[4] == Color(White));
- Global.row4[4] = Color(Sky Blue);
- Global.row = 4;
- Else If(Global.row5[4] == Color(White));
- Global.row5[4] = Color(Sky Blue);
- Global.row = 5;
- Else If(Global.row6[4] == Color(White));
- Global.row6[4] = Color(Sky Blue);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 4;
- Call Subroutine(check_for_victory);
- Global.turn = 2;
- }
- }
- rule("player 1 is not looking at arrow 6")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[5] = Color(Sky Blue);
- }
- }
- rule("player 1 is looking at arrow 6")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[5] = Color(Lime Green);
- }
- }
- rule("player 1 clicks on arrow 6")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[5] == Color(White));
- Global.row1[5] = Color(Sky Blue);
- Global.row = 1;
- Else If(Global.row2[5] == Color(White));
- Global.row2[5] = Color(Sky Blue);
- Global.row = 2;
- Else If(Global.row3[5] == Color(White));
- Global.row3[5] = Color(Sky Blue);
- Global.row = 3;
- Else If(Global.row4[5] == Color(White));
- Global.row4[5] = Color(Sky Blue);
- Global.row = 4;
- Else If(Global.row5[5] == Color(White));
- Global.row5[5] = Color(Sky Blue);
- Global.row = 5;
- Else If(Global.row6[5] == Color(White));
- Global.row6[5] = Color(Sky Blue);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 5;
- Call Subroutine(check_for_victory);
- Global.turn = 2;
- }
- }
- rule("player 1 is not looking at arrow 7")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[6] = Color(Sky Blue);
- }
- }
- rule("player 1 is looking at arrow 7")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[6] = Color(Lime Green);
- }
- }
- rule("player 1 clicks on arrow 7")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 0;
- }
- conditions
- {
- Global.turn == 1;
Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[6] == Color(White));
- Global.row1[6] = Color(Sky Blue);
- Global.row = 1;
- Else If(Global.row2[6] == Color(White));
- Global.row2[6] = Color(Sky Blue);
- Global.row = 2;
- Else If(Global.row3[6] == Color(White));
- Global.row3[6] = Color(Sky Blue);
- Global.row = 3;
- Else If(Global.row4[6] == Color(White));
- Global.row4[6] = Color(Sky Blue);
- Global.row = 4;
- Else If(Global.row5[6] == Color(White));
- Global.row5[6] = Color(Sky Blue);
- Global.row = 5;
- Else If(Global.row6[6] == Color(White));
- Global.row6[6] = Color(Sky Blue);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 6;
- Call Subroutine(check_for_victory);
- Global.turn = 2;
- }
- }
- rule("player 2 is not looking at arrow 1")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[0] = Color(Rose);
- }
- }
- rule("player 2 is looking at arrow 1")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[0] = Color(Lime Green);
- }
- }
- rule("player 2 clicks on arrow 1")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 3 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[0] == Color(White));
- Global.row1[0] = Color(Rose);
- Global.row = 1;
- Else If(Global.row2[0] == Color(White));
- Global.row2[0] = Color(Rose);
- Global.row = 2;
- Else If(Global.row3[0] == Color(White));
- Global.row3[0] = Color(Rose);
- Global.row = 3;
- Else If(Global.row4[0] == Color(White));
- Global.row4[0] = Color(Rose);
- Global.row = 4;
- Else If(Global.row5[0] == Color(White));
- Global.row5[0] = Color(Rose);
- Global.row = 5;
- Else If(Global.row6[0] == Color(White));
- Global.row6[0] = Color(Rose);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 0;
- Call Subroutine(check_for_victory);
- Global.turn = 1;
- }
- }
- rule("player 2 is not looking at arrow 2")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[1] = Color(Rose);
- }
- }
- rule("player 2 is looking at arrow 2")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[1] = Color(Lime Green);
- }
- }
- rule("player 2 clicks on arrow 2")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 2 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[1] == Color(White));
- Global.row1[1] = Color(Rose);
- Global.row = 1;
- Else If(Global.row2[1] == Color(White));
- Global.row2[1] = Color(Rose);
- Global.row = 2;
- Else If(Global.row3[1] == Color(White));
- Global.row3[1] = Color(Rose);
- Global.row = 3;
- Else If(Global.row4[1] == Color(White));
- Global.row4[1] = Color(Rose);
- Global.row = 4;
- Else If(Global.row5[1] == Color(White));
- Global.row5[1] = Color(Rose);
- Global.row = 5;
- Else If(Global.row6[1] == Color(White));
- Global.row6[1] = Color(Rose);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 1;
- Call Subroutine(check_for_victory);
- Global.turn = 1;
- }
- }
- rule("player 2 is not looking at arrow 3")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[2] = Color(Rose);
- }
- }
- rule("player 2 is looking at arrow 3")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[2] = Color(Lime Green);
- }
- }
- rule("player 2 clicks on arrow 3")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 1 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[2] == Color(White));
- Global.row1[2] = Color(Rose);
- Global.row = 1;
- Else If(Global.row2[2] == Color(White));
- Global.row2[2] = Color(Rose);
- Global.row = 2;
- Else If(Global.row3[2] == Color(White));
- Global.row3[2] = Color(Rose);
- Global.row = 3;
- Else If(Global.row4[2] == Color(White));
- Global.row4[2] = Color(Rose);
- Global.row = 4;
- Else If(Global.row5[2] == Color(White));
- Global.row5[2] = Color(Rose);
- Global.row = 5;
- Else If(Global.row6[2] == Color(White));
- Global.row6[2] = Color(Rose);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 2;
- Call Subroutine(check_for_victory);
- Global.turn = 1;
- }
- }
- rule("player 2 is not looking at arrow 4")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[3] = Color(Rose);
- }
- }
- rule("player 2 is looking at arrow 4")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[3] = Color(Lime Green);
- }
- }
- rule("player 2 clicks on arrow 4")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position - 0 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[3] == Color(White));
- Global.row1[3] = Color(Rose);
- Global.row = 1;
- Else If(Global.row2[3] == Color(White));
- Global.row2[3] = Color(Rose);
- Global.row = 2;
- Else If(Global.row3[3] == Color(White));
- Global.row3[3] = Color(Rose);
- Global.row = 3;
- Else If(Global.row4[3] == Color(White));
- Global.row4[3] = Color(Rose);
- Global.row = 4;
- Else If(Global.row5[3] == Color(White));
- Global.row5[3] = Color(Rose);
- Global.row = 5;
- Else If(Global.row6[3] == Color(White));
- Global.row6[3] = Color(Rose);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 3;
- Call Subroutine(check_for_victory);
- Global.turn = 1;
- }
- }
- rule("player 2 is not looking at arrow 5")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[4] = Color(Rose);
- }
- }
- rule("player 2 is looking at arrow 5")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[4] = Color(Lime Green);
- }
- }
- rule("player 2 clicks on arrow 5")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 1 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[4] == Color(White));
- Global.row1[4] = Color(Rose);
- Global.row = 1;
- Else If(Global.row2[4] == Color(White));
- Global.row2[4] = Color(Rose);
- Global.row = 2;
- Else If(Global.row3[4] == Color(White));
- Global.row3[4] = Color(Rose);
- Global.row = 3;
- Else If(Global.row4[4] == Color(White));
- Global.row4[4] = Color(Rose);
- Global.row = 4;
- Else If(Global.row5[4] == Color(White));
- Global.row5[4] = Color(Rose);
- Global.row = 5;
- Else If(Global.row6[4] == Color(White));
- Global.row6[4] = Color(Rose);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 4;
- Call Subroutine(check_for_victory);
- Global.turn = 1;
- }
- }
- rule("player 2 is not looking at arrow 6")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[5] = Color(Rose);
- }
- }
- rule("player 2 is looking at arrow 6")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[5] = Color(Lime Green);
- }
- }
- rule("player 2 clicks on arrow 6")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 2 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[5] == Color(White));
- Global.row1[5] = Color(Rose);
- Global.row = 1;
- Else If(Global.row2[5] == Color(White));
- Global.row2[5] = Color(Rose);
- Global.row = 2;
- Else If(Global.row3[5] == Color(White));
- Global.row3[5] = Color(Rose);
- Global.row = 3;
- Else If(Global.row4[5] == Color(White));
- Global.row4[5] = Color(Rose);
- Global.row = 4;
- Else If(Global.row5[5] == Color(White));
- Global.row5[5] = Color(Rose);
- Global.row = 5;
- Else If(Global.row6[5] == Color(White));
- Global.row6[5] = Color(Rose);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 5;
- Call Subroutine(check_for_victory);
- Global.turn = 1;
- }
- }
- rule("player 2 is not looking at arrow 7")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 6 * Up, 2) == False;
- Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 5.750 * Up, 2) == False;
- }
- actions
- {
- Global.arrows_row_color[6] = Color(Rose);
- }
- }
- rule("player 2 is looking at arrow 7")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 5.750 * Up, 2) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- }
- actions
- {
- Global.arrows_row_color[6] = Color(Lime Green);
- }
- }
- rule("player 2 clicks on arrow 7")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- Slot 1;
- }
- conditions
- {
- Global.turn == 2;
Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 6 * Up, 2) == True;
- Is In View Angle(Event Player, Global.board_position + 3 * Global.direction_vector + 5.750 * Up, 2) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Distance Between(Position Of(Event Player), Global.board_position) < 14;
- Global.game_state == 1;
- }
- actions
- {
- If(Global.row1[6] == Color(White));
- Global.row1[6] = Color(Rose);
- Global.row = 1;
- Else If(Global.row2[6] == Color(White));
- Global.row2[6] = Color(Rose);
- Global.row = 2;
- Else If(Global.row3[6] == Color(White));
- Global.row3[6] = Color(Rose);
- Global.row = 3;
- Else If(Global.row4[6] == Color(White));
- Global.row4[6] = Color(Rose);
- Global.row = 4;
- Else If(Global.row5[6] == Color(White));
- Global.row5[6] = Color(Rose);
- Global.row = 5;
- Else If(Global.row6[6] == Color(White));
- Global.row6[6] = Color(Rose);
- Global.row = 6;
- Else;
- Small Message(Event Player, Custom String("Column is full"));
- Abort;
- End;
- Global.column = 6;
- Call Subroutine(check_for_victory);
- Global.turn = 1;
- }
- }
- disabled rule("---------- SUBROUTINES ----------")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("SUB draw stuff")
- {
- event
- {
- Subroutine;
- draw_stuff;
- }
- actions
- {
- Create Beam Effect(All Players(All Teams), Good Beam, Global.board_position - 3.600 * Global.direction_vector - 0.600 * Up,
- Global.board_position + 3.600 * Global.direction_vector - 0.600 * Up, Color(White), Visible To Position and Radius);
- Create Beam Effect(All Players(All Teams), Good Beam, Global.board_position - 3.600 * Global.direction_vector + 5.600 * Up,
- Global.board_position + 3.600 * Global.direction_vector + 5.600 * Up, Color(White), Visible To Position and Radius);
- Create Beam Effect(All Players(All Teams), Good Beam, Global.board_position - 3.600 * Global.direction_vector - 0.600 * Up,
- Global.board_position - 3.600 * Global.direction_vector + 5.600 * Up, Color(White), Visible To Position and Radius);
- Create Beam Effect(All Players(All Teams), Good Beam, Global.board_position + 3.600 * Global.direction_vector - 0.600 * Up,
- Global.board_position + 3.600 * Global.direction_vector + 5.600 * Up, Color(White), Visible To Position and Radius);
- For Global Variable(iterator, -3, 4, 1);
- Create Effect(All Players(All Teams), Sphere, Global.row1[Evaluate Once(Global.iterator + 3)],
- Global.board_position + Global.iterator * Global.direction_vector, 0.500, Color);
- Create Effect(All Players(All Teams), Sphere, Global.row2[Evaluate Once(Global.iterator + 3)],
- Global.board_position + Global.iterator * Global.direction_vector + 1 * Up, 0.500, Color);
- Create Effect(All Players(All Teams), Sphere, Global.row3[Evaluate Once(Global.iterator + 3)],
- Global.board_position + Global.iterator * Global.direction_vector + 2 * Up, 0.500, Color);
- Create Effect(All Players(All Teams), Sphere, Global.row4[Evaluate Once(Global.iterator + 3)],
- Global.board_position + Global.iterator * Global.direction_vector + 3 * Up, 0.500, Color);
- Create Effect(All Players(All Teams), Sphere, Global.row5[Evaluate Once(Global.iterator + 3)],
- Global.board_position + Global.iterator * Global.direction_vector + 4 * Up, 0.500, Color);
- Create Effect(All Players(All Teams), Sphere, Global.row6[Evaluate Once(Global.iterator + 3)],
- Global.board_position + Global.iterator * Global.direction_vector + 5 * Up, 0.500, Color);
- Create Icon(All Players(All Teams), Global.board_position + Global.iterator * Global.direction_vector + 6 * Up, Arrow: Down, Color,
- Global.arrows_row_color[Evaluate Once(Global.iterator + 3)], False);
- End;
- Create Effect(All Players(All Teams), Orb, Color(Red), Global.reset_button, 1, Visible To Position and Radius);
- Create Effect(All Players(All Teams), Orb, Global.turn_orb_color, Global.turn_orb_position, 1, Color);
Create In-World Text(All Players(All Teams), Custom String("reset"), Global.reset_button, 1, Clip Against Surfaces,
- Create In-World Text(All Players(All Teams), Custom String("shoot me to reset"), Global.reset_button, 1, Clip Against Surfaces,
- Visible To Position and String, Color(Red), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("Player's turn"), Global.turn_orb_position, 1, Clip Against Surfaces,
- Color, Global.turn_orb_color, Default Visibility);
- }
- }
- rule("SUB check for victory")
- {
- event
- {
- Subroutine;
- check_for_victory;
- }
- actions
- {
- If(Global.row == 1);
- Global.string_horizontal = Custom String("{0}{1}{2}", Custom String("{0}{1}{2}", Global.row1[0], Global.row1[1], Global.row1[2]),
- Custom String("{0}{1}{2}", Global.row1[3], Global.row1[4], Global.row1[5]), Global.row1[6]);
- Else If(Global.row == 2);
- Global.string_horizontal = Custom String("{0}{1}{2}", Custom String("{0}{1}{2}", Global.row2[0], Global.row2[1], Global.row2[2]),
- Custom String("{0}{1}{2}", Global.row2[3], Global.row2[4], Global.row2[5]), Global.row2[6]);
- Else If(Global.row == 3);
- Global.string_horizontal = Custom String("{0}{1}{2}", Custom String("{0}{1}{2}", Global.row3[0], Global.row3[1], Global.row3[2]),
- Custom String("{0}{1}{2}", Global.row3[3], Global.row3[4], Global.row3[5]), Global.row3[6]);
- Else If(Global.row == 4);
- Global.string_horizontal = Custom String("{0}{1}{2}", Custom String("{0}{1}{2}", Global.row4[0], Global.row4[1], Global.row4[2]),
- Custom String("{0}{1}{2}", Global.row4[3], Global.row4[4], Global.row4[5]), Global.row4[6]);
- Else If(Global.row == 5);
- Global.string_horizontal = Custom String("{0}{1}{2}", Custom String("{0}{1}{2}", Global.row5[0], Global.row5[1], Global.row5[2]),
- Custom String("{0}{1}{2}", Global.row5[3], Global.row5[4], Global.row5[5]), Global.row5[6]);
- Else If(Global.row == 6);
- Global.string_horizontal = Custom String("{0}{1}{2}", Custom String("{0}{1}{2}", Global.row6[0], Global.row6[1], Global.row6[2]),
- Custom String("{0}{1}{2}", Global.row6[3], Global.row6[4], Global.row6[5]), Global.row6[6]);
- End;
- Global.string_vertical = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.row1[Global.column], Global.row2[Global.column],
- Global.row3[Global.column]), Custom String("{0}{1}{2}", Global.row4[Global.column], Global.row5[Global.column],
- Global.row6[Global.column]));
- Global.string_everything = Array();
- For Global Variable(iterator, 0, Count Of(Global.row1), 1);
- Modify Global Variable(string_everything, Append To Array, Global.row1[Global.iterator]);
- End;
- For Global Variable(iterator, 0, Count Of(Global.row1), 1);
- Modify Global Variable(string_everything, Append To Array, Global.row2[Global.iterator]);
- End;
- For Global Variable(iterator, 0, Count Of(Global.row1), 1);
- Modify Global Variable(string_everything, Append To Array, Global.row3[Global.iterator]);
- End;
- For Global Variable(iterator, 0, Count Of(Global.row1), 1);
- Modify Global Variable(string_everything, Append To Array, Global.row4[Global.iterator]);
- End;
- For Global Variable(iterator, 0, Count Of(Global.row1), 1);
- Modify Global Variable(string_everything, Append To Array, Global.row5[Global.iterator]);
- End;
- For Global Variable(iterator, 0, Count Of(Global.row1), 1);
- Modify Global Variable(string_everything, Append To Array, Global.row6[Global.iterator]);
- End;
- If(Global.row == 1);
- If(Global.column == 0);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[0],
- Global.string_everything[8], Global.string_everything[16]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[32], Global.string_everything[40]));
- Global.string_other_diagonal = Custom String("no");
- Else If(Global.column == 1);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[1],
- Global.string_everything[9], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[25],
- Global.string_everything[33], Global.string_everything[41]));
- Global.string_other_diagonal = Custom String("no");
- Else If(Global.column == 2);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[2],
- Global.string_everything[10], Global.string_everything[18]), Custom String("{0}{1}", Global.string_everything[26],
- Global.string_everything[34]));
- Global.string_other_diagonal = Custom String("no");
- Else If(Global.column == 3);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[3],
- Global.string_everything[11], Global.string_everything[19]), Custom String("{0}", Global.string_everything[27]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[3],
- Global.string_everything[9], Global.string_everything[15]), Custom String("{0}", Global.string_everything[21]));
- Else If(Global.column == 4);
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[4],
- Global.string_everything[10], Global.string_everything[16]), Custom String("{0}{1}", Global.string_everything[22],
- Global.string_everything[28]));
- Global.string_diagonal = Custom String("no");
- Else If(Global.column == 5);
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[5],
- Global.string_everything[11], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[23],
- Global.string_everything[29], Global.string_everything[35]));
- Global.string_diagonal = Custom String("no");
- Else If(Global.column == 6);
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[6],
- Global.string_everything[12], Global.string_everything[18]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[30], Global.string_everything[36]));
- Global.string_diagonal = Custom String("no");
- End;
- Else If(Global.row == 2);
- If(Global.column == 0);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[7],
- Global.string_everything[15], Global.string_everything[23]), Custom String("{0}{1}", Global.string_everything[31],
- Global.string_everything[39]));
- Global.string_other_diagonal = Custom String("no");
- Else If(Global.column == 1);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[0],
- Global.string_everything[8], Global.string_everything[16]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[32], Global.string_everything[40]));
- Global.string_other_diagonal = Custom String("no");
- Else If(Global.column == 2);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[1],
- Global.string_everything[9], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[25],
- Global.string_everything[33], Global.string_everything[41]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[3],
- Global.string_everything[9], Global.string_everything[15]), Custom String("{0}", Global.string_everything[21]));
- Else If(Global.column == 3);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[2],
- Global.string_everything[10], Global.string_everything[18]), Custom String("{0}{1}", Global.string_everything[26],
- Global.string_everything[34]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[4],
- Global.string_everything[10], Global.string_everything[16]), Custom String("{0}{1}", Global.string_everything[22],
- Global.string_everything[28]));
- Else If(Global.column == 4);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[3],
- Global.string_everything[11], Global.string_everything[19]), Custom String("{0}", Global.string_everything[27]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[5],
- Global.string_everything[11], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[23],
- Global.string_everything[29], Global.string_everything[35]));
- Else If(Global.column == 5);
- Global.string_diagonal = Custom String("no");
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[6],
- Global.string_everything[12], Global.string_everything[18]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[30], Global.string_everything[36]));
- Else If(Global.column == 6);
- Global.string_diagonal = Custom String("no");
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[13],
- Global.string_everything[19], Global.string_everything[25]), Custom String("{0}{1}", Global.string_everything[31],
- Global.string_everything[37]));
- End;
- Else If(Global.row == 3);
- If(Global.column == 0);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[14],
- Global.string_everything[22], Global.string_everything[30]), Custom String("{0}", Global.string_everything[38]));
- Global.string_other_diagonal = Custom String("no");
- Else If(Global.column == 1);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[7],
- Global.string_everything[15], Global.string_everything[23]), Custom String("{0}{1}", Global.string_everything[31],
- Global.string_everything[39]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[3],
- Global.string_everything[9], Global.string_everything[15]), Custom String("{0}", Global.string_everything[21]));
- Else If(Global.column == 2);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[0],
- Global.string_everything[8], Global.string_everything[16]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[32], Global.string_everything[40]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[4],
- Global.string_everything[10], Global.string_everything[16]), Custom String("{0}{1}", Global.string_everything[22],
- Global.string_everything[28]));
- Else If(Global.column == 3);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[1],
- Global.string_everything[9], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[25],
- Global.string_everything[33], Global.string_everything[41]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[5],
- Global.string_everything[11], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[23],
- Global.string_everything[29], Global.string_everything[35]));
- Else If(Global.column == 4);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[2],
- Global.string_everything[10], Global.string_everything[18]), Custom String("{0}{1}", Global.string_everything[26],
- Global.string_everything[34]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[6],
- Global.string_everything[12], Global.string_everything[18]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[30], Global.string_everything[36]));
- Else If(Global.column == 5);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[3],
- Global.string_everything[11], Global.string_everything[19]), Custom String("{0}", Global.string_everything[27]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[13],
- Global.string_everything[19], Global.string_everything[25]), Custom String("{0}{1}", Global.string_everything[31],
- Global.string_everything[37]));
- Else If(Global.column == 6);
- Global.string_diagonal = Custom String("no");
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[20],
- Global.string_everything[26], Global.string_everything[32]), Custom String("{0}", Global.string_everything[38]));
- End;
- Else If(Global.row == 4);
- If(Global.column == 0);
- Global.string_diagonal = Custom String("no");
- Global.string_other_diagonal = Custom String("no");
- Else If(Global.column == 1);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[14],
- Global.string_everything[22], Global.string_everything[30]), Custom String("{0}", Global.string_everything[38]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[4],
- Global.string_everything[10], Global.string_everything[16]), Custom String("{0}{1}", Global.string_everything[22],
- Global.string_everything[28]));
- Else If(Global.column == 2);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[7],
- Global.string_everything[15], Global.string_everything[23]), Custom String("{0}{1}", Global.string_everything[31],
- Global.string_everything[39]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[5],
- Global.string_everything[11], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[23],
- Global.string_everything[29], Global.string_everything[35]));
- Else If(Global.column == 3);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[0],
- Global.string_everything[8], Global.string_everything[16]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[32], Global.string_everything[40]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[6],
- Global.string_everything[12], Global.string_everything[18]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[30], Global.string_everything[36]));
- Else If(Global.column == 4);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[1],
- Global.string_everything[9], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[25],
- Global.string_everything[33], Global.string_everything[41]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[13],
- Global.string_everything[19], Global.string_everything[25]), Custom String("{0}{1}", Global.string_everything[31],
- Global.string_everything[37]));
- Else If(Global.column == 5);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[2],
- Global.string_everything[10], Global.string_everything[18]), Custom String("{0}{1}", Global.string_everything[26],
- Global.string_everything[34]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[20],
- Global.string_everything[26], Global.string_everything[32]), Custom String("{0}", Global.string_everything[38]));
- Else If(Global.column == 6);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[3],
- Global.string_everything[11], Global.string_everything[19]), Custom String("{0}", Global.string_everything[27]));
- Global.string_other_diagonal = Custom String("no");
- End;
- Else If(Global.row == 5);
- If(Global.column == 0);
- Global.string_diagonal = Custom String("no");
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[4],
- Global.string_everything[10], Global.string_everything[16]), Custom String("{0}{1}", Global.string_everything[22],
- Global.string_everything[28]));
- Else If(Global.column == 1);
- Global.string_diagonal = Custom String("no");
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[5],
- Global.string_everything[11], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[23],
- Global.string_everything[29], Global.string_everything[35]));
- Else If(Global.column == 2);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[14],
- Global.string_everything[22], Global.string_everything[30]), Custom String("{0}", Global.string_everything[38]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[6],
- Global.string_everything[12], Global.string_everything[18]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[30], Global.string_everything[36]));
- Else If(Global.column == 3);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[7],
- Global.string_everything[15], Global.string_everything[23]), Custom String("{0}{1}", Global.string_everything[31],
- Global.string_everything[39]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[13],
- Global.string_everything[19], Global.string_everything[25]), Custom String("{0}{1}", Global.string_everything[31],
- Global.string_everything[37]));
- Else If(Global.column == 4);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[0],
- Global.string_everything[8], Global.string_everything[16]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[32], Global.string_everything[40]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[20],
- Global.string_everything[26], Global.string_everything[32]), Custom String("{0}", Global.string_everything[38]));
- Else If(Global.column == 5);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[1],
- Global.string_everything[9], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[25],
- Global.string_everything[33], Global.string_everything[41]));
- Global.string_other_diagonal = Custom String("no");
- Else If(Global.column == 6);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[2],
- Global.string_everything[10], Global.string_everything[18]), Custom String("{0}{1}", Global.string_everything[26],
- Global.string_everything[34]));
- Global.string_other_diagonal = Custom String("no");
- End;
- Else If(Global.row == 6);
- If(Global.column == 0);
- Global.string_diagonal = Custom String("no");
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[5],
- Global.string_everything[11], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[23],
- Global.string_everything[29], Global.string_everything[35]));
- Else If(Global.column == 1);
- Global.string_diagonal = Custom String("no");
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[6],
- Global.string_everything[12], Global.string_everything[18]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[30], Global.string_everything[36]));
- Else If(Global.column == 2);
- Global.string_diagonal = Custom String("no");
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[13],
- Global.string_everything[19], Global.string_everything[25]), Custom String("{0}{1}", Global.string_everything[31],
- Global.string_everything[37]));
- Else If(Global.column == 3);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[14],
- Global.string_everything[22], Global.string_everything[30]), Custom String("{0}", Global.string_everything[38]));
- Global.string_other_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[20],
- Global.string_everything[26], Global.string_everything[32]), Custom String("{0}", Global.string_everything[38]));
- Else If(Global.column == 4);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[7],
- Global.string_everything[15], Global.string_everything[23]), Custom String("{0}{1}", Global.string_everything[31],
- Global.string_everything[39]));
- Global.string_other_diagonal = Custom String("no");
- Else If(Global.column == 5);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[0],
- Global.string_everything[8], Global.string_everything[16]), Custom String("{0}{1}{2}", Global.string_everything[24],
- Global.string_everything[32], Global.string_everything[40]));
- Global.string_other_diagonal = Custom String("no");
- Else If(Global.column == 6);
- Global.string_diagonal = Custom String("{0}{1}", Custom String("{0}{1}{2}", Global.string_everything[1],
- Global.string_everything[9], Global.string_everything[17]), Custom String("{0}{1}{2}", Global.string_everything[25],
- Global.string_everything[33], Global.string_everything[41]));
- Global.string_other_diagonal = Custom String("no");
- End;
- End;
- If(String Contains(Global.string_horizontal, Custom String("Sky BlueSky BlueSky BlueSky Blue")) || String Contains(
- Global.string_vertical, Custom String("Sky BlueSky BlueSky BlueSky Blue")) || String Contains(Global.string_diagonal,
- Custom String("Sky BlueSky BlueSky BlueSky Blue")) || String Contains(Global.string_other_diagonal, Custom String(
- "Sky BlueSky BlueSky BlueSky Blue")) || String Contains(Global.string_horizontal, Custom String("RoseRoseRoseRose"))
- || String Contains(Global.string_vertical, Custom String("RoseRoseRoseRose")) || String Contains(Global.string_diagonal,
- Custom String("RoseRoseRoseRose")) || String Contains(Global.string_other_diagonal, Custom String("RoseRoseRoseRose"))
- == True);
- Call Subroutine(victory);
- disabled Small Message(All Players(All Teams), Custom String("doot"));
- Global.game_state = 0;
- End;
- For Global Variable(iterator, 0, 7, 1);
- If(Global.turn == 1);
- Global.arrows_row_color[Global.iterator] = Color(Rose);
- Else If(Global.turn == 2);
- Global.arrows_row_color[Global.iterator] = Color(Sky Blue);
- End;
- End;
- If(Global.turn == 1);
- Global.turn_orb_color = Color(Rose);
- Global.turn = 2;
- Else If(Global.turn == 2);
- Global.turn_orb_color = Color(Rose);
- Global.turn = 1;
- End;
- }
- }
- rule("SUB victory")
- {
- event
- {
- Subroutine;
- victory;
- }
- actions
- {
- Global.game_state = 2;
- If(Global.turn == 1);
- Big Message(All Players(All Teams), Custom String("{0} wins!", Players In Slot(0, Team 1)));
- Play Effect(All Players(All Teams), Good Explosion, Color(Sky Blue), Global.board_position, 10);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Sky Blue), Global.board_position, 10);
- Play Effect(All Players(All Teams), Buff Impact Sound, Color(White), Global.board_position, 50);
- Else If(Global.turn == 2);
- Big Message(All Players(All Teams), Custom String("{0} wins!", Players In Slot(1, Team 1)));
- Play Effect(All Players(All Teams), Good Explosion, Color(Rose), Global.board_position, 10);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Rose), Global.board_position, 10);
- Play Effect(All Players(All Teams), Buff Impact Sound, Color(White), Global.board_position, 50);
- End;
- Wait(5, Ignore Condition);
- }
- }
- rule("SUB reset")
- {
- event
- {
- Subroutine;
- reset;
- }
- actions
- {
- Global.arrows_row_color = Array();
- Modify Global Variable(arrows_row_color, Append To Array, Color(Sky Blue));
- Modify Global Variable(arrows_row_color, Append To Array, Color(Sky Blue));
- Modify Global Variable(arrows_row_color, Append To Array, Color(Sky Blue));
- Modify Global Variable(arrows_row_color, Append To Array, Color(Sky Blue));
- Modify Global Variable(arrows_row_color, Append To Array, Color(Sky Blue));
- Modify Global Variable(arrows_row_color, Append To Array, Color(Sky Blue));
- Modify Global Variable(arrows_row_color, Append To Array, Color(Sky Blue));
- Global.row1 = Array();
- Global.row2 = Array();
- Global.row3 = Array();
- Global.row4 = Array();
- Global.row5 = Array();
- Global.row6 = Array();
- Modify Global Variable(row1, Append To Array, Color(White));
- Modify Global Variable(row1, Append To Array, Color(White));
- Modify Global Variable(row1, Append To Array, Color(White));
- Modify Global Variable(row1, Append To Array, Color(White));
- Modify Global Variable(row1, Append To Array, Color(White));
- Modify Global Variable(row1, Append To Array, Color(White));
- Modify Global Variable(row1, Append To Array, Color(White));
- Modify Global Variable(row2, Append To Array, Color(White));
- Modify Global Variable(row2, Append To Array, Color(White));
- Modify Global Variable(row2, Append To Array, Color(White));
- Modify Global Variable(row2, Append To Array, Color(White));
- Modify Global Variable(row2, Append To Array, Color(White));
- Modify Global Variable(row2, Append To Array, Color(White));
- Modify Global Variable(row2, Append To Array, Color(White));
- Modify Global Variable(row3, Append To Array, Color(White));
- Modify Global Variable(row3, Append To Array, Color(White));
- Modify Global Variable(row3, Append To Array, Color(White));
- Modify Global Variable(row3, Append To Array, Color(White));
- Modify Global Variable(row3, Append To Array, Color(White));
- Modify Global Variable(row3, Append To Array, Color(White));
- Modify Global Variable(row3, Append To Array, Color(White));
- Modify Global Variable(row4, Append To Array, Color(White));
- Modify Global Variable(row4, Append To Array, Color(White));
- Modify Global Variable(row4, Append To Array, Color(White));
- Modify Global Variable(row4, Append To Array, Color(White));
- Modify Global Variable(row4, Append To Array, Color(White));
- Modify Global Variable(row4, Append To Array, Color(White));
- Modify Global Variable(row4, Append To Array, Color(White));
- Modify Global Variable(row5, Append To Array, Color(White));
- Modify Global Variable(row5, Append To Array, Color(White));
- Modify Global Variable(row5, Append To Array, Color(White));
- Modify Global Variable(row5, Append To Array, Color(White));
- Modify Global Variable(row5, Append To Array, Color(White));
- Modify Global Variable(row5, Append To Array, Color(White));
- Modify Global Variable(row5, Append To Array, Color(White));
- Modify Global Variable(row6, Append To Array, Color(White));
- Modify Global Variable(row6, Append To Array, Color(White));
- Modify Global Variable(row6, Append To Array, Color(White));
- Modify Global Variable(row6, Append To Array, Color(White));
- Modify Global Variable(row6, Append To Array, Color(White));
- Modify Global Variable(row6, Append To Array, Color(White));
- Modify Global Variable(row6, Append To Array, Color(White));
- Global.turn = 1;
- Global.game_state = 0;
- Global.turn_orb_color = Color(Sky Blue);
- }
- }
- disabled rule("debug tell position")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Create HUD Text(Event Player, Custom String("pos: {0}", Position Of(Event Player)), Null, Null, Right, 0, Color(White), Color(
- White), Color(White), Visible To and String, Default Visibility);
- }
- }