Return to post
- variables
- {
- global:
- 0: MAXHP_KAIJU
- 1: MAXHP_CIVILIAN
2: MAXHP_VEHICLE
- 2: MAXHP_MECH
- 3: DAMAGE_KAIJU
- 4: DAMAGE_CIVILIAN
5: DAMAGE_VEHICLE
- 5: DAMAGE_MECH
- 6: MOVESPEED_KAIJU
- 7: MOVESPEED_CIVILIAN
8: MOVESPEED_VEHICLE
- 8: MOVESPEED_MECH
- 9: AIMSPEED_KAIJU
- 10: AIMSPEED_CIVILIAN
11: AIMSPEED_VEHICLE
- 11: AIMSPEED_MECH
- 12: JUMP_KAIJU
- 13: JUMP_CIVILIAN
14: JUMP_VEHICLE
- 14: JUMP_MECH
- 15: GRAVITY_KAIJU
- 16: GRAVITY_CIVILIAN
17: GRAVITY_VEHICLE
- 17: GRAVITY_MECH
- 18: SCALE_KAIJU
- 19: SCALE_CIVILIAN
20: SCALE_VEHICLE
- 20: SCALE_MECH
- 21: VOICE_KAIJU
- 22: VOICE_CIVILIAN
23: VOICE_VEHICLE
- 23: VOICE_MECH
- 24: LIST_KAIJU
- 25: LIST_CIVILIAN
26: LIST_VEHICLE
- 26: LIST_MECH
- 27: TOTAL_KAIJU
- 28: KAIJU_HEALTH_POOL_RESERVE
- 29: CINEMATIC_OPENING
- 30: GAME_STATE
- 31: II
- 32: JJ
- 33: NUMBER_CITY_BLOCKS
- 34: TOTAL_BUILDINGS
- 35: BUILDING_HITS_PER_SECTION
- 36: WIDTH_MAP
- 37: WIDTH_ROADS
- 38: WIDTH_BUILDINGS
- 39: LOCATION_KAIJU_SPAWN
- 40: LOCATION_BUILDINGS
- 41: LOCATION_MONORAIL
- 42: HEALTH_BUILDINGS
- 43: DISTANCE_KAB
- 44: SPREAD_KAB
- 45: BASE_KAB
- 46: DURATION_KAB
- 47: TYPE_POWERUP
- 48: LOCATION_POWERUP
- 49: EFFECT_ROADS
- 50: EFFECT_BUILDING_ONE
- 51: EFFECT_BUILDING_TWO
- 52: EFFECT_BUILDING_THREE
- 53: EFFECT_RUBBLE
- 54: EFFECT_MONORAIL
- 55: EFFECT_POWERUP
- 56: REMAINING_EFFECTS
- 57: LIST_REPLACEMENT_KAIJU
- 58: HP_KAIJU
- player:
- 0: HERO_PLAYER
- 1: SCALE_PLAYER
- 2: VOICE_PLAYER
3: TYPE_VEHICLE
- 3: TYPE_MECH
- 4: CAMERA_THIRD_PERSON
- 5: CLOSEST_BUILDING
- 6: LIST_STOMP
- 7: EFFECT_ATOMIC_BEAM
- 8: II
- 9: HEALTH_POOLS
- 10: COORDINATE_MONORAIL
- 11: HEALTH_PLAYER
- }
- subroutines
- {
- 0: GAME_SETUP
- 1: REMOVE_ALL_EFFECTS
- 2: BUILD_BUILDINGS
- 3: BUILD_ROADS
- 4: BUILD_MONORAIL
- 5: SPAWN_POINTS
- 6: OPENING_CINEMATIC
- 7: RESET_HEALTH_POOLS
- 8: DAMAGE_BUILDING
9: VEHICLE_POWERUP
- 9: MECH_POWERUP
- 10: START_KAIJU_ATOMIC_BEAM
- 11: END_KAIJU_ATOMIC_BEAM
- }
rule("OVERZILLA | V.1.0.0 | CODE: 2FCWZ | MADE BY GECKTENDO#1446")
- rule("OVERZILLA | V.1.1.0 | CODE: SJ68R | MADE BY GECKTENDO#1446")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- disabled Disable Inspector Recording;
- }
- }
- disabled rule("VARIABLE AND LOBBY SETUP")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("DISABLE STANDARD DEATHMATCH SETTINGS")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Set Match Time(0);
- Disable Built-In Game Mode Completion;
- Disable Built-In Game Mode Scoring;
Disable Death Spectate All Players(All Players(All Teams));
- Disable Built-In Game Mode Announcer;
- }
- }
- rule("GLOBAL VARIABLE SETUP")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
"KAIJU MAX HEALTH POOL | DEFAULT 1.000"
Global.MAXHP_KAIJU = 1;
- "KAIJU MAX HEALTH POOL | DEFAULT 10.000"
- Global.MAXHP_KAIJU = 10;
- "CIVILIAN MAX HEALTH POOL | DEFAULT 1.000"
- Global.MAXHP_CIVILIAN = 1;
"VEHICLE MAX HEALTH POOL | DEFAULT 1.000"
Global.MAXHP_VEHICLE = 1;
- "MECH MAX HEALTH POOL | DEFAULT 1.000"
- Global.MAXHP_MECH = 1;
- "KAIJU DAMAGE DEALT | DEFAULT 10000.000"
- Global.DAMAGE_KAIJU = 10000;
- "CIVILIAN DAMAGE DEALT | DEFAULT 100.000"
- Global.DAMAGE_CIVILIAN = 100;
"VEHICLE DAMAGE DEALT | DEFAULT CIVILIAN DAMAGE * 5"
Global.DAMAGE_VEHICLE = Global.DAMAGE_CIVILIAN * 5;
- "MECH DAMAGE DEALT | DEFAULT CIVILIAN DAMAGE * 5"
- Global.DAMAGE_MECH = Global.DAMAGE_CIVILIAN * 3;
- "KAIJU BASE SPEED | DEFAULT 100.000"
- Global.MOVESPEED_KAIJU = 100;
- "CIVILIAN BASE SPEED | DEFAULT 100.000"
- Global.MOVESPEED_CIVILIAN = 100;
"VEHICLE BASE SPEED | DEFAULT 100.000"
Global.MOVESPEED_VEHICLE = 100;
- "MECH BASE SPEED | DEFAULT 100.000"
- Global.MOVESPEED_MECH = 100;
- "KAIJU TURNING SPEED | DEFAULT 10.00"
- Global.AIMSPEED_KAIJU = 10;
- "CIVILIAN TURNING SPEED | DEFAULT 100.00"
- Global.AIMSPEED_CIVILIAN = 100;
"VEHICLE TURNING SPEED | DEFAULT 100.00"
Global.AIMSPEED_VEHICLE = 100;
- "MECH TURNING SPEED | DEFAULT 100.00"
- Global.AIMSPEED_MECH = 100;
- "KAIJU JUMP POWER | DEFAULT 100.00"
- Global.JUMP_KAIJU = 100;
- "CIVILIAN JUMP POWER | DEFAULT 100.00"
- Global.JUMP_CIVILIAN = 100;
"VEHICLE JUMP POWER | DEFAULT 100.00"
Global.JUMP_VEHICLE = 100;
- "MECH JUMP POWER | DEFAULT 100.00"
- Global.JUMP_MECH = 100;
- "KAIJU GRAVITY | DEFAULT 10.000"
Global.GRAVITY_KAIJU = 10;
- Global.GRAVITY_KAIJU = 25;
- "CIVILIAN GRAVITY | DEFAULT 100.000"
- Global.GRAVITY_CIVILIAN = 100;
"VEHICLE GRAVITY | DEFAULT 100.000"
Global.GRAVITY_VEHICLE = 100;
- "MECH GRAVITY | DEFAULT 100.000"
- Global.GRAVITY_MECH = 100;
- "KAIJU PLAYER SCALE | DEFAULT 20.000"
- Global.SCALE_KAIJU = 20;
- "CIVILIAN PLAYER SCALE | DEFAULT 0.250"
- Global.SCALE_CIVILIAN = 0.250;
"VEHICLE SCALE | DEFAULT 2.000"
Global.SCALE_VEHICLE = 2;
- "MECH SCALE | DEFAULT 2.000"
- Global.SCALE_MECH = 2;
- "KAIJU VOICE PITCH | DEFAULT 0.500"
- Global.VOICE_KAIJU = 0.500;
- "CIVILIAN VOICE PITCH | DEFAULT 1.500"
- Global.VOICE_CIVILIAN = 1.500;
"VEHICLE VOICE PITCH | DEFAULT 1.000"
Global.VOICE_VEHICLE = 1;
- "MECH VOICE PITCH | DEFAULT 1.000"
- Global.VOICE_MECH = 1;
- "LIST OF PLAYERS ON TEAM KAIJU | DEFAULT EMPTY ARRAY"
- Global.LIST_KAIJU = Empty Array;
- "LIST OF PLAYERS ON TEAM CIVILIAN | DEFAULT EMPTY ARRAY"
- Global.LIST_CIVILIAN = Empty Array;
"LIST OF CIVILIANS IN VEHICLE | DEFAULT EMPTY ARRAY"
Global.LIST_VEHICLE = Empty Array;
- "LIST OF CIVILIANS IN MECH | DEFAULT EMPTY ARRAY"
- Global.LIST_MECH = Empty Array;
- "TOTAL NUMBER OF KAIJU IN GAME | DEFAULT 2.000"
- Global.TOTAL_KAIJU = 2;
- "COMBINED HEALTH POOL FOR ALL KAIJU | DEFAULT 0.000 (X 10^3)"
- Global.KAIJU_HEALTH_POOL_RESERVE = 0;
- "TOGGLE CINEMATIC OPENING | DEFAULT TRUE"
- Global.CINEMATIC_OPENING = True;
- "GAME STATE SWITCH | [0]: LOBBY [1]: INTRO [2]: GAME"
- Global.GAME_STATE = 0;
- "PRIMARY COUNTER USED FOR LOOPS | DEFAULT 0.000"
- Global.II = 0;
- "SECONDARY COUNTER USED FOR LOOPS | DEFAULT 0.000"
- Global.JJ = 0;
- "NUMBER OF ROWS / COLUMNS IN CITY GRID | DEFAULT 7.000"
- Global.NUMBER_CITY_BLOCKS = 7;
- "TOTAL BUILDINGS IN GAME | DEFAULT PRECALCULATED"
- Global.TOTAL_BUILDINGS = Global.NUMBER_CITY_BLOCKS ^ 2 - 4;
- "NUMBER OF HITS A SECTION OF BUILDING CAN TAKE | DEFAULT TOTAL KAIJU * 2"
- Global.BUILDING_HITS_PER_SECTION = Global.TOTAL_KAIJU * 2;
- "UNIT LENGTH OF EXPANSE MAP | DEFAULT 768.000"
- Global.WIDTH_MAP = 768;
- "ROAD WIDTH | DEFAULT 25.000"
- Global.WIDTH_ROADS = 25;
- "DIAMETER OF BUILDINGS | DEFAULT PRECALCULATED"
- Global.WIDTH_BUILDINGS = (Global.WIDTH_MAP - Global.WIDTH_ROADS * (Global.NUMBER_CITY_BLOCKS - 1)) / Global.NUMBER_CITY_BLOCKS;
- "KAIJU SPAWN COORDINATE ARRAY | DEFAULT EMPTY ARRAY"
- Global.LOCATION_KAIJU_SPAWN = Empty Array;
- "BUILDING COORDINATE ARRAY | DEFAULT EMPTY ARRAY"
- Global.LOCATION_BUILDINGS = Empty Array;
- "MONORAIL STATION COORDINATE ARRAY | DEFAULT EMPTY ARRAY"
- Global.LOCATION_MONORAIL = 5;
- "BUILDING HEALTH ARRAY | DEFAULT EMPTY ARRAY"
- Global.HEALTH_BUILDINGS = Empty Array;
- "RANGE OF KAIJU ATOMIC BEAM | DEFAULT 0.500"
- Global.DISTANCE_KAB = 0.500;
- "ANGLE SPREAD OF KAIJU ATOMIC BEAM | DEFAULT 0.150"
- Global.SPREAD_KAB = 0.150;
- "MINIMUM SIZE OF KAIJU ATOMIC BEAM | DEFAULT 0.000"
- Global.BASE_KAB = 0;
- "DURATION OF KAIJU ATOMIC BEAM | DEFAULT 10.000"
- Global.DURATION_KAB = 10;
- "TYPE OF POWERUP THAT SPAWNED | DEFAULT EMPTY ARRAY"
- Global.TYPE_POWERUP = Empty Array;
- "COORDINATE OF CIVILIAN POWERUP | DEFAULT EMPTY ARRAY"
- Global.LOCATION_POWERUP = Empty Array;
- "ROAD EFFECT ID ARRAY | DEFAULT EMPTY ARRAY"
- Global.EFFECT_ROADS = Empty Array;
- "BUILDING EFFECT ID ARRAY | DEFAULT EMPTY ARRAY"
- Global.EFFECT_BUILDING_ONE = Empty Array;
- "BUILDING EFFECT ID ARRAY | DEFAULT EMPTY ARRAY"
- Global.EFFECT_BUILDING_TWO = Empty Array;
- "BUILDING EFFECT ID ARRAY | DEFAULT EMPTY ARRAY"
- Global.EFFECT_BUILDING_THREE = Empty Array;
- "RUBBLE EFFECT ID ARRAY | DEFAULT EMPTY ARRAY"
- Global.EFFECT_RUBBLE = Empty Array;
- "MONORAIL EFFECT ID ARRAY | DEFAULT EMPTY ARRAY"
- Global.EFFECT_MONORAIL = Empty Array;
- "CIVILIAN POWERUP EFFECT | DEFAULT EMPTY ARRAY"
- Global.EFFECT_POWERUP = Empty Array;
- "NUMBER OF EFFECTS REMAINING FOR PLACING | DEFAULT 128.000"
- Global.REMAINING_EFFECTS = 128;
- "HEALTH TRACKER FOR KAIJU | DEFAULT 0.000"
- Global.HP_KAIJU = Array(0, 0, 0, 0);
- "PLAYER QUEUED UP FOR REPLACEMENT KAIJU | DEFAULT EMPTY ARRAY"
- Global.LIST_REPLACEMENT_KAIJU = Empty Array;
- }
- }
- rule("PLAYER VARIABLE SETUP")
- {
- event
- {
- Player Joined Match;
- All;
- All;
- }
- actions
- {
- "HERO OF EVENT PLAYER | DEFAULT EMPTY ARRAY"
- Event Player.HERO_PLAYER = Empty Array;
- "CURRENT PLAYER SCALE | DEFAULT 1.000"
- Event Player.SCALE_PLAYER = 1;
- "VOICE PITCH OF EVENT PLAYER | DEFAULT 1.000"
- Event Player.VOICE_PLAYER = 1;
"TYPE OF VEHICLE CURRENTLY PILOTED | DEFAULT EMPTY ARRAY"
Event Player.TYPE_VEHICLE = Empty Array;
- "TYPE OF MECH CURRENTLY PILOTED | DEFAULT EMPTY ARRAY"
- Event Player.TYPE_MECH = Empty Array;
- "THIRD PERSON CAMERA TOGGLE | DEFAULT FALSE"
- Event Player.CAMERA_THIRD_PERSON = False;
- "BUILDING CLOSEST TO KAIJU | DEFAULT EMPTY ARRAY"
- Event Player.CLOSEST_BUILDING = Empty Array;
- "LIST OF PLAYERS WITHIN KAIJU GIGA STOMP RANGE | DEFAULT EMPTY ARRAY"
- Event Player.LIST_STOMP = Empty Array;
- "KAIJU ATOMIC BEAM EFFECT ARRAY | DEFAULT EMPTY ARRAY"
- Event Player.EFFECT_ATOMIC_BEAM = Array(Empty Array, Empty Array, Empty Array, Empty Array, Empty Array);
- "PRIMARY COUNTER OF EVENT PLAYER | DEFAULT 0.000"
- Event Player.II = 0;
- "HEALTH POOL OF EVENT PLAYER | DEFAULT EMPTY ARRAY"
- Event Player.HEALTH_POOLS = Empty Array;
- "POSITION OF PLAYER WHEN ON MONORAIL | DEFAULT EMPTY ARRAY"
- Event Player.COORDINATE_MONORAIL = Empty Array;
- "AUTO SCALE PLAYER SIZE"
- Start Scaling Player(Event Player, Event Player.SCALE_PLAYER, True);
- "AUTO SCALE PLAYER VOICE LINE PITCH"
- Start Modifying Hero Voice Lines(Event Player, Event Player.VOICE_PLAYER, True);
"DISABLE RESPAWNING"
Disable Built-In Game Mode Respawning(Event Player);
- "ASSIGN TEAM"
- If(Global.GAME_STATE == 0);
- If(Event Player == Host Player);
- Create Icon(All Players(All Teams), Host Player, Halo, Visible To and Position, Color(White), True);
- End;
- Modify Global Variable(LIST_KAIJU, Append To Array, Event Player);
- Event Player.SCALE_PLAYER = 20;
- Set Move Speed(Event Player, 20 * 100);
- Set Jump Vertical Speed(Event Player, 20 * 100);
- Set Gravity(Event Player, 20 * 100);
- Set Status(Event Player, Null, Phased Out, 9999);
- Else;
- Modify Global Variable(LIST_CIVILIAN, Append To Array, Event Player);
- End;
- Set Projectile Speed(Event Player, 500);
- }
- }
- disabled rule("PREGAME SETUP")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("PREGAME BUILDING LOCATIONS")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 0;
- }
- actions
- {
- Global.LOCATION_BUILDINGS[0] = Vector(0, 0, 0);
- Global.LOCATION_BUILDINGS[1] = Vector(340, 0, -150);
- Global.LOCATION_BUILDINGS[2] = Vector(340, 0, -50);
- Global.LOCATION_BUILDINGS[3] = Vector(340, 0, 50);
- Global.LOCATION_BUILDINGS[4] = Vector(340, 0, 150);
- Global.LOCATION_BUILDINGS[5] = Vector(250, 0, 340);
- Global.LOCATION_BUILDINGS[6] = Vector(150, 0, 340);
- Global.LOCATION_BUILDINGS[7] = Vector(50, 0, 340);
- Global.LOCATION_BUILDINGS[8] = Vector(-50, 0, 340);
- Global.LOCATION_BUILDINGS[9] = Vector(-150, 0, 340);
- Global.LOCATION_BUILDINGS[10] = Vector(-250, 0, 340);
- Global.LOCATION_BUILDINGS[11] = Vector(-340, 0, 250);
- Global.LOCATION_BUILDINGS[12] = Vector(-340, 0, 150);
- Global.LOCATION_BUILDINGS[13] = Vector(-340, 0, 50);
- Global.LOCATION_BUILDINGS[14] = Vector(-340, 0, -50);
- Global.LOCATION_BUILDINGS[15] = Vector(-340, 0, -150);
- Global.LOCATION_BUILDINGS[16] = Vector(-340, 0, -250);
- Global.LOCATION_BUILDINGS[17] = Vector(-50, 0, -340);
- Global.LOCATION_BUILDINGS[18] = Vector(50, 0, -340);
- }
- }
- rule("PREGAME WORLD TEXT & EFFECTS")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 0;
- }
- actions
- {
- Create In-World Text(All Players(All Teams), Custom String("{0}VERZILLA", Icon String(Radioactive)), Vector(0, 100, 0), 4,
Do Not Clip, Visible To, Turquoise, Default Visibility);
Create In-World Text(All Players(All Teams), Custom String("VERSION 1.0.0 | CODE: 2FCWZ | MADE BY - GECKTENDO#1446"), Vector(0, 85,
0), 1.500, Do Not Clip, Visible To, White, Default Visibility);
- Do Not Clip, Visible To, Color(Turquoise), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("VERSION 1.1.0 | CODE: SJ68R | MADE BY - GECKTENDO#1446"), Vector(0, 85,
- 0), 1.500, Do Not Clip, Visible To, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("START GAME"), Global.LOCATION_BUILDINGS[0], 1.500, Do Not Clip,
Visible To, White, Default Visibility);
- Visible To, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("NUMBER OF KAIJU IN GAME"), Vector(340, 30, 0), 2.500, Do Not Clip,
Visible To, Orange, Default Visibility);
- Visible To, Color(Orange), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("ONE"), Global.LOCATION_BUILDINGS[1], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("TWO"), Global.LOCATION_BUILDINGS[2], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("THREE"), Global.LOCATION_BUILDINGS[3], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("FOUR"), Global.LOCATION_BUILDINGS[4], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("KAIJU HEALTH POOL RESERVE"), Vector(0, 30, 340), 2.500, Do Not Clip,
Visible To, Purple, Default Visibility);
- Visible To, Color(Purple), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("1,000,000 HP"), Global.LOCATION_BUILDINGS[5], 1.500, Do Not Clip,
Visible To, White, Default Visibility);
- Visible To, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("800,000 HP"), Global.LOCATION_BUILDINGS[6], 1.500, Do Not Clip,
Visible To, White, Default Visibility);
- Visible To, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("600,000 HP"), Global.LOCATION_BUILDINGS[7], 1.500, Do Not Clip,
Visible To, White, Default Visibility);
- Visible To, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("400,000 HP"), Global.LOCATION_BUILDINGS[8], 1.500, Do Not Clip,
Visible To, White, Default Visibility);
- Visible To, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("200,000 HP"), Global.LOCATION_BUILDINGS[9], 1.500, Do Not Clip,
Visible To, White, Default Visibility);
- Visible To, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("0 HP"), Global.LOCATION_BUILDINGS[10], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("BASE CIVILIAN DAMAGE"), Vector(-340, 30, 0), 2.500, Do Not Clip,
Visible To, Yellow, Default Visibility);
- Visible To, Color(Yellow), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("75%"), Global.LOCATION_BUILDINGS[11], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("100%"), Global.LOCATION_BUILDINGS[12], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("125%"), Global.LOCATION_BUILDINGS[13], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("150%"), Global.LOCATION_BUILDINGS[14], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("175%"), Global.LOCATION_BUILDINGS[15], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("200%"), Global.LOCATION_BUILDINGS[16], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("PLAY OPENING CINEMATIC"), Vector(0, 30, -340), 2.500, Do Not Clip,
Visible To, Blue, Default Visibility);
- Visible To, Color(Blue), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("YES"), Global.LOCATION_BUILDINGS[17], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("NO"), Global.LOCATION_BUILDINGS[18], 1.500, Do Not Clip, Visible To,
White, Default Visibility);
- Color(White), Default Visibility);
- "CREATE PILLAR EFFECTS"
- While(Global.II < Count Of(Global.LOCATION_BUILDINGS));
- If(Global.II == 2 || Global.II == 10 || Global.II == 12 || Global.II == 17);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[Global.II], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[Global.II], 40, Visible To);
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[Global.II], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[Global.II], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[Global.II] = Last Created Entity;
- Global.II += 1;
- Wait(0.016, Ignore Condition);
- End;
- Global.II = 0;
- }
- }
- rule("PREGAME SMALL MESSAGE")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 0;
- }
- actions
- {
- Small Message(All Players(All Teams), Custom String("PLEASE WAIT WHILE HOST CHOOSES GAME SETTINGS"));
Wait(15, Ignore Condition);
- Wait(15, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("HOST: SELECT NUMBER OF KAIJU PLAYERS")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 0;
- Has Spawned(Host Player) == True;
- Distance Between(Position Of(Host Player), Sorted Array(Array Slice(Global.LOCATION_BUILDINGS, 1, 4), Distance Between(Position Of(
- Host Player), Current Array Element))[0]) <= 25;
- }
- actions
- {
- Destroy Effect(Global.EFFECT_BUILDING_ONE[1]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[1]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[1], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[1], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[1], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[1], 40, Visible To);
- Global.TOTAL_KAIJU = 1;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[1], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[1], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[1] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[2]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[2]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[2], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[2], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[2], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[2], 40, Visible To);
- Global.TOTAL_KAIJU = 2;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[2], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[2], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[2] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[3]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[3]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[3], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[3], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[3], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[3], 40, Visible To);
- Global.TOTAL_KAIJU = 3;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[3], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[3], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[3] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[4]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[4]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[4], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[4], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[4], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[4], 40, Visible To);
- Global.TOTAL_KAIJU = 4;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[4], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[4], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[4] = Last Created Entity;
- Global.BUILDING_HITS_PER_SECTION = 2 * Global.TOTAL_KAIJU;
- }
- }
- rule("HOST: SELECT KAIJU HEALTH RESERVE AMOUNT")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 0;
- Has Spawned(Host Player) == True;
- Distance Between(Position Of(Host Player), Sorted Array(Array Slice(Global.LOCATION_BUILDINGS, 5, 6), Distance Between(Position Of(
- Host Player), Current Array Element))[0]) <= 25;
- }
- actions
- {
- Destroy Effect(Global.EFFECT_BUILDING_ONE[5]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[5]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[5], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[5], 40, Visible To);
Global.KAIJU_HEALTH_POOL_RESERVE = 1000;
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[5], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[5], 40, Visible To);
- Global.KAIJU_HEALTH_POOL_RESERVE = 1000000;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[5], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[5], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[5] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[6]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[6]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[6], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[6], 40, Visible To);
Global.KAIJU_HEALTH_POOL_RESERVE = 800;
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[6], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[6], 40, Visible To);
- Global.KAIJU_HEALTH_POOL_RESERVE = 800000;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[6], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[6], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[6] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[7]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[7]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[7], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[7], 40, Visible To);
Global.KAIJU_HEALTH_POOL_RESERVE = 600;
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[7], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[7], 40, Visible To);
- Global.KAIJU_HEALTH_POOL_RESERVE = 600000;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[7], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[7], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[7] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[8]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[8]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[8], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[8], 40, Visible To);
Global.KAIJU_HEALTH_POOL_RESERVE = 400;
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[8], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[8], 40, Visible To);
- Global.KAIJU_HEALTH_POOL_RESERVE = 400000;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[8], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[8], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[8] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[9]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[9]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[9], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[9], 40, Visible To);
Global.KAIJU_HEALTH_POOL_RESERVE = 200;
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[9], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[9], 40, Visible To);
- Global.KAIJU_HEALTH_POOL_RESERVE = 200000;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[9], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[9], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[9] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[10]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[10]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[10], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[10], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[10], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[10], 40, Visible To);
- Global.KAIJU_HEALTH_POOL_RESERVE = 0;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[10], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[10], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[10] = Last Created Entity;
- }
- }
- rule("HOST: SELECT CIVILIAN BASE DAMAGE")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 0;
- Has Spawned(Host Player) == True;
- Distance Between(Position Of(Host Player), Sorted Array(Array Slice(Global.LOCATION_BUILDINGS, 11, 6), Distance Between(
- Position Of(Host Player), Current Array Element))[0]) <= 25;
- }
- actions
- {
- Destroy Effect(Global.EFFECT_BUILDING_ONE[11]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[11]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[11], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[11], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[11], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[11], 40, Visible To);
- Global.DAMAGE_CIVILIAN = 75;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[11], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[11], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[11] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[12]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[12]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[12], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[12], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[12], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[12], 40, Visible To);
- Global.DAMAGE_CIVILIAN = 100;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[12], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[12], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[12] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[13]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[13]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[13], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[13], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[13], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[13], 40, Visible To);
- Global.DAMAGE_CIVILIAN = 125;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[13], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[13], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[13] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[14]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[14]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[14], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[14], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[14], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[14], 40, Visible To);
- Global.DAMAGE_CIVILIAN = 150;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[14], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[14], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[14] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[15]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[15]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[15], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[15], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[15], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[15], 40, Visible To);
- Global.DAMAGE_CIVILIAN = 175;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[15], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[15], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[15] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[16]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[16]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[16], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[16], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[16], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[16], 40, Visible To);
- Global.DAMAGE_CIVILIAN = 200;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[16], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[16], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[16] = Last Created Entity;
- Global.DAMAGE_CIVILIAN = Global.DAMAGE_CIVILIAN * 5;
- }
- }
- rule("HOST: PLAY OPENING CINEMATIC TOGGLE")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 0;
- Has Spawned(Host Player) == True;
- Distance Between(Position Of(Host Player), Sorted Array(Array Slice(Global.LOCATION_BUILDINGS, 17, 2), Distance Between(
- Position Of(Host Player), Current Array Element))[0]) <= 25;
- }
- actions
- {
- Destroy Effect(Global.EFFECT_BUILDING_ONE[17]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[17]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[17], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[17], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[17], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[17], 40, Visible To);
- Global.CINEMATIC_OPENING = True;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[17], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[17], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[17] = Last Created Entity;
- Destroy Effect(Global.EFFECT_BUILDING_ONE[18]);
- If(Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[18]) <= 25);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[18], 100);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[18], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[18], 100);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[18], 40, Visible To);
- Global.CINEMATIC_OPENING = False;
- Else;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[18], 40, Visible To);
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[18], 40, Visible To);
- End;
- Global.EFFECT_BUILDING_ONE[18] = Last Created Entity;
- }
- }
- rule("HOST: START GAME")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 0;
- Has Spawned(Host Player) == True;
- Distance Between(Position Of(Host Player), Global.LOCATION_BUILDINGS[0]) <= 25;
- }
- actions
- {
- Wait(1, Abort When False);
- If(Count Of(All Players(All Teams)) < Global.TOTAL_KAIJU + 1);
Wait(1, Abort When False);
- Big Message(All Players(All Teams), Custom String("TOO FEW PLAYERS TO BEGIN MATCH"));
- Wait(4, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("LOWER THE NUMBER OF KAIJU PLAYERS OR WAIT FOR MORE PLAYERS TO JOIN"));
- Wait(4, Ignore Condition);
- Else;
Wait(1, Abort When False);
- Small Message(All Players(All Teams), Custom String("GAME STARTING IN: 5"));
- Destroy Effect(Global.EFFECT_BUILDING_ONE[0]);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Global.LOCATION_BUILDINGS[0], 500);
Create Effect(All Players(All Teams), Light Shaft, Yellow, Global.LOCATION_BUILDINGS[0], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Yellow), Global.LOCATION_BUILDINGS[0], 500);
- Create Effect(All Players(All Teams), Light Shaft, Color(Yellow), Global.LOCATION_BUILDINGS[0], 40, Visible To);
- Global.EFFECT_BUILDING_ONE[0] = Last Created Entity;
- Wait(1, Ignore Condition);
- Small Message(All Players(All Teams), Custom String("GAME STARTING IN: 4"));
- Destroy Effect(Global.EFFECT_BUILDING_ONE[0]);
Play Effect(All Players(All Teams), Ring Explosion, Lime Green, Global.LOCATION_BUILDINGS[0], 500);
Create Effect(All Players(All Teams), Light Shaft, Lime Green, Global.LOCATION_BUILDINGS[0], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Lime Green), Global.LOCATION_BUILDINGS[0], 500);
- Create Effect(All Players(All Teams), Light Shaft, Color(Lime Green), Global.LOCATION_BUILDINGS[0], 40, Visible To);
- Global.EFFECT_BUILDING_ONE[0] = Last Created Entity;
- Wait(1, Ignore Condition);
- Small Message(All Players(All Teams), Custom String("GAME STARTING IN: 3"));
- Destroy Effect(Global.EFFECT_BUILDING_ONE[0]);
Play Effect(All Players(All Teams), Ring Explosion, Green, Global.LOCATION_BUILDINGS[0], 500);
Create Effect(All Players(All Teams), Light Shaft, Green, Global.LOCATION_BUILDINGS[0], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Green), Global.LOCATION_BUILDINGS[0], 500);
- Create Effect(All Players(All Teams), Light Shaft, Color(Green), Global.LOCATION_BUILDINGS[0], 40, Visible To);
- Global.EFFECT_BUILDING_ONE[0] = Last Created Entity;
- Wait(1, Ignore Condition);
- Small Message(All Players(All Teams), Custom String("GAME STARTING IN: 2"));
- Destroy Effect(Global.EFFECT_BUILDING_ONE[0]);
Play Effect(All Players(All Teams), Ring Explosion, Turquoise, Global.LOCATION_BUILDINGS[0], 500);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[0], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Turquoise), Global.LOCATION_BUILDINGS[0], 500);
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[0], 40, Visible To);
- Global.EFFECT_BUILDING_ONE[0] = Last Created Entity;
- Wait(1, Ignore Condition);
- Small Message(All Players(All Teams), Custom String("GAME STARTING IN: 1"));
- Destroy Effect(Global.EFFECT_BUILDING_ONE[0]);
Play Effect(All Players(All Teams), Ring Explosion, Aqua, Global.LOCATION_BUILDINGS[0], 500);
Create Effect(All Players(All Teams), Light Shaft, Aqua, Global.LOCATION_BUILDINGS[0], 40, Visible To);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Aqua), Global.LOCATION_BUILDINGS[0], 500);
- Create Effect(All Players(All Teams), Light Shaft, Color(Aqua), Global.LOCATION_BUILDINGS[0], 40, Visible To);
- Global.EFFECT_BUILDING_ONE[0] = Last Created Entity;
- Wait(1, Ignore Condition);
- Clear Status(All Players(All Teams), Phased Out);
- Enable Built-In Game Mode Announcer;
- Call Subroutine(GAME_SETUP);
- End;
- }
- }
- disabled rule("KAIJU RULES")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("KAIJU SETUP")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE != 0;
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
- }
- actions
- {
- Stop Camera(Event Player);
- Stop Chasing Player Variable(Event Player, COORDINATE_MONORAIL);
- Stop Forcing Player Position(Event Player);
- "FORCE A CHARACTER SELECT SCREEN"
Set Player Allowed Heroes(Event Player, Empty Array);
- disabled Set Player Allowed Heroes(Event Player, Empty Array);
- disabled Wait(0.016, Ignore Condition);
- Set Player Allowed Heroes(Event Player, Array(Hero(Bastion), Hero(Brigitte), Hero(D.Va), Hero(Doomfist), Hero(Orisa), Hero(
- Reinhardt), Hero(Roadhog), Hero(Sigma), Hero(Winston), Hero(Wrecking Ball), Hero(Zarya)));
While(Hero Of(Event Player) == Empty Array);
Wait(1, Ignore Condition);
End;
Stop Camera(Event Player);
- Set Max Health(Event Player, Global.MAXHP_KAIJU);
- Call Subroutine(RESET_HEALTH_POOLS);
- Set Damage Dealt(Event Player, Global.DAMAGE_KAIJU);
- Set Move Speed(Event Player, Global.MOVESPEED_KAIJU);
- Set Jump Vertical Speed(Event Player, Global.JUMP_KAIJU);
- Set Aim Speed(Event Player, Global.AIMSPEED_KAIJU);
- Set Gravity(Event Player, Global.GRAVITY_KAIJU);
- Event Player.SCALE_PLAYER = Global.SCALE_KAIJU;
- Event Player.VOICE_PLAYER = Global.VOICE_KAIJU;
Call Subroutine(RESET_HEALTH_POOLS);
If(Hero Of(Event Player) == Hero(Brigitte) || Hero Of(Event Player) == Hero(Reinhardt));
Set Primary Fire Enabled(Event Player, True);
- Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Color(Orange), Default);
- Set Ultimate Charge(Event Player, 0);
- If(Global.KAIJU_HEALTH_POOL_RESERVE < 100);
- Set Player Health(Event Player, Global.KAIJU_HEALTH_POOL_RESERVE * 1000);
- Wait(0.016, Ignore Condition);
- Global.KAIJU_HEALTH_POOL_RESERVE = 0;
- Else;
Set Primary Fire Enabled(Event Player, False);
- Global.KAIJU_HEALTH_POOL_RESERVE -= 100;
- End;
Set Secondary Fire Enabled(Event Player, False);
Set Ability 1 Enabled(Event Player, False);
Set Ability 2 Enabled(Event Player, False);
Disallow Button(Event Player, Ultimate);
Set Melee Enabled(Event Player, True);
Set Reload Enabled(Event Player, False);
Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Orange);
Set Ultimate Charge(Event Player, 0);
- }
- }
rule("KAIJU KILLS CIVILIANS AND VEHICLES THAT ARE TOO CLOSE")
- rule("KAIJU KILLS CIVILIANS AND MECHS THAT ARE TOO CLOSE")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_KAIJU, Event Player) == False;
Distance Between(Position Of(Event Player) * Vector(1, 0, 1), Position Of(Sorted Array(Global.LIST_KAIJU, Distance Between(
Position Of(Event Player), Position Of(Current Array Element)))[0]) * Vector(1, 0, 1)) <= 20;
Y Component Of(Position Of(Event Player)) <= Y Component Of(Position Of(Sorted Array(Global.LIST_KAIJU, Distance Between(
Position Of(Event Player), Position Of(Current Array Element)))[0]) + Vector(0, Global.SCALE_KAIJU * 2.500, 0));
Y Component Of(Position Of(Event Player)) >= Y Component Of(Position Of(Sorted Array(Global.LIST_KAIJU, Distance Between(
Position Of(Event Player), Position Of(Current Array Element)))[0]) + Vector(0, 0, 0));
- Distance Between(Position Of(Event Player) * Vector(1, 0, 1), Position Of(Sorted Array(Filtered Array(Global.LIST_KAIJU, Is Alive(
- Current Array Element)), Distance Between(Position Of(Event Player), Position Of(Current Array Element)))[0]) * Vector(1, 0,
- 1)) <= 20;
- Y Component Of(Position Of(Event Player)) <= Y Component Of(Position Of(Sorted Array(Filtered Array(Global.LIST_KAIJU, Is Alive(
- Current Array Element)), Distance Between(Position Of(Event Player), Position Of(Current Array Element)))[0]) + Vector(0,
- Global.SCALE_KAIJU * 2.500, 0));
- Y Component Of(Position Of(Event Player)) >= Y Component Of(Position Of(Sorted Array(Filtered Array(Global.LIST_KAIJU, Is Alive(
- Current Array Element)), Distance Between(Position Of(Event Player), Position Of(Current Array Element)))[0]) + Vector(0, 0,
- 0));
- Has Status(Event Player, Stunned) == False;
- }
- actions
- {
- Clear Status(Event Player, Phased Out);
- Kill(Event Player, Sorted Array(Global.LIST_KAIJU, Distance Between(Position Of(Event Player), Position Of(Current Array Element)))
- [0]);
- Set Status(Event Player, Null, Phased Out, 9999);
- }
- }
- rule("GIGA SHOCKWAVE")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
Is In Air(Event Player) == True;
- Is On Ground(Event Player) == True;
- }
- actions
- {
Set Move Speed(Event Player, Global.MOVESPEED_KAIJU * 1.250);
While(Is In Air(Event Player));
Wait(0.100, Ignore Condition);
End;
"TO HELP DISINCENTIVISE CONSTANT JUMPING..."
Damage(Event Player, Null, 100);
Set Move Speed(Event Player, Global.MOVESPEED_KAIJU);
Play Effect(All Players(All Teams), Ring Explosion, White, Position Of(Event Player), 110);
Play Effect(All Players(All Teams), Explosion Sound, White, Position Of(Event Player), 500);
- Play Effect(All Players(All Teams), Ring Explosion, Color(White), Position Of(Event Player), 110);
- Play Effect(All Players(All Teams), Explosion Sound, Color(White), Position Of(Event Player), 500);
- Event Player.LIST_STOMP = Filtered Array(Global.LIST_CIVILIAN, Distance Between(Position Of(Event Player), Position Of(
- Current Array Element)) <= 50);
- Set Status(Event Player.LIST_STOMP, Event Player, Knocked Down, 5);
- }
- }
rule("KAIJU CHECK FOR CLOSEST BUILDING")
- rule("KAIJU REFRESH PLAYER STATS")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
Count Of(Global.LOCATION_BUILDINGS) > 0;
- }
- actions
- {
- Event Player.HEALTH_PLAYER = Health(Event Player);
- Event Player.CLOSEST_BUILDING = Index Of Array Value(Global.LOCATION_BUILDINGS, Sorted Array(Global.LOCATION_BUILDINGS,
- Distance Between(Position Of(Event Player), Current Array Element))[0]);
- Wait(0.100, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("PREVENT KAIJU FROM CLIPPING INTO BUILDINGS")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
- Distance Between(Position Of(Event Player) * Vector(1, 0, 1), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING] * Vector(1,
- 0, 1)) <= Global.WIDTH_BUILDINGS / 2 + Event Player.SCALE_PLAYER / 2;
- Count Of(Global.LOCATION_BUILDINGS) > 0;
- }
- actions
- {
- Wait(0.016, Abort When False);
- Teleport(Event Player, Position Of(Event Player) + Normalize(Vector Towards(
- Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING], Position Of(Event Player))) * Vector(0.500, 0, 0.500));
- Loop If Condition Is True;
- }
- }
- rule("MELEE DAMAGES BUILDINGS")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
- (Is Meleeing(Event Player) || ((Hero Of(Event Player) == Hero(Brigitte) || Hero Of(Event Player) == Hero(Reinhardt))
- && Is Firing Primary(Event Player))) == True;
- Distance Between(Position Of(Event Player), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING])
- <= Global.WIDTH_BUILDINGS / 2 + Event Player.SCALE_PLAYER;
- Filtered Array(Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING] + Vector(0, 30, 0), Distance Between(Vector(0, 0, 0),
- Current Array Element - (Eye Position(Event Player) + Absolute Value(Dot Product(Current Array Element - Eye Position(
- Event Player), Facing Direction Of(Event Player))) * Facing Direction Of(Event Player)))
- <= Global.WIDTH_BUILDINGS / 2 && Is In Line of Sight(Eye Position(Event Player) + Absolute Value(Dot Product(
- Current Array Element - Eye Position(Event Player), Facing Direction Of(Event Player))) * Facing Direction Of(Event Player),
- Eye Position(Event Player), Barriers Do Not Block LOS) == True && Distance Between(Eye Position(Event Player) + Absolute Value(
- Dot Product(Current Array Element - Eye Position(Event Player), Facing Direction Of(Event Player))) * Facing Direction Of(
- Event Player), Eye Position(Event Player)) <= 100) != Empty Array;
- }
- actions
- {
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] -= 1;
- Set Ultimate Charge(Event Player, Ultimate Charge Percent(Event Player) + 2);
Play Effect(All Players(All Teams), Bad Explosion, Orange, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING] + Vector(0, 25,
0), Global.WIDTH_BUILDINGS / 1.500);
Play Effect(All Players(All Teams), Explosion Sound, White, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING] + Vector(0,
25, 0), 500);
- Play Effect(All Players(All Teams), Bad Explosion, Color(Orange),
- Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING] + Vector(0, 25, 0), Global.WIDTH_BUILDINGS / 1.500);
- Play Effect(All Players(All Teams), Explosion Sound, Color(White),
- Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING] + Vector(0, 25, 0), 500);
- Call Subroutine(DAMAGE_BUILDING);
- Wait(1, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("KAIJU JUMPS OFF ISLAND")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
- Y Component Of(Position Of(Event Player)) < -25;
- }
- actions
- {
- If(Global.GAME_STATE == 2);
- Small Message(All Players(All Teams), Custom String("{0}ZILLA JUMPED OFF THE ISLAND AND RETURNED TO SPAWN", Hero Of(
- Event Player)));
Damage(Event Player, Null, 900);
Else;
Small Message(Event Player, Custom String("LOOKS LIKE {0} WANTED TO GO FOR A SWIM...", Event Player));
- Damage(Event Player, Null, 10000);
- End;
- Call Subroutine(SPAWN_POINTS);
- }
- }
- rule("KAIJU ATOMIC BEAM")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
- Is Alive(Event Player) == True;
- Ultimate Charge Percent(Event Player) == 100;
Is Button Held(Event Player, Ultimate) == True;
- Is Button Held(Event Player, Button(Ultimate)) == True;
- Has Status(Event Player, Knocked Down) == False;
- }
- actions
- {
- Set Ultimate Charge(Event Player, 0);
- Call Subroutine(START_KAIJU_ATOMIC_BEAM);
- While(Event Player.II < Global.DURATION_KAB && Is Alive(Event Player));
- Wait(0.100, Ignore Condition);
- Event Player.II += 0.100;
- End;
- Event Player.II = 0;
- Call Subroutine(END_KAIJU_ATOMIC_BEAM);
- }
- }
rule("KILL CIVILIANS AND VEHICLES INSIDE ATOMIC BEAM RANGE")
- rule("KILL CIVILIANS AND MECHS INSIDE ATOMIC BEAM RANGE")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
- Event Player.EFFECT_ATOMIC_BEAM != Array(Empty Array, Empty Array, Empty Array, Empty Array, Empty Array);
- }
- actions
- {
- While(Event Player.EFFECT_ATOMIC_BEAM != Empty Array);
- If(Event Player.EFFECT_ATOMIC_BEAM[0] != Empty Array);
- Clear Status(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.200 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.200 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Phased Out);
- Kill(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.200 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.200 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Event Player);
- Set Status(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.200 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.200 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Null, Phased Out, 9999);
- End;
- If(Event Player.EFFECT_ATOMIC_BEAM[1] != Empty Array);
- Clear Status(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.400 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.400 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Phased Out);
- Kill(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.400 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.400 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Event Player);
- Set Status(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.400 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.400 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Null, Phased Out, 9999);
- End;
- If(Event Player.EFFECT_ATOMIC_BEAM[2] != Empty Array);
- Clear Status(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.600 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.600 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Phased Out);
- Kill(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.600 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.600 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Event Player);
- Set Status(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.600 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.600 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Null, Phased Out, 9999);
- End;
- If(Event Player.EFFECT_ATOMIC_BEAM[3] != Empty Array);
- Clear Status(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.800 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.800 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Phased Out);
- Kill(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.800 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.800 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Event Player);
- Set Status(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 0.800 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 0.800 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Null, Phased Out, 9999);
- End;
- If(Event Player.EFFECT_ATOMIC_BEAM[4] != Empty Array);
- Clear Status(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 1 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 1 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Phased Out);
- Kill(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 1 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 1 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Event Player);
- Set Status(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(Ray Cast Hit Position(
- Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player)
- * 10 ^ 1 * Global.SCALE_KAIJU * Global.DISTANCE_KAB, Null, Null, False), Position Of(Current Array Element))
- <= 10 ^ 1 * Global.SCALE_KAIJU * Global.SPREAD_KAB + Global.BASE_KAB), Null, Phased Out, 9999);
- End;
- Wait(0.100, Ignore Condition);
- End;
- }
- }
- rule("KILL KAIJU DEMECHED D.VA")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
- Is In Alternate Form(Event Player) == True;
- Hero Of(Event Player) == Hero(D.Va);
- }
- actions
- {
- Kill(Event Player, Null);
- }
- }
rule("REPLACE KAIJU IF ONE LEAVES MATCH")
- rule("REPLACE KAIJU IF ONE LEAVES MATCH*")
- {
- event
- {
- Player Left Match;
- All;
- All;
- }
- conditions
- {
Count Of(Global.LIST_KAIJU) < Global.TOTAL_KAIJU;
- Global.GAME_STATE != 0;
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
- }
- actions
- {
- "RETURN LEAVER KAIJU HEALTH TO THE HEALTH POOL"
- Global.KAIJU_HEALTH_POOL_RESERVE += Event Player.HEALTH_PLAYER / 1000;
- Modify Global Variable(LIST_KAIJU, Remove From Array By Value, Event Player);
- Global.LIST_REPLACEMENT_KAIJU = Random Value In Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU));
- Modify Global Variable(LIST_CIVILIAN, Remove From Array By Value, Global.LIST_REPLACEMENT_KAIJU);
Modify Global Variable(LIST_VEHICLE, Remove From Array By Value, Global.LIST_REPLACEMENT_KAIJU);
- Modify Global Variable(LIST_MECH, Remove From Array By Value, Global.LIST_REPLACEMENT_KAIJU);
- Modify Global Variable(LIST_KAIJU, Append To Array, Global.LIST_REPLACEMENT_KAIJU);
Wait(1, Ignore Condition);
Loop If Condition Is True;
- }
- }
rule("KAIJU WIN CONDITION")
- rule("KAIJU WIN CONDITION*")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Count Of(Global.LOCATION_BUILDINGS) == 0;
- (Filtered Array(Global.LIST_KAIJU, Is Dead(Current Array Element)) == Global.LIST_KAIJU) == False;
- }
- actions
- {
- Enable Built-In Game Mode Announcer;
- Declare Player Victory(Global.LIST_KAIJU);
- }
- }
- disabled rule("CIVILIAN RULES")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("CIVILIAN SETUP")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE != 0;
- Array Contains(Global.LIST_CIVILIAN, Event Player) == True;
- }
- actions
- {
- Stop Camera(Event Player);
- Stop Chasing Player Variable(Event Player, COORDINATE_MONORAIL);
- Stop Forcing Player Position(Event Player);
- "FORCE A CHARACTER SELECT SCREEN"
Set Player Allowed Heroes(Event Player, Empty Array);
- disabled Set Player Allowed Heroes(Event Player, Empty Array);
- disabled Wait(0.016, Ignore Condition);
- Set Player Allowed Heroes(Event Player, Array(Hero(Ana), Hero(Ashe), Hero(Baptiste), Hero(Echo), Hero(Genji), Hero(Hanzo), Hero(
- Junkrat), Hero(Lúcio), Hero(McCree), Hero(Mei), Hero(Mercy), Hero(Moira), Hero(Pharah), Hero(Reaper), Hero(Soldier: 76), Hero(
- Sombra), Hero(Symmetra), Hero(Torbjörn), Hero(Tracer), Hero(Widowmaker), Hero(Zenyatta)));
Stop Camera(Event Player);
Event Player.SCALE_PLAYER = Global.SCALE_CIVILIAN;
Event Player.VOICE_PLAYER = Global.VOICE_CIVILIAN;
Set Move Speed(Event Player, Global.MOVESPEED_CIVILIAN);
- Set Max Health(Event Player, Global.MAXHP_CIVILIAN);
- Call Subroutine(RESET_HEALTH_POOLS);
- Set Damage Dealt(Event Player, Global.DAMAGE_CIVILIAN);
Set Gravity(Event Player, Global.GRAVITY_CIVILIAN);
- Set Move Speed(Event Player, Global.MOVESPEED_CIVILIAN);
- Set Jump Vertical Speed(Event Player, Global.JUMP_CIVILIAN);
- Set Aim Speed(Event Player, Global.AIMSPEED_CIVILIAN);
Set Max Health(Event Player, Global.MAXHP_CIVILIAN);
Call Subroutine(RESET_HEALTH_POOLS);
Set Primary Fire Enabled(Event Player, True);
Set Secondary Fire Enabled(Event Player, True);
Set Ability 1 Enabled(Event Player, True);
Set Ability 2 Enabled(Event Player, True);
Disallow Button(Event Player, Ultimate);
Set Melee Enabled(Event Player, True);
Set Reload Enabled(Event Player, True);
Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Blue);
- Set Gravity(Event Player, Global.GRAVITY_CIVILIAN);
- Event Player.SCALE_PLAYER = Global.SCALE_CIVILIAN;
- Event Player.VOICE_PLAYER = Global.VOICE_CIVILIAN;
- Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Color(Blue), Default);
- Set Ultimate Charge(Event Player, 0);
- }
- }
- rule("CIVILIANS GET ON MONORAIL")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_CIVILIAN, Event Player) == True;
Is Button Held(Event Player, Interact) == True;
Sorted Array(Global.LOCATION_MONORAIL, Distance Between(Position Of(Event Player), Current Array Element))[0] < 10;
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Sorted Array(Global.LOCATION_MONORAIL, Distance Between(Position Of(Event Player), Current Array Element))[0],
- Position Of(Event Player)) < 10;
- Event Player.COORDINATE_MONORAIL == Empty Array;
- }
- actions
- {
- Event Player.COORDINATE_MONORAIL = Sorted Array(Global.LOCATION_MONORAIL, Distance Between(Position Of(Event Player),
- Current Array Element))[0];
- Start Forcing Player Position(Event Player, Event Player.COORDINATE_MONORAIL, True);
- }
- }
- rule("RIDING ON MONORAIL")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_CIVILIAN, Event Player) == True;
- Event Player.COORDINATE_MONORAIL != Empty Array;
- Distance Between(Position Of(Event Player), First Of(Sorted Array(Global.LOCATION_MONORAIL, Distance Between(Position Of(
- Event Player), Current Array Element)))) <= 0.001;
- }
- actions
- {
- Chase Player Variable At Rate(Event Player, COORDINATE_MONORAIL, Global.LOCATION_MONORAIL[(Index Of Array Value(
- Global.LOCATION_MONORAIL, Sorted Array(Global.LOCATION_MONORAIL, Distance Between(Position Of(Event Player),
- Current Array Element))[0]) + 1) % Count Of(Global.LOCATION_MONORAIL)], 35, None);
- }
- }
- rule("HOPPING OFF MONORAIL")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_CIVILIAN, Event Player) == True;
Is Button Held(Event Player, Jump) == True;
- Is Button Held(Event Player, Button(Jump)) == True;
- Event Player.COORDINATE_MONORAIL != Empty Array;
- }
- actions
- {
- Stop Chasing Player Variable(Event Player, COORDINATE_MONORAIL);
- Stop Forcing Player Position(Event Player);
- disabled Wait(1.500, Ignore Condition);
- Apply Impulse(Event Player, Direction Towards(Vector(0, 0, 0), Vector(0, 1, 0)), 10, To Player, Incorporate Contrary Motion);
- Event Player.COORDINATE_MONORAIL = Empty Array;
- }
- }
- rule("CIVILIAN WIN CONDITION")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Count Of(Global.LOCATION_BUILDINGS) != 0;
- (Filtered Array(Global.LIST_KAIJU, Is Dead(Current Array Element)) == Global.LIST_KAIJU) == True;
- Global.KAIJU_HEALTH_POOL_RESERVE == 0;
- }
- actions
- {
- Enable Built-In Game Mode Announcer;
- Declare Player Victory(Remove From Array(All Players(All Teams), Global.LIST_KAIJU));
- }
- }
disabled rule("VEHICLE RULES")
- disabled rule("MECH RULES")
- {
- event
- {
- Ongoing - Global;
- }
- }
rule("VEHICLE SETUP")
- rule("MECH SETUP")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE != 0;
Array Contains(Global.LIST_VEHICLE, Event Player) == True;
- Array Contains(Global.LIST_MECH, Event Player) == True;
- }
- actions
- {
Set Player Allowed Heroes(Event Player, Array(Hero(Ana), Hero(Ashe), Hero(Baptiste), Hero(Bastion), Hero(Brigitte), Hero(D.Va),
Hero(Doomfist), Hero(Echo), Hero(Genji), Hero(Hanzo), Hero(Junkrat), Hero(Lúcio), Hero(McCree), Hero(Mei), Hero(Mercy), Hero(
Moira), Hero(Orisa), Hero(Pharah), Hero(Reaper), Hero(Reinhardt), Hero(Roadhog), Hero(Sigma), Hero(Soldier: 76), Hero(Sombra),
Hero(Symmetra), Hero(Torbjörn), Hero(Tracer), Hero(Widowmaker), Hero(Winston), Hero(Wrecking Ball), Hero(Zarya), Hero(
Zenyatta)));
- Stop Camera(Event Player);
Event Player.SCALE_PLAYER = Global.SCALE_VEHICLE;
Event Player.VOICE_PLAYER = Global.VOICE_VEHICLE;
Set Move Speed(Event Player, Global.MOVESPEED_VEHICLE);
Set Damage Dealt(Event Player, Global.DAMAGE_VEHICLE);
Set Gravity(Event Player, Global.GRAVITY_VEHICLE);
Set Jump Vertical Speed(Event Player, Global.JUMP_VEHICLE);
Set Aim Speed(Event Player, Global.AIMSPEED_VEHICLE);
Set Max Health(Event Player, Global.MAXHP_VEHICLE);
- Stop Chasing Player Variable(Event Player, COORDINATE_MONORAIL);
- Stop Forcing Player Position(Event Player);
- Set Player Allowed Heroes(Event Player, Array(Hero(Bastion), Hero(D.Va), Hero(Junkrat), Hero(Orisa), Hero(Pharah), Hero(
- Reinhardt)));
- Set Max Health(Event Player, Global.MAXHP_MECH);
- Call Subroutine(RESET_HEALTH_POOLS);
Set Primary Fire Enabled(Event Player, True);
Set Secondary Fire Enabled(Event Player, True);
Set Ability 1 Enabled(Event Player, True);
Set Ability 2 Enabled(Event Player, True);
Allow Button(Event Player, Ultimate);
Set Melee Enabled(Event Player, True);
Set Reload Enabled(Event Player, True);
Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Green);
- Set Damage Dealt(Event Player, Global.DAMAGE_MECH);
- Set Move Speed(Event Player, Global.MOVESPEED_MECH);
- Set Jump Vertical Speed(Event Player, Global.JUMP_MECH);
- Set Aim Speed(Event Player, Global.AIMSPEED_MECH);
- Set Gravity(Event Player, Global.GRAVITY_MECH);
- Event Player.SCALE_PLAYER = Global.SCALE_MECH;
- Event Player.VOICE_PLAYER = Global.VOICE_MECH;
- Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Color(Green), Default);
- Set Ultimate Charge(Event Player, 100);
- }
- }
- rule("SPAWN POWERUP")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Global.LOCATION_POWERUP == Empty Array;
- }
- actions
- {
- Wait(60, Ignore Condition);
- Global.LOCATION_POWERUP = Random Value In Array(Global.LOCATION_BUILDINGS);
- Global.TYPE_POWERUP = Random Integer(0, 5);
- If(Global.TYPE_POWERUP == 0);
Global.TYPE_POWERUP = Custom String("AMPLIFIER");
Create Effect(All Players(All Teams), Sphere, Red, Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.TYPE_POWERUP = Custom String("MECH: OX");
- Create Effect(All Players(All Teams), Sphere, Color(Red), Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.EFFECT_POWERUP[0] = Last Created Entity;
- Create In-World Text(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.TYPE_POWERUP, Global.LOCATION_POWERUP,
2.500, Do Not Clip, Visible To, Red, Default Visibility);
- 2.500, Do Not Clip, Visible To, Color(Red), Default Visibility);
- Global.EFFECT_POWERUP[1] = Last Text ID;
- Create Icon(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.LOCATION_POWERUP + Vector(0, 5, 0), Bolt, None,
Red, True);
- Color(Red), True);
- Global.EFFECT_POWERUP[2] = Last Created Entity;
- End;
- If(Global.TYPE_POWERUP == 1);
Global.TYPE_POWERUP = Custom String("BOMB");
Create Effect(All Players(All Teams), Sphere, Orange, Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.TYPE_POWERUP = Custom String("MECH: RAT");
- Create Effect(All Players(All Teams), Sphere, Color(Orange), Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.EFFECT_POWERUP[0] = Last Created Entity;
- Create In-World Text(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.TYPE_POWERUP, Global.LOCATION_POWERUP,
2.500, Do Not Clip, Visible To, Orange, Default Visibility);
- 2.500, Do Not Clip, Visible To, Color(Orange), Default Visibility);
- Global.EFFECT_POWERUP[1] = Last Text ID;
- Create Icon(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.LOCATION_POWERUP + Vector(0, 5, 0), Bolt, None,
Orange, True);
- Color(Orange), True);
- Global.EFFECT_POWERUP[2] = Last Created Entity;
- End;
- If(Global.TYPE_POWERUP == 2);
Global.TYPE_POWERUP = Custom String("TREMOR SUIT");
Create Effect(All Players(All Teams), Sphere, Yellow, Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.TYPE_POWERUP = Custom String("MECH: LION");
- Create Effect(All Players(All Teams), Sphere, Color(Yellow), Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.EFFECT_POWERUP[0] = Last Created Entity;
- Create In-World Text(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.TYPE_POWERUP, Global.LOCATION_POWERUP,
2.500, Do Not Clip, Visible To, Yellow, Default Visibility);
- 2.500, Do Not Clip, Visible To, Color(Yellow), Default Visibility);
- Global.EFFECT_POWERUP[1] = Last Text ID;
- Create Icon(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.LOCATION_POWERUP + Vector(0, 5, 0), Bolt, None,
Yellow, True);
- Color(Yellow), True);
- Global.EFFECT_POWERUP[2] = Last Created Entity;
- End;
- If(Global.TYPE_POWERUP == 3);
Global.TYPE_POWERUP = Custom String("JETPACK");
Create Effect(All Players(All Teams), Sphere, Green, Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.TYPE_POWERUP = Custom String("MECH: RAPTOR");
- Create Effect(All Players(All Teams), Sphere, Color(Green), Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.EFFECT_POWERUP[0] = Last Created Entity;
- Create In-World Text(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.TYPE_POWERUP, Global.LOCATION_POWERUP,
2.500, Do Not Clip, Visible To, Green, Default Visibility);
- 2.500, Do Not Clip, Visible To, Color(Green), Default Visibility);
- Global.EFFECT_POWERUP[1] = Last Text ID;
- Create Icon(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.LOCATION_POWERUP + Vector(0, 5, 0), Bolt, None,
Green, True);
- Color(Green), True);
- Global.EFFECT_POWERUP[2] = Last Created Entity;
- End;
- If(Global.TYPE_POWERUP == 4);
Global.TYPE_POWERUP = Custom String("MECH");
Create Effect(All Players(All Teams), Sphere, Blue, Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.TYPE_POWERUP = Custom String("MECH: RABBIT");
- Create Effect(All Players(All Teams), Sphere, Color(Blue), Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.EFFECT_POWERUP[0] = Last Created Entity;
- Create In-World Text(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.TYPE_POWERUP, Global.LOCATION_POWERUP,
2.500, Do Not Clip, Visible To, Blue, Default Visibility);
- 2.500, Do Not Clip, Visible To, Color(Blue), Default Visibility);
- Global.EFFECT_POWERUP[1] = Last Text ID;
- Create Icon(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.LOCATION_POWERUP + Vector(0, 5, 0), Bolt, None,
Blue, True);
- Color(Blue), True);
- Global.EFFECT_POWERUP[2] = Last Created Entity;
- End;
- If(Global.TYPE_POWERUP == 5);
Global.TYPE_POWERUP = Custom String("TANK");
Create Effect(All Players(All Teams), Sphere, Purple, Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.TYPE_POWERUP = Custom String("MECH: TANK");
- Create Effect(All Players(All Teams), Sphere, Color(Purple), Global.LOCATION_POWERUP, 5, Visible To Position and Radius);
- Global.EFFECT_POWERUP[0] = Last Created Entity;
- Create In-World Text(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.TYPE_POWERUP, Global.LOCATION_POWERUP,
2.500, Do Not Clip, Visible To, Purple, Default Visibility);
- 2.500, Do Not Clip, Visible To, Color(Purple), Default Visibility);
- Global.EFFECT_POWERUP[1] = Last Text ID;
- Create Icon(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Global.LOCATION_POWERUP + Vector(0, 5, 0), Bolt, None,
Purple, True);
- Color(Purple), True);
- Global.EFFECT_POWERUP[2] = Last Created Entity;
- End;
- Loop If Condition Is True;
- }
- }
- rule("ACTIVATE POWERUP")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Array Contains(Global.LIST_CIVILIAN, Event Player) == True;
- Has Spawned(Event Player) == True;
- Distance Between(Position Of(Event Player), Global.LOCATION_POWERUP) <= 5;
- Global.LOCATION_POWERUP != Empty Array;
- }
- actions
- {
- Wait(0.016, Ignore Condition);
Event Player.TYPE_VEHICLE = Global.TYPE_POWERUP;
- Event Player.TYPE_MECH = Global.TYPE_POWERUP;
- Destroy Effect(Global.EFFECT_POWERUP[0]);
- Destroy In-World Text(Global.EFFECT_POWERUP[1]);
- Destroy Icon(Global.EFFECT_POWERUP[2]);
- Global.LOCATION_POWERUP = Empty Array;
- Global.EFFECT_POWERUP = Empty Array;
Call Subroutine(VEHICLE_POWERUP);
- Call Subroutine(MECH_POWERUP);
- }
- }
rule("VEHICLE USES ULTIMATE")
- rule("MECH USES ULTIMATE")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
Array Contains(Global.LIST_VEHICLE, Event Player) == True;
- Array Contains(Global.LIST_MECH, Event Player) == True;
- Is Using Ultimate(Event Player) == True;
- }
- actions
- {
If(Event Player.TYPE_VEHICLE == Custom String("AMPLIFIER"));
- While(Is Using Ultimate(Event Player));
- Wait(1, Ignore Condition);
- End;
If(Event Player.TYPE_VEHICLE == Custom String("BOMB"));
Wait(5, Ignore Condition);
While(Is Using Ultimate(Event Player));
Wait(1, Ignore Condition);
End;
Wait(3, Ignore Condition);
Modify Global Variable(LIST_CIVILIAN, Append To Array, Event Player);
Modify Global Variable(LIST_VEHICLE, Remove From Array By Value, Event Player);
Start Forcing Player To Be Hero(Event Player, Event Player.HERO_PLAYER);
Stop Forcing Player To Be Hero(Event Player);
- If(Event Player.TYPE_MECH == Custom String("MECH: OX"));
- End;
If(Event Player.TYPE_VEHICLE == Custom String("TREMOR SUIT"));
Wait(1, Ignore Condition);
- If(Event Player.TYPE_MECH == Custom String("MECH: RAT"));
- End;
- If(Event Player.TYPE_MECH == Custom String("MECH: LION"));
- Set Status(Filtered Array(Global.LIST_KAIJU, Distance Between(Position Of(Event Player), Position Of(Current Array Element))
- <= 100), Event Player, Knocked Down, 20);
Destroy Effect(Event Player.EFFECT_ATOMIC_BEAM[0]);
Wait(1, Ignore Condition);
Modify Global Variable(LIST_CIVILIAN, Append To Array, Event Player);
Modify Global Variable(LIST_VEHICLE, Remove From Array By Value, Event Player);
Start Forcing Player To Be Hero(Event Player, Event Player.HERO_PLAYER);
Stop Forcing Player To Be Hero(Event Player);
- End;
If(Event Player.TYPE_VEHICLE == Custom String("JETPACK"));
Wait(5, Ignore Condition);
Modify Global Variable(LIST_CIVILIAN, Append To Array, Event Player);
Modify Global Variable(LIST_VEHICLE, Remove From Array By Value, Event Player);
Start Forcing Player To Be Hero(Event Player, Event Player.HERO_PLAYER);
Stop Forcing Player To Be Hero(Event Player);
- If(Event Player.TYPE_MECH == Custom String("MECH: RAPTOR"));
- End;
If(Event Player.TYPE_VEHICLE == Custom String("MECH"));
Wait(5, Ignore Condition);
Modify Global Variable(LIST_CIVILIAN, Append To Array, Event Player);
Modify Global Variable(LIST_VEHICLE, Remove From Array By Value, Event Player);
Start Forcing Player To Be Hero(Event Player, Event Player.HERO_PLAYER);
Stop Forcing Player To Be Hero(Event Player);
- If(Event Player.TYPE_MECH == Custom String("MECH: RABBIT"));
- End;
If(Event Player.TYPE_VEHICLE == Custom String("TANK"));
- If(Event Player.TYPE_MECH == Custom String("MECH: TANK"));
- End;
- Wait(5, Ignore Condition);
- Modify Global Variable(LIST_CIVILIAN, Append To Array, Event Player);
- Modify Global Variable(LIST_MECH, Remove From Array By Value, Event Player);
- }
- }
- rule("BOMB DAMAGE CALCULATOR")
- {
- event
- {
- Player Took Damage;
- All;
- All;
- }
- conditions
- {
- Array Contains(Global.LIST_KAIJU, Event Player) == True;
(Hero Of(Attacker) == Hero(D.Va) || Hero Of(Attacker) == Hero(Junkrat)) == True;
- Hero Of(Attacker) == Hero(Junkrat);
- Is Using Ultimate(Attacker) == True;
- }
- actions
- {
- Heal(Event Player, Null, Event Damage);
Damage(Event Player, Attacker, 3 * 5000 * (100 / Global.DAMAGE_VEHICLE));
- Damage(Event Player, Attacker, 3 * 5000 * (100 / Global.DAMAGE_MECH));
- }
- }
- disabled rule("MISCELLANEOUS RULES")
- {
- event
- {
- Ongoing - Global;
- }
- }
rule("PLAYER SETUP UPON JOINING MATCH")
- rule("PLAYER SWITCHES CHARACTERS")
- {
- event
- {
Player Joined Match;
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Array Contains(All Heroes, Hero Of(Event Player)) == True;
- Has Spawned(Event Player) == True;
- }
- actions
- {
- Event Player.HERO_PLAYER = Hero Of(Event Player);
- If(Global.GAME_STATE == 0);
If(Event Player == Host Player);
Create Icon(All Players(All Teams), Host Player, Halo, Visible To and Position, White, True);
End;
Modify Global Variable(LIST_KAIJU, Append To Array, Event Player);
Event Player.SCALE_PLAYER = 20;
Set Move Speed(Event Player, 20 * 100);
Set Jump Vertical Speed(Event Player, 20 * 100);
Set Gravity(Event Player, 20 * 100);
- Set Primary Fire Enabled(Event Player, False);
- Set Secondary Fire Enabled(Event Player, False);
- Set Ability 1 Enabled(Event Player, False);
- Set Ability 2 Enabled(Event Player, False);
- Set Melee Enabled(Event Player, False);
Set Status(Event Player, Null, Phased Out, 9999);
- Else;
Modify Global Variable(LIST_CIVILIAN, Append To Array, Event Player);
- If(Array Contains(Global.LIST_KAIJU, Event Player) == True);
- If(Hero Of(Event Player) == Hero(Brigitte) || Hero Of(Event Player) == Hero(Reinhardt));
- Set Primary Fire Enabled(Event Player, True);
- Else;
- Set Primary Fire Enabled(Event Player, False);
- End;
- Set Secondary Fire Enabled(Event Player, False);
- Set Ability 1 Enabled(Event Player, False);
- Set Ability 2 Enabled(Event Player, False);
- Disallow Button(Event Player, Button(Ultimate));
- Set Melee Enabled(Event Player, True);
- Set Reload Enabled(Event Player, False);
- End;
- If(Array Contains(Global.LIST_CIVILIAN, Event Player) == True);
- Set Primary Fire Enabled(Event Player, True);
- Set Secondary Fire Enabled(Event Player, True);
- Set Ability 1 Enabled(Event Player, True);
- Set Ability 2 Enabled(Event Player, True);
- Allow Button(Event Player, Button(Ultimate));
- Set Melee Enabled(Event Player, True);
- Set Reload Enabled(Event Player, True);
- End;
- If(Array Contains(Global.LIST_MECH, Event Player) == True);
- Set Primary Fire Enabled(Event Player, True);
- Set Secondary Fire Enabled(Event Player, True);
- Set Ability 1 Enabled(Event Player, True);
- Set Ability 2 Enabled(Event Player, True);
- Allow Button(Event Player, Button(Ultimate));
- Set Melee Enabled(Event Player, True);
- Set Reload Enabled(Event Player, True);
- End;
- End;
- Call Subroutine(SPAWN_POINTS);
- }
- }
- rule("GAME HUD")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create HUD Text(Filtered Array(All Players(All Teams), Global.GAME_STATE == 0), Null, Null, Custom String("LOBBY CONTROLS:"), Left,
0, White, White, Yellow, Visible To and String, Default Visibility);
- 0, Color(White), Color(White), Color(Yellow), Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(All Players(All Teams), Global.GAME_STATE == 0), Null, Custom String(
"INTERACT ({0}): TOGGLE 3RD PERSON CAMERA", Input Binding String(Button(Interact))), Null, Left, 1, White, White, White,
Visible To and String, Default Visibility);
- "INTERACT ({0}): TOGGLE 3RD PERSON CAMERA", Input Binding String(Button(Interact))), Null, Left, 1, Color(White), Color(White),
- Color(White), Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(Global.LIST_KAIJU, Global.GAME_STATE == 2), Null, Null, Custom String("KAIJU CONTROLS:"), Left, 0,
White, White, Orange, Visible To and String, Default Visibility);
- Color(White), Color(White), Color(Orange), Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(Global.LIST_KAIJU, Global.GAME_STATE == 2), Null, Custom String(
"INTERACT ({0}): TOGGLE 3RD PERSON CAMERA", Input Binding String(Button(Interact))), Null, Left, 1, White, White, White,
Visible To and String, Default Visibility);
- "INTERACT ({0}): TOGGLE 3RD PERSON CAMERA", Input Binding String(Button(Interact))), Null, Left, 1, Color(White), Color(White),
- Color(White), Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(Global.LIST_KAIJU, Global.GAME_STATE == 2), Null, Custom String("JUMP ({0}): GIGA SHOCKWAVE STOMP",
Input Binding String(Button(Jump))), Null, Left, 2, White, White, White, Visible To and String, Default Visibility);
- Input Binding String(Button(Jump))), Null, Left, 2, Color(White), Color(White), Color(White), Visible To and String,
- Default Visibility);
- Create HUD Text(Filtered Array(Global.LIST_KAIJU, Global.GAME_STATE == 2), Null, Custom String("MELEE ({0}): DAMAGE BUILDINGS",
Input Binding String(Button(Melee))), Null, Left, 3, White, White, White, Visible To and String, Default Visibility);
- Input Binding String(Button(Melee))), Null, Left, 3, Color(White), Color(White), Color(White), Visible To and String,
- Default Visibility);
- Create HUD Text(Filtered Array(Global.LIST_KAIJU, Global.GAME_STATE == 2), Null, Custom String("ULTIMATE ({0}): KAIJU ATOMIC BEAM",
Input Binding String(Button(Ultimate))), Null, Left, 4, White, White, White, Visible To and String, Default Visibility);
- Input Binding String(Button(Ultimate))), Null, Left, 4, Color(White), Color(White), Color(White), Visible To and String,
- Default Visibility);
- Create HUD Text(Filtered Array(Global.LIST_CIVILIAN, Global.GAME_STATE == 2), Null, Null, Custom String("CIVILIAN CONTROLS:"),
Left, 0, White, White, Blue, Visible To and String, Default Visibility);
- Left, 0, Color(White), Color(White), Color(Blue), Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(Global.LIST_CIVILIAN, Global.GAME_STATE == 2), Null, Custom String(
"INTERACT ({0}): BOARD MONORAIL AT STATION", Input Binding String(Button(Interact))), Null, Left, 1, White, White, White,
Visible To and String, Default Visibility);
- "INTERACT ({0}): BOARD MONORAIL AT STATION", Input Binding String(Button(Interact))), Null, Left, 1, Color(White), Color(
- White), Color(White), Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(Global.LIST_CIVILIAN, Global.GAME_STATE == 2), Null, Custom String("JUMP ({0}): HOP OFF MONORAIL",
Input Binding String(Button(Jump))), Null, Left, 2, White, White, White, Visible To and String, Default Visibility);
Create HUD Text(Filtered Array(Global.LIST_VEHICLE, Global.GAME_STATE == 2), Null, Null, Custom String("VEHICLE CONTROLS:"), Left,
0, White, White, Green, Visible To and String, Default Visibility);
Create HUD Text(Filtered Array(Global.LIST_VEHICLE, Global.GAME_STATE == 2), Null, Custom String(
"INTERACT ({0}): TOGGLE 3RD PERSON CAMERA", Input Binding String(Button(Interact))), Null, Left, 1, White, White, White,
Visible To and String, Default Visibility);
- Input Binding String(Button(Jump))), Null, Left, 2, Color(White), Color(White), Color(White), Visible To and String,
- Default Visibility);
- Create HUD Text(Filtered Array(Global.LIST_MECH, Global.GAME_STATE == 2), Null, Null, Custom String("MECH CONTROLS:"), Left, 0,
- Color(White), Color(White), Color(Green), Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(Global.LIST_MECH, Global.GAME_STATE == 2), Null, Custom String(
- "INTERACT ({0}): TOGGLE 3RD PERSON CAMERA", Input Binding String(Button(Interact))), Null, Left, 1, Color(White), Color(White),
- Color(White), Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(All Players(All Teams), Global.GAME_STATE == 2), Custom String(
- "TOTAL KAIJU HEALTH: {0} HP | BUILDINGS REMAINING: {1}", Round To Integer(Health(Global.LIST_KAIJU[0]), To Nearest)
- + Round To Integer(Health(Global.LIST_KAIJU[1]), To Nearest) + Round To Integer(Health(Global.LIST_KAIJU[2]), To Nearest)
- + Round To Integer(Health(Global.LIST_KAIJU[3]), To Nearest) + Global.KAIJU_HEALTH_POOL_RESERVE * 1000, Count Of(
Global.LOCATION_BUILDINGS)), Null, Null, Top, 0, Turquoise, White, White, Visible To and String, Default Visibility);
}
}
rule("GET HERO OF EVENT PLAYER UPON SPAWNING INTO GAME")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
Event Player.HERO_PLAYER = Hero Of(Event Player);
Call Subroutine(SPAWN_POINTS);
}
}
rule("GAME REVIVE MECHANIC")
{
event
{
Player Died;
All;
All;
}
conditions
{
Global.GAME_STATE == 2;
}
actions
{
If(Array Contains(Global.LIST_KAIJU, Event Player));
If(Global.KAIJU_HEALTH_POOL_RESERVE > 0);
Respawn(Event Player);
Global.KAIJU_HEALTH_POOL_RESERVE -= 100;
Call Subroutine(SPAWN_POINTS);
End;
Else;
Wait(5, Ignore Condition);
Modify Global Variable(LIST_VEHICLE, Remove From Array By Value, Event Player);
Modify Global Variable(LIST_CIVILIAN, Append To Array, Event Player);
Set Status(Event Player, Null, Phased Out, 0.016);
Respawn(Event Player);
Call Subroutine(SPAWN_POINTS);
Wait(0.016, Ignore Condition);
End;
- Global.LOCATION_BUILDINGS)), Null, Null, Top, 0, Color(Turquoise), Color(White), Color(White), Visible To and String,
- Default Visibility);
- }
- }
- rule("OPTIONAL CINEMATIC ONCE ALL PLAYERS HAVE SPAWNED")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 1;
- }
- actions
- {
- Wait(25, Ignore Condition);
- Disable Built-In Game Mode Announcer;
- If(Global.CINEMATIC_OPENING == True);
- Call Subroutine(OPENING_CINEMATIC);
- End;
- Wait(5, Ignore Condition);
- Big Message(Global.LIST_KAIJU, Custom String("DESTROY THE CITY"));
- Big Message(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Custom String("DESTROY THE KAIJU"));
- Clear Status(All Players(All Teams), Rooted);
- Global.GAME_STATE = 2;
- }
- }
rule("TOGGLE KAIJU / VEHICLE CAMERA")
- rule("TOGGLE KAIJU / MECH CAMERA")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
(Array Contains(Global.LIST_KAIJU, Event Player) || Array Contains(Global.LIST_VEHICLE, Event Player)) == True;
Is Button Held(Event Player, Interact) == True;
- Global.GAME_STATE != 1;
- (Array Contains(Global.LIST_KAIJU, Event Player) || Array Contains(Global.LIST_MECH, Event Player)) == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Event Player.CAMERA_THIRD_PERSON == False);
- If(Array Contains(Global.LIST_KAIJU, Event Player));
- Start Camera(Event Player, Eye Position(Event Player) - Vector(Sine From Degrees(Horizontal Facing Angle Of(Event Player)), -0.400,
- Cosine From Degrees(Horizontal Facing Angle Of(Event Player))) * Event Player.SCALE_PLAYER * 2.500, Eye Position(Event Player),
- 1000);
- Else;
- Start Camera(Event Player, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) - Facing Direction Of(
- Event Player) * 10, Null, Null, False) + Vector(0, Event Player.SCALE_PLAYER, 0), Eye Position(Event Player), 0);
- End;
- Event Player.CAMERA_THIRD_PERSON = True;
- Else;
- Stop Camera(Event Player);
- Event Player.CAMERA_THIRD_PERSON = False;
- End;
- }
- }
- rule("RESET MATCH TIMER")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Match Time <= 60;
- Is Assembling Heroes == False;
- }
- actions
- {
- If(Global.GAME_STATE == 0);
- Set Match Time(600);
- End;
- If(Global.GAME_STATE == 2 && Count Of(Global.LOCATION_BUILDINGS) > 10);
- Set Match Time(600);
- End;
- }
- }
- rule("SWITCH TO PANIC TIMER")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Count Of(Global.LOCATION_BUILDINGS) <= 10;
- }
- actions
- {
- Big Message(Global.LIST_KAIJU, Custom String("ONLY TEN BUILDINGS REMAINING..."));
- Big Message(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Custom String("HURRY! THE CITY IS ALMOST DESTROYED!"));
- Set Match Time(30);
- }
- }
- rule("RESET PANIC TIMER")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Match Time == 0;
- Global.GAME_STATE == 2;
- }
- actions
- {
- Set Match Time(30);
- }
- }
- rule("PLAYER SPAWNS \\ RESPAWNS IN GAME")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Has Spawned(Event Player) == True;
- Is Alive(Event Player) == True;
- }
- actions
- {
- Call Subroutine(SPAWN_POINTS);
- If(Global.GAME_STATE == 2);
Set Match Time(30);
- If(Array Contains(Global.LIST_KAIJU, Event Player));
- If(Global.KAIJU_HEALTH_POOL_RESERVE < 100);
- Set Player Health(Event Player, Global.KAIJU_HEALTH_POOL_RESERVE * 1000);
- Global.KAIJU_HEALTH_POOL_RESERVE = 0;
- Else;
- Global.KAIJU_HEALTH_POOL_RESERVE -= 100;
- End;
- Else;
- Modify Global Variable(LIST_MECH, Remove From Array By Value, Event Player);
- Modify Global Variable(LIST_CIVILIAN, Append To Array, Event Player);
- End;
- End;
- }
- }
- rule("ENABLE KAIJU RESPAWNING IF HEALTHPOOL IS NOT DEPLETED")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Global.KAIJU_HEALTH_POOL_RESERVE > 0;
- Is True For Any(Global.LIST_KAIJU, Is Dead(Current Array Element)) == True;
- }
- actions
- {
- While(Global.II < Global.TOTAL_KAIJU);
- Enable Built-In Game Mode Respawning(Global.LIST_KAIJU[Global.II]);
- Wait(0.250, Ignore Condition);
- If(Global.KAIJU_HEALTH_POOL_RESERVE == 0);
- Break;
- End;
- Global.II += 1;
- End;
- Global.II = 0;
- Wait(0.250, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("DISABLE KAIJU RESPAWNING")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.GAME_STATE == 2;
- Global.KAIJU_HEALTH_POOL_RESERVE <= 0;
- }
- actions
- {
- Disable Built-In Game Mode Respawning(Global.LIST_KAIJU);
- }
- }
- disabled rule("SUBROUTINES")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("SUB: GAME SETUP")
- {
- event
- {
- Subroutine;
- GAME_SETUP;
- }
- actions
- {
- Go To Assemble Heroes;
- Global.GAME_STATE = 1;
- Set Status(All Players(All Teams), Null, Rooted, 9999);
- Global.LIST_KAIJU = Array Slice(Randomized Array(All Players(All Teams)), 0, Global.TOTAL_KAIJU);
- Global.LIST_CIVILIAN = Remove From Array(All Players(All Teams), Global.LIST_KAIJU);
- Call Subroutine(REMOVE_ALL_EFFECTS);
- Call Subroutine(BUILD_ROADS);
- Call Subroutine(BUILD_BUILDINGS);
- Call Subroutine(BUILD_MONORAIL);
- }
- }
- rule("SUB: REMOVE ALL EFFECTS")
- {
- event
- {
- Subroutine;
- REMOVE_ALL_EFFECTS;
- }
- actions
- {
- Destroy All Effects;
- Destroy All In-World Text;
- Destroy All Icons;
- Global.EFFECT_BUILDING_ONE = Empty Array;
- Global.EFFECT_BUILDING_TWO = Empty Array;
- Global.EFFECT_BUILDING_THREE = Empty Array;
- Global.EFFECT_RUBBLE = Empty Array;
- Global.EFFECT_ROADS = Empty Array;
- Global.EFFECT_MONORAIL = Empty Array;
- All Players(All Teams).EFFECT_ATOMIC_BEAM = Array(Empty Array, Empty Array, Empty Array, Empty Array, Empty Array);
- Global.EFFECT_POWERUP = Empty Array;
- }
- }
- rule("SUB: BUILD ROADS")
- {
- event
- {
- Subroutine;
- BUILD_ROADS;
- }
- actions
- {
- "ROAD CONSTRUCTION LOOP"
- While(Global.II < Global.NUMBER_CITY_BLOCKS - 1);
- Create Beam Effect(All Players(All Teams), Good Beam, Vector(0 - Global.WIDTH_MAP / 2, 0,
- 0 - Global.WIDTH_MAP / 2 + Global.WIDTH_BUILDINGS * (Global.II + 1) + Global.WIDTH_ROADS * (Global.II + 0)), Vector(
- Global.WIDTH_MAP / 2, 0, 0 - Global.WIDTH_MAP / 2 + Global.WIDTH_BUILDINGS * (Global.II + 1) + Global.WIDTH_ROADS * (
Global.II + 0)), White, Visible To);
- Global.II + 0)), Color(White), Visible To);
- Global.EFFECT_ROADS[4 * Global.II + 0] = Last Created Entity;
- Create Beam Effect(All Players(All Teams), Good Beam, Vector(0 - Global.WIDTH_MAP / 2, 0,
- 0 - Global.WIDTH_MAP / 2 + Global.WIDTH_BUILDINGS * (Global.II + 1) + Global.WIDTH_ROADS * (Global.II + 1)), Vector(
- Global.WIDTH_MAP / 2, 0, 0 - Global.WIDTH_MAP / 2 + Global.WIDTH_BUILDINGS * (Global.II + 1) + Global.WIDTH_ROADS * (
Global.II + 1)), White, Visible To);
- Global.II + 1)), Color(White), Visible To);
- Global.EFFECT_ROADS[4 * Global.II + 1] = Last Created Entity;
- Create Beam Effect(All Players(All Teams), Good Beam, Vector(0 - Global.WIDTH_MAP / 2 + Global.WIDTH_BUILDINGS * (Global.II + 1)
- + Global.WIDTH_ROADS * (Global.II + 0), 0, 0 - Global.WIDTH_MAP / 2), Vector(
- 0 - Global.WIDTH_MAP / 2 + Global.WIDTH_BUILDINGS * (Global.II + 1) + Global.WIDTH_ROADS * (Global.II + 0), 0,
Global.WIDTH_MAP / 2), White, Visible To);
- Global.WIDTH_MAP / 2), Color(White), Visible To);
- Global.EFFECT_ROADS[4 * Global.II + 2] = Last Created Entity;
- Create Beam Effect(All Players(All Teams), Good Beam, Vector(0 - Global.WIDTH_MAP / 2 + Global.WIDTH_BUILDINGS * (Global.II + 1)
- + Global.WIDTH_ROADS * (Global.II + 1), 0, 0 - Global.WIDTH_MAP / 2), Vector(
- 0 - Global.WIDTH_MAP / 2 + Global.WIDTH_BUILDINGS * (Global.II + 1) + Global.WIDTH_ROADS * (Global.II + 1), 0,
Global.WIDTH_MAP / 2), White, Visible To);
- Global.WIDTH_MAP / 2), Color(White), Visible To);
- Global.EFFECT_ROADS[4 * Global.II + 3] = Last Created Entity;
- Global.II += 1;
- Wait(0.016, Ignore Condition);
- End;
- Global.II = 0;
- }
- }
- rule("SUB: BUILD BUILDINGS")
- {
- event
- {
- Subroutine;
- BUILD_BUILDINGS;
- }
- actions
- {
- "BUILDING COORDINATE LOOP"
- While(Global.II < Global.NUMBER_CITY_BLOCKS);
- While(Global.JJ < Global.NUMBER_CITY_BLOCKS);
- Global.LOCATION_BUILDINGS[Global.II * Global.NUMBER_CITY_BLOCKS + Global.JJ] = Vector(
- 0 - Global.WIDTH_MAP / 2 + Global.WIDTH_BUILDINGS * Global.II + Global.WIDTH_BUILDINGS / 2 + Global.WIDTH_ROADS * Global.II, 0,
- 0 - Global.WIDTH_MAP / 2 + Global.WIDTH_BUILDINGS * Global.JJ + Global.WIDTH_BUILDINGS / 2 + Global.WIDTH_ROADS * Global.JJ);
- Global.JJ += 1;
- Wait(0.016, Ignore Condition);
- End;
- Global.JJ = 0;
- Global.II += 1;
- Wait(0.016, Ignore Condition);
- End;
- Global.II = 0;
- "RETRIEVE KAIJU SPAWN LOCATIONS"
- Global.LOCATION_KAIJU_SPAWN[0] = Global.LOCATION_BUILDINGS[Global.NUMBER_CITY_BLOCKS * 0 + 0];
- Global.LOCATION_KAIJU_SPAWN[1] = Global.LOCATION_BUILDINGS[Global.NUMBER_CITY_BLOCKS * (Global.NUMBER_CITY_BLOCKS - 1) + (
- Global.NUMBER_CITY_BLOCKS - 1)];
- Global.LOCATION_KAIJU_SPAWN[2] = Global.LOCATION_BUILDINGS[Global.NUMBER_CITY_BLOCKS * 0 + (Global.NUMBER_CITY_BLOCKS - 1)];
- Global.LOCATION_KAIJU_SPAWN[3] = Global.LOCATION_BUILDINGS[Global.NUMBER_CITY_BLOCKS * (Global.NUMBER_CITY_BLOCKS - 1) + 0];
- "REMOVE KAIJU SPAWN LOCATIONS FROM BUILDING LOCATION ARRAY"
- Global.LOCATION_BUILDINGS = Remove From Array(Global.LOCATION_BUILDINGS, Global.LOCATION_KAIJU_SPAWN);
- "REMAINING AVAILABLE EFFECTS FOR BUILDINGS | MOSTLY USED FOR DEBUGGING"
- disabled Global.REMAINING_EFFECTS = 128 - Count Of(Global.EFFECT_ROADS) - Count Of(Global.LOCATION_BUILDINGS) - Count Of(
- Global.EFFECT_MONORAIL) - 20;
- "CALCULATE BUILDING HEALTH LOOP"
- While(Global.II < Count Of(Global.LOCATION_BUILDINGS));
- If(Global.II < 10);
- Global.HEALTH_BUILDINGS[Global.II] = 3;
- Else If(Global.II < 25);
- Global.HEALTH_BUILDINGS[Global.II] = 2;
- Else;
- Global.HEALTH_BUILDINGS[Global.II] = 1;
- End;
- Global.II += 1;
- Wait(0.016, Ignore Condition);
- End;
- Global.II = 0;
- "SHUFFLE THE BUILDINGS"
- Global.HEALTH_BUILDINGS = Randomized Array(Global.HEALTH_BUILDINGS);
- "CREATE BASE LEVEL BUILDING EFFECTS"
- While(Global.II < Count Of(Global.LOCATION_BUILDINGS));
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[Global.II] + Vector(0, 0, 0),
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[Global.II] + Vector(0, 0, 0),
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Global.II] = Last Created Entity;
- If(Global.HEALTH_BUILDINGS[Global.II] > 1);
Create Effect(All Players(All Teams), Light Shaft, Sky Blue, Global.LOCATION_BUILDINGS[Global.II] + Vector(0, 30, 0),
- Create Effect(All Players(All Teams), Light Shaft, Color(Sky Blue), Global.LOCATION_BUILDINGS[Global.II] + Vector(0, 30, 0),
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_TWO[Global.II] = Last Created Entity;
- End;
- If(Global.HEALTH_BUILDINGS[Global.II] > 2);
Create Effect(All Players(All Teams), Light Shaft, Blue, Global.LOCATION_BUILDINGS[Global.II] + Vector(0, 60, 0),
- Create Effect(All Players(All Teams), Light Shaft, Color(Blue), Global.LOCATION_BUILDINGS[Global.II] + Vector(0, 60, 0),
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_THREE[Global.II] = Last Created Entity;
- End;
- Global.II += 1;
- Wait(0.016, Ignore Condition);
- End;
- Global.II = 0;
- Global.HEALTH_BUILDINGS = Mapped Array(Global.HEALTH_BUILDINGS, Current Array Element * Global.BUILDING_HITS_PER_SECTION);
- }
- }
- rule("SUB: BUILD MONORAIL")
- {
- event
- {
- Subroutine;
- BUILD_MONORAIL;
- }
- actions
- {
- Global.LOCATION_MONORAIL[0] = Vector(0 - Global.WIDTH_MAP / 2 + 2 * Global.WIDTH_BUILDINGS + 1.500 * Global.WIDTH_ROADS, 5,
- 0 - Global.WIDTH_MAP / 2 + 2 * Global.WIDTH_BUILDINGS + 1.500 * Global.WIDTH_ROADS);
- Global.LOCATION_MONORAIL[1] = Vector(0 - Global.WIDTH_MAP / 2 + 5 * Global.WIDTH_BUILDINGS + 4.500 * Global.WIDTH_ROADS, 5,
- 0 - Global.WIDTH_MAP / 2 + 2 * Global.WIDTH_BUILDINGS + 1.500 * Global.WIDTH_ROADS);
- Global.LOCATION_MONORAIL[2] = Vector(0 - Global.WIDTH_MAP / 2 + 5 * Global.WIDTH_BUILDINGS + 4.500 * Global.WIDTH_ROADS, 5,
- 0 - Global.WIDTH_MAP / 2 + 5 * Global.WIDTH_BUILDINGS + 4.500 * Global.WIDTH_ROADS);
- Global.LOCATION_MONORAIL[3] = Vector(0 - Global.WIDTH_MAP / 2 + 2 * Global.WIDTH_BUILDINGS + 1.500 * Global.WIDTH_ROADS, 5,
- 0 - Global.WIDTH_MAP / 2 + 5 * Global.WIDTH_BUILDINGS + 4.500 * Global.WIDTH_ROADS);
- Global.EFFECT_MONORAIL[3] = Last Created Entity;
- While(Global.II < Count Of(Global.LOCATION_MONORAIL));
Create Effect(All Players(All Teams), Sphere, Purple, Global.LOCATION_MONORAIL[Global.II], 10, Visible To);
- Create Effect(All Players(All Teams), Sphere, Color(Purple), Global.LOCATION_MONORAIL[Global.II], 10, Visible To);
- Global.EFFECT_MONORAIL[2 * Global.II + 0] = Last Created Entity;
- Create Beam Effect(All Players(All Teams), Good Beam, Global.LOCATION_MONORAIL[Global.II % Count Of(Global.LOCATION_MONORAIL)],
Global.LOCATION_MONORAIL[(Global.II + 1) % Count Of(Global.LOCATION_MONORAIL)], Purple, Visible To);
- Global.LOCATION_MONORAIL[(Global.II + 1) % Count Of(Global.LOCATION_MONORAIL)], Color(Purple), Visible To);
- Global.EFFECT_MONORAIL[2 * Global.II + 0] = Last Created Entity;
- Global.II += 1;
- Wait(0.016, Ignore Condition);
- End;
- Global.II = 0;
- }
- }
- rule("SUB: SPAWN POINTS")
- {
- event
- {
- Subroutine;
- SPAWN_POINTS;
- }
- actions
- {
- If(Global.GAME_STATE == 0);
- If(Slot Of(Event Player) == 0);
- Teleport(Event Player, Vector(-200, 50, 0));
- End;
- If(Slot Of(Event Player) == 1);
- Teleport(Event Player, Vector(200, 50, 0));
- End;
- If(Slot Of(Event Player) == 2);
- Teleport(Event Player, Vector(0, 50, -200));
- End;
- If(Slot Of(Event Player) == 3);
- Teleport(Event Player, Vector(0, 50, 200));
- End;
- If(Slot Of(Event Player) == 4);
- Teleport(Event Player, Vector(-175, 50, 100));
- End;
- If(Slot Of(Event Player) == 5);
- Teleport(Event Player, Vector(175, 50, -100));
- End;
- If(Slot Of(Event Player) == 6);
- Teleport(Event Player, Vector(-100, 50, -175));
- End;
- If(Slot Of(Event Player) == 7);
- Teleport(Event Player, Vector(100, 50, 175));
- End;
- If(Slot Of(Event Player) == 8);
- Teleport(Event Player, Vector(-175, 50, -100));
- End;
- If(Slot Of(Event Player) == 9);
- Teleport(Event Player, Vector(175, 50, 100));
- End;
- If(Slot Of(Event Player) == 10);
- Teleport(Event Player, Vector(100, 50, -175));
- End;
- If(Slot Of(Event Player) == 11);
- Teleport(Event Player, Vector(-100, 50, 175));
- End;
- Set Facing(Event Player, Direction Towards(Position Of(Event Player), Vector(0, 50, 0)), To World);
- Else;
- If(Array Contains(Global.LIST_KAIJU, Event Player));
- Teleport(Event Player, Global.LOCATION_KAIJU_SPAWN[Index Of Array Value(Global.LIST_KAIJU, Event Player)]);
- Set Facing(Event Player, Direction Towards(Position Of(Event Player), Vector(0, 50, 0)), To World);
- Else;
Teleport(Event Player, Random Value In Array(Global.LOCATION_BUILDINGS) + Vector(0, 10, 0));
- Teleport(Event Player, Random Value In Array(Global.LOCATION_BUILDINGS));
- End;
- End;
- }
- }
- rule("SUB: OPENING CINEMATIC")
- {
- event
- {
- Subroutine;
- OPENING_CINEMATIC;
- }
- actions
- {
- Clear Status(Global.LIST_CIVILIAN, Phased Out);
- Set Aim Speed(Global.LIST_CIVILIAN[0], 0);
Start Camera(All Players(All Teams), World Vector Of(Vector(0, 1, 0.750) * 2, Global.LIST_CIVILIAN[0], Rotation And Translation),
Eye Position(Global.LIST_CIVILIAN[0]) + Vector(0, 1, 0) * 0.300, 0);
Wait(5, Ignore Condition);
disabled Start Camera(All Players(All Teams), World Vector Of(Vector(0, 1, 0.750) * 3, Global.LIST_CIVILIAN[0], Rotation And Translation),
Eye Position(Global.LIST_CIVILIAN[0]) + Vector(0, 1, 0) * 0.500, 0.001);
- Start Camera(All Players(All Teams), World Vector Of(Vector(0, 1, 1) * 2, Global.LIST_CIVILIAN[0], Rotation And Translation)
- + Vector(0, 1 / Global.JJ * Sine From Degrees(100 * Global.JJ * 360), 0), Eye Position(Global.LIST_CIVILIAN[0]) + Vector(0, 1,
- 0) * 0.100, 0);
- Wait(2.500, Ignore Condition);
- Small Message(All Players(All Teams), Custom String("OVERWATCH CITY: JUNE 18TH, 9:23 PM"));
- Wait(2.500, Ignore Condition);
- Communicate(Global.LIST_CIVILIAN[0], Emote Up);
Wait(6, Ignore Condition);
Play Effect(All Players(All Teams), Ring Explosion, White, World Vector Of(Vector(0, 0, -1) * 90, Global.LIST_CIVILIAN[0],
- Stop Camera(Global.LIST_CIVILIAN[0]);
- Wait(0.100, Ignore Condition);
- Start Camera(Global.LIST_CIVILIAN[0], World Vector Of(Vector(0, 1, 1) * 2, Global.LIST_CIVILIAN[0], Rotation And Translation)
- + Vector(0, 1 / Global.JJ * Sine From Degrees(100 * Global.JJ * 360), 0), Eye Position(Global.LIST_CIVILIAN[0]) + Vector(0, 1,
- 0) * 0.100, 0);
- Wait(2.500, Ignore Condition);
- Small Message(All Players(All Teams), Custom String("DISASTER STRUCK..."));
- Wait(2.500, Ignore Condition);
- Play Effect(All Players(All Teams), Ring Explosion, Color(White), World Vector Of(Vector(0, 0, -1) * 90, Global.LIST_CIVILIAN[0],
- Rotation And Translation), 200);
- Set Status(Global.LIST_CIVILIAN, Null, Stunned, 4);
Wait(5, Ignore Condition);
Play Effect(All Players(All Teams), Ring Explosion, White, World Vector Of(Vector(0, 0, -1) * 85, Global.LIST_CIVILIAN[0],
- Global.JJ = 3;
- Chase Global Variable At Rate(JJ, 8, 5 / 2, Destination and Rate);
- Wait(2, Ignore Condition);
- Create In-World Text(All Players(All Teams), Custom String("{0}: \"WHAT THE HELL WAS THAT?\"", Hero Of(Global.LIST_CIVILIAN[0])),
- Position Of(Global.LIST_CIVILIAN[0]) + Vector(0, 0.500, 0), 1, Do Not Clip, Visible To Position and String, Color(White),
- Default Visibility);
- Global.LIST_CIVILIAN[0].EFFECT_ATOMIC_BEAM[0] = Last Text ID;
- Wait(2, Ignore Condition);
- Destroy In-World Text(Global.LIST_CIVILIAN[0].EFFECT_ATOMIC_BEAM[0]);
- Wait(1, Ignore Condition);
- Play Effect(All Players(All Teams), Ring Explosion, Color(White), World Vector Of(Vector(0, 0, -1) * 85, Global.LIST_CIVILIAN[0],
- Rotation And Translation), 200);
- Set Status(Global.LIST_CIVILIAN, Null, Stunned, 4);
- Global.JJ = 2;
- Chase Global Variable At Rate(JJ, 8, 6 / 2, Destination and Rate);
- Wait(5, Ignore Condition);
Play Effect(All Players(All Teams), Ring Explosion, White, World Vector Of(Vector(0, 0, -1) * 80, Global.LIST_CIVILIAN[0],
- Play Effect(All Players(All Teams), Ring Explosion, Color(White), World Vector Of(Vector(0, 0, -1) * 80, Global.LIST_CIVILIAN[0],
- Rotation And Translation), 200);
- Set Status(Global.LIST_CIVILIAN, Null, Knocked Down, 4);
- Global.JJ = 1;
- Chase Global Variable At Rate(JJ, 8, 7 / 2, Destination and Rate);
- Wait(5, Ignore Condition);
Small Message(All Players(All Teams), Custom String("RUN FOR YOUR LIVES EVERYONE! IT'S..."));
- Create In-World Text(All Players(All Teams), Custom String("{0}: \"RUN FOR YOUR LIVES EVERYONE! IT'S...\"", Hero Of(
- Global.LIST_CIVILIAN[0])), Position Of(Global.LIST_CIVILIAN[0]) + Vector(0, 0.500, 0), 1, Do Not Clip,
- Visible To Position and String, Color(White), Default Visibility);
- Global.LIST_CIVILIAN[0].EFFECT_ATOMIC_BEAM[0] = Last Text ID;
- Wait(5, Ignore Condition);
- Destroy In-World Text(Global.LIST_CIVILIAN[0].EFFECT_ATOMIC_BEAM[0]);
- While(Global.II < Count Of(Global.LIST_KAIJU));
- Start Camera(All Players(All Teams), (Global.LOCATION_KAIJU_SPAWN[Global.II] + Vector(0, 1.100, 0)) / 1.100,
- Global.LOCATION_KAIJU_SPAWN[Global.II] + Vector(0, 25, 0), 10);
- Wait(1, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("{0}ZILLA", Hero Of(Global.LIST_KAIJU[Global.II])));
- Communicate(Global.LIST_KAIJU[Global.II], Emote Up);
- Stop Camera(Global.LIST_KAIJU[Global.II]);
- Wait(0.100, Ignore Condition);
- Global.JJ = 1;
- Chase Global Variable At Rate(JJ, 8, 7 / 2, Destination and Rate);
- Start Camera(All Players(All Teams), (Global.LOCATION_KAIJU_SPAWN[Global.II] + Vector(0, 1.100, 0)) / 1.100 + Vector(0,
- 1 / Global.JJ * Sine From Degrees(100 * Global.JJ * 360), 0), Global.LOCATION_KAIJU_SPAWN[Global.II] + Vector(0, 25, 0), 0);
- Wait(8, Ignore Condition);
- Global.II += 1;
- End;
- Global.II = 0;
- Stop Camera(All Players(All Teams));
- Set Aim Speed(Global.LIST_CIVILIAN[0], 100);
- Set Status(Global.LIST_CIVILIAN, Null, Phased Out, 9999);
- Global.JJ = 0;
- }
- }
- rule("SUB: RESET HEALTH POOLS")
- {
- event
- {
- Subroutine;
- RESET_HEALTH_POOLS;
- }
- actions
- {
- Remove All Health Pools From Player(Event Player);
- If(Array Contains(Global.LIST_KAIJU, Event Player) == True);
Add Health Pool To Player(Event Player, Health, 10 - Round To Integer(Max Health(Event Player), Up), True, False);
- Add Health Pool To Player(Event Player, Health, 100 - Round To Integer(Max Health(Event Player), Up), True, False);
- Event Player.HEALTH_POOLS[0] = Last Created Health Pool;
Add Health Pool To Player(Event Player, Health, 10000, True, False);
- Add Health Pool To Player(Event Player, Health, 9990, True, False);
- Event Player.HEALTH_POOLS[1] = Last Created Health Pool;
Add Health Pool To Player(Event Player, Health, 10000, True, False);
- Add Health Pool To Player(Event Player, Health, 9990, True, False);
- Event Player.HEALTH_POOLS[2] = Last Created Health Pool;
Add Health Pool To Player(Event Player, Health, 10000, True, False);
- Add Health Pool To Player(Event Player, Health, 9990, True, False);
- Event Player.HEALTH_POOLS[3] = Last Created Health Pool;
Add Health Pool To Player(Event Player, Health, 10000, True, False);
- Add Health Pool To Player(Event Player, Health, 9990, True, False);
- Event Player.HEALTH_POOLS[4] = Last Created Health Pool;
Add Health Pool To Player(Event Player, Health, 10000, True, False);
- Add Health Pool To Player(Event Player, Health, 9990, True, False);
- Event Player.HEALTH_POOLS[5] = Last Created Health Pool;
Add Health Pool To Player(Event Player, Health, 10000, True, False);
- Add Health Pool To Player(Event Player, Health, 9990, True, False);
- Event Player.HEALTH_POOLS[6] = Last Created Health Pool;
Add Health Pool To Player(Event Player, Health, 10000, True, False);
- Add Health Pool To Player(Event Player, Health, 9990, True, False);
- Event Player.HEALTH_POOLS[7] = Last Created Health Pool;
Add Health Pool To Player(Event Player, Health, 10000, True, False);
- Add Health Pool To Player(Event Player, Health, 9990, True, False);
- Event Player.HEALTH_POOLS[8] = Last Created Health Pool;
Add Health Pool To Player(Event Player, Health, 10000, True, False);
- Add Health Pool To Player(Event Player, Health, 9990, True, False);
- Event Player.HEALTH_POOLS[9] = Last Created Health Pool;
Add Health Pool To Player(Event Player, Health, 10000, True, False);
- Add Health Pool To Player(Event Player, Health, 9990, True, False);
- Event Player.HEALTH_POOLS[10] = Last Created Health Pool;
- Else If(Array Contains(Global.LIST_CIVILIAN, Event Player) == True);
- Add Health Pool To Player(Event Player, Health, 100 - Round To Integer(Max Health(Event Player), Up), True, False);
- Event Player.HEALTH_POOLS[0] = Last Created Health Pool;
Else If(Array Contains(Global.LIST_VEHICLE, Event Player) == True);
- Else If(Array Contains(Global.LIST_MECH, Event Player) == True);
- Add Health Pool To Player(Event Player, Health, 1000 - Round To Integer(Max Health(Event Player), Up), True, False);
- Event Player.HEALTH_POOLS[0] = Last Created Health Pool;
- End;
- }
- }
- rule("SUB: DAMAGE BUILDING")
- {
- event
- {
- Subroutine;
- DAMAGE_BUILDING;
- }
- actions
- {
- If(Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] == Global.BUILDING_HITS_PER_SECTION * 0);
- Kill(Filtered Array(Remove From Array(All Players(All Teams), Global.LIST_KAIJU), Distance Between(
- Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING], Current Array Element) <= Global.WIDTH_BUILDINGS / 2), Event Player);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Cloud, White, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Cloud, Color(White), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Modify Global Variable(EFFECT_RUBBLE, Append To Array, Last Created Entity);
- Modify Global Variable(EFFECT_BUILDING_ONE, Remove From Array By Index, Event Player.CLOSEST_BUILDING);
- Modify Global Variable(EFFECT_BUILDING_TWO, Remove From Array By Index, Event Player.CLOSEST_BUILDING);
- Modify Global Variable(EFFECT_BUILDING_THREE, Remove From Array By Index, Event Player.CLOSEST_BUILDING);
- Modify Global Variable(LOCATION_BUILDINGS, Remove From Array By Index, Event Player.CLOSEST_BUILDING);
- Modify Global Variable(HEALTH_BUILDINGS, Remove From Array By Index, Event Player.CLOSEST_BUILDING);
- If((Filtered Array(Global.LOCATION_BUILDINGS, Global.LOCATION_POWERUP == Current Array Element) == Global.LOCATION_POWERUP)
- == False);
- Destroy Effect(Global.EFFECT_POWERUP[0]);
- Destroy In-World Text(Global.EFFECT_POWERUP[1]);
- Destroy Icon(Global.EFFECT_POWERUP[2]);
- Global.EFFECT_POWERUP = Empty Array;
- Global.LOCATION_POWERUP = Empty Array;
- End;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 0 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 0.125);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Purple, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Purple), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 0.125 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 0.250);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Red, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Red), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 0.250 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 0.375);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Orange, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Orange), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 0.375 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 0.500);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Yellow, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Yellow), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 0.500 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 0.625);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Lime Green, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Lime Green), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 0.625 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 0.750);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Green, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Green), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 0.750 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 0.875);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 0.875 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 1);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
- If(Global.EFFECT_BUILDING_TWO[Event Player.CLOSEST_BUILDING] != Empty Array);
- Destroy Effect(Global.EFFECT_BUILDING_TWO[Event Player.CLOSEST_BUILDING]);
- End;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 1 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 1.125);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Purple, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Purple), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 1.125 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 1.250);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Red, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Red), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 1.250 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 1.375);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Orange, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Orange), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 1.375 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 1.500);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Yellow, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Yellow), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 1.500 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 1.625);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Lime Green, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Lime Green), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 1.625 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 1.750);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Green, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Green), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 1.750 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 1.875);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 1.875 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 2);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
- If(Global.EFFECT_BUILDING_THREE[Event Player.CLOSEST_BUILDING] != Empty Array);
- Destroy Effect(Global.EFFECT_BUILDING_THREE[Event Player.CLOSEST_BUILDING]);
- End;
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 2 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 2.125);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Purple, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Purple), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 2.125 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 2.250);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Red, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Red), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 2.250 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 2.375);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Orange, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Orange), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 2.375 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 2.500);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Yellow, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Yellow), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 2.500 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 2.625);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Lime Green, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Lime Green), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 2.625 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 2.750);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Green, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Green), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 2.750 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 2.875);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, Turquoise, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(Turquoise), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- If(
- Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] > Global.BUILDING_HITS_PER_SECTION * 2.875 && Global.HEALTH_BUILDINGS[Event Player.CLOSEST_BUILDING] <= Global.BUILDING_HITS_PER_SECTION * 3);
- Destroy Effect(Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING]);
Create Effect(All Players(All Teams), Light Shaft, White, Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Create Effect(All Players(All Teams), Light Shaft, Color(White), Global.LOCATION_BUILDINGS[Event Player.CLOSEST_BUILDING],
- Global.WIDTH_BUILDINGS / 2, Visible To);
- Global.EFFECT_BUILDING_ONE[Event Player.CLOSEST_BUILDING] = Last Created Entity;
- End;
- }
- }
rule("SUB: VEHICLE POWERUP")
- rule("SUB: MECH POWERUP")
- {
- event
- {
- Subroutine;
VEHICLE_POWERUP;
- MECH_POWERUP;
- }
- actions
- {
- Modify Global Variable(LIST_CIVILIAN, Remove From Array By Value, Event Player);
Modify Global Variable(LIST_VEHICLE, Append To Array, Event Player);
If(Event Player.TYPE_VEHICLE == Custom String("AMPLIFIER"));
Start Forcing Player To Be Hero(Event Player, Hero(Baptiste));
Stop Forcing Player To Be Hero(Event Player);
- Modify Global Variable(LIST_MECH, Append To Array, Event Player);
- If(Event Player.TYPE_MECH == Custom String("MECH: OX"));
- Start Forcing Player To Be Hero(Event Player, Hero(Orisa));
- Wait(1, Ignore Condition);
Set Ultimate Charge(Event Player, 100);
- End;
If(Event Player.TYPE_VEHICLE == Custom String("BOMB"));
- If(Event Player.TYPE_MECH == Custom String("MECH: RAT"));
- Start Forcing Player To Be Hero(Event Player, Hero(Junkrat));
Stop Forcing Player To Be Hero(Event Player);
While(Is Using Ultimate(Event Player) == False);
Wait(1, Ignore Condition);
Set Ultimate Charge(Event Player, 100);
Press Button(Event Player, Ultimate);
End;
- End;
If(Event Player.TYPE_VEHICLE == Custom String("TREMOR SUIT"));
- If(Event Player.TYPE_MECH == Custom String("MECH: LION"));
- Start Forcing Player To Be Hero(Event Player, Hero(Reinhardt));
Stop Forcing Player To Be Hero(Event Player);
Wait(1, Ignore Condition);
Set Ultimate Charge(Event Player, 100);
Create Effect(Event Player, Light Shaft, Yellow, Position Of(Event Player) + Vector(0, -15, 0), 100,
Visible To Position and Radius);
Event Player.EFFECT_ATOMIC_BEAM[0] = Last Created Entity;
- End;
If(Event Player.TYPE_VEHICLE == Custom String("JETPACK"));
- If(Event Player.TYPE_MECH == Custom String("MECH: RAPTOR"));
- Start Forcing Player To Be Hero(Event Player, Hero(Pharah));
Stop Forcing Player To Be Hero(Event Player);
Wait(1, Ignore Condition);
Set Ultimate Charge(Event Player, 100);
- End;
If(Event Player.TYPE_VEHICLE == Custom String("MECH"));
- If(Event Player.TYPE_MECH == Custom String("MECH: RABBIT"));
- Start Forcing Player To Be Hero(Event Player, Hero(D.Va));
Stop Forcing Player To Be Hero(Event Player);
Wait(1, Ignore Condition);
Set Ultimate Charge(Event Player, 100);
- End;
If(Event Player.TYPE_VEHICLE == Custom String("TANK"));
- If(Event Player.TYPE_MECH == Custom String("MECH: TANK"));
- Start Forcing Player To Be Hero(Event Player, Hero(Bastion));
Stop Forcing Player To Be Hero(Event Player);
While(Is Using Ultimate(Event Player) == False);
Wait(1, Ignore Condition);
Set Ultimate Charge(Event Player, 100);
Press Button(Event Player, Ultimate);
End;
- End;
- Stop Forcing Player To Be Hero(Event Player);
- Set Ultimate Charge(Event Player, 100);
- If(Event Player.TYPE_MECH == Custom String("MECH: RAT") || Event Player.TYPE_MECH == Custom String("MECH: TANK"));
- Press Button(Event Player, Button(Ultimate));
- End;
- }
- }
- rule("SUB: START KAIJU ATOMIC BEAM")
- {
- event
- {
- Subroutine;
- START_KAIJU_ATOMIC_BEAM;
- }
- actions
- {
- Set Status(Event Player, Null, Burning, 9999);
- Wait(0.300, Ignore Condition);
Create Effect(All Players(All Teams), Sphere, Yellow, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
+ Facing Direction Of(Event Player) * 10 ^ 0.200 * Event Player.SCALE_PLAYER * Global.DISTANCE_KAB, Null, Null, False),
10 ^ 0.200 * Event Player.SCALE_PLAYER * Global.SPREAD_KAB + Global.BASE_KAB, Visible To Position and Radius);
- Create Effect(All Players(All Teams), Good Aura, Color(Yellow), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(
- Event Player) + Facing Direction Of(Event Player) * 10 ^ 0.200 * Event Player.SCALE_PLAYER * Global.DISTANCE_KAB, Null, Null,
- False), 10 ^ 0.200 * Event Player.SCALE_PLAYER * Global.SPREAD_KAB + Global.BASE_KAB, Visible To Position and Radius);
- Event Player.EFFECT_ATOMIC_BEAM[0] = Last Created Entity;
- Wait(0.300, Ignore Condition);
Create Effect(All Players(All Teams), Sphere, Lime Green, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(
- Create Effect(All Players(All Teams), Good Aura, Color(Lime Green), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(
- Event Player) + Facing Direction Of(Event Player) * 10 ^ 0.400 * Event Player.SCALE_PLAYER * Global.DISTANCE_KAB, Null, Null,
- False), 10 ^ 0.400 * Event Player.SCALE_PLAYER * Global.SPREAD_KAB + Global.BASE_KAB, Visible To Position and Radius);
- Event Player.EFFECT_ATOMIC_BEAM[1] = Last Created Entity;
- Wait(0.300, Ignore Condition);
Create Effect(All Players(All Teams), Sphere, Green, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
+ Facing Direction Of(Event Player) * 10 ^ 0.600 * Event Player.SCALE_PLAYER * Global.DISTANCE_KAB, Null, Null, False),
10 ^ 0.600 * Event Player.SCALE_PLAYER * Global.SPREAD_KAB + Global.BASE_KAB, Visible To Position and Radius);
- Create Effect(All Players(All Teams), Good Aura, Color(Green), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(
- Event Player) + Facing Direction Of(Event Player) * 10 ^ 0.600 * Event Player.SCALE_PLAYER * Global.DISTANCE_KAB, Null, Null,
- False), 10 ^ 0.600 * Event Player.SCALE_PLAYER * Global.SPREAD_KAB + Global.BASE_KAB, Visible To Position and Radius);
- Event Player.EFFECT_ATOMIC_BEAM[2] = Last Created Entity;
- Wait(0.300, Ignore Condition);
Create Effect(All Players(All Teams), Sphere, Turquoise, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(
- Create Effect(All Players(All Teams), Good Aura, Color(Turquoise), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(
- Event Player) + Facing Direction Of(Event Player) * 10 ^ 0.800 * Event Player.SCALE_PLAYER * Global.DISTANCE_KAB, Null, Null,
- False), 10 ^ 0.800 * Event Player.SCALE_PLAYER * Global.SPREAD_KAB + Global.BASE_KAB, Visible To Position and Radius);
- Event Player.EFFECT_ATOMIC_BEAM[3] = Last Created Entity;
- Wait(0.300, Ignore Condition);
Create Effect(All Players(All Teams), Sphere, Aqua, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
+ Facing Direction Of(Event Player) * 10 ^ 1 * Event Player.SCALE_PLAYER * Global.DISTANCE_KAB, Null, Null, False),
10 ^ 1 * Event Player.SCALE_PLAYER * Global.SPREAD_KAB + Global.BASE_KAB, Visible To Position and Radius);
- Create Effect(All Players(All Teams), Good Aura, Color(Aqua), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(
- Event Player) + Facing Direction Of(Event Player) * 10 ^ 1 * Event Player.SCALE_PLAYER * Global.DISTANCE_KAB, Null, Null,
- False), 10 ^ 1 * Event Player.SCALE_PLAYER * Global.SPREAD_KAB + Global.BASE_KAB, Visible To Position and Radius);
- Event Player.EFFECT_ATOMIC_BEAM[4] = Last Created Entity;
- }
- }
- rule("SUB: END KAIJU ATOMIC BEAM")
- {
- event
- {
- Subroutine;
- END_KAIJU_ATOMIC_BEAM;
- }
- actions
- {
- Clear Status(Event Player, Burning);
- Wait(0.300, Ignore Condition);
- Destroy Effect(Event Player.EFFECT_ATOMIC_BEAM[0]);
- Event Player.EFFECT_ATOMIC_BEAM[0] = Empty Array;
- Wait(0.300, Ignore Condition);
- Destroy Effect(Event Player.EFFECT_ATOMIC_BEAM[1]);
- Event Player.EFFECT_ATOMIC_BEAM[1] = Empty Array;
- Wait(0.300, Ignore Condition);
- Destroy Effect(Event Player.EFFECT_ATOMIC_BEAM[2]);
- Event Player.EFFECT_ATOMIC_BEAM[2] = Empty Array;
- Wait(0.300, Ignore Condition);
- Destroy Effect(Event Player.EFFECT_ATOMIC_BEAM[3]);
- Event Player.EFFECT_ATOMIC_BEAM[3] = Empty Array;
- Wait(0.300, Ignore Condition);
- Destroy Effect(Event Player.EFFECT_ATOMIC_BEAM[4]);
- Event Player.EFFECT_ATOMIC_BEAM[4] = Empty Array;
- }
- }