Return to post
- settings
- {
- main
- {
- Description: "Agar.io with hero scaling. Made by Mitsiee. More at workshop.codes/tracer-agario."
- }
- modes
- {
- Deathmatch
- {
- enabled maps
- {
- Workshop Expanse Night
- }
- }
- General
- {
- Game Length In Minutes: 15
- Game Mode Start: Immediately
- Hero Limit: Off
- Respawn Time Scalar: 0%
- Spawn Health Packs: Disabled
- }
- }
- heroes
- {
- General
- {
- Tracer
- {
- Ammunition Clip Size Scalar: 25%
- Damage Dealt: 500%
- Damage Received: 500%
- Primary Fire: Off
- Projectile Gravity: 25%
- Projectile Speed: 500%
- Quick Melee: Off
- Ultimate Generation - Combat Pulse Bomb: 0%
- Ultimate Generation - Passive Pulse Bomb: 0%
- Ultimate Generation Pulse Bomb: 10%
- }
- enabled heroes
- {
- Tracer
- }
- }
- }
- }
- variables
- {
- global:
- 0: BlobLocations
- 1: BlobSizeOverride
- 2: BlobEffects
- 3: RandomColor
- 4: MapSize
- 5: MaxScore
- player:
- 0: Score
- 2: BlobsInRange
- 3: OverheadCamera
- 4: RespawnProtection
- 5: RespawnProtectionEffect
- }
- subroutines
- {
- 0: CreateBlobEffect
- }
- rule("Initialise")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Global.BlobLocations = Empty Array;
- Global.BlobEffects = Empty Array;
- Global.MapSize = Workshop Setting Integer(Custom String("Map"), Custom String("Playarea size (250 Default)"), 250, 100, 350);
Global.MaxScore = Workshop Setting Integer(Custom String("Rules"), Custom String("Max score (250 Default)"), 250, 100, 500);
- Global.MaxScore = Workshop Setting Integer(Custom String("Rules"), Custom String("Max score (500 Default)"), 500, 100, 1000);
- }
- }
- rule("HUD")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Create HUD Text(Event Player, Null, Custom String("Press [Interact] to toggle Overhead camera (It's janky)"), Custom String(
- "Overhead camera: {0}", Event Player.OverheadCamera), Left, 0, White, White, White, Visible To and String, Default Visibility);
- Create HUD Text(Event Player, Null, Null, Custom String("Score: {0}", Event Player.Score), Right, 0, White, White, Orange,
- Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(Event Player, Event Player.RespawnProtection), Custom String("Respawn protection is on"), Null,
- Null, Top, 5, Blue, White, White, Visible To and String, Default Visibility);
- Create HUD Text(Event Player, Null, Custom String(" "), Null, Left, 0.500, White, White, White, Visible To and String,
- Default Visibility);
- Create HUD Text(Event Player, Null, Custom String("Hold [Crouch] to view tutorial text"), Null, Left, 1, White, Blue, Blue,
- Visible To and String, Default Visibility);
- }
- }
- rule("Set objective HUD")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Match Time > 5;
- Is Game In Progress == True;
- }
- actions
- {
- Set Objective Description(All Players(All Teams), Custom String("First to {0}", Global.MaxScore), Visible To and String);
- }
- }
- rule("In-world text")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create In-World Text(All Players(All Teams), Custom String("Tracer Agar.io"), Vector(0, 500, 400), 4, Clip Against Surfaces,
- Visible To Position and String, Blue, Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("Made by Mitsiee"), Vector(0, 450, 400), 2, Clip Against Surfaces,
- Visible To Position and String, White, Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("workshop.codes/tracer-agario"), Vector(0, 425, 400), 1,
- Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
- }
- }
- rule("Crouch for tutorial text")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create HUD Text(Filtered Array(All Players(All Teams), Is Crouching(Current Array Element)), Null, Custom String(" "), Null, Left,
- 4, White, White, White, Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(All Players(All Teams), Is Crouching(Current Array Element)), Null, Custom String(" "), Null, Left,
- 4, White, White, White, Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(All Players(All Teams), Is Crouching(Current Array Element)), Null, Null, Custom String(
- "Pick up blobs to increase your size."), Left, 5, White, White, White, Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(All Players(All Teams), Is Crouching(Current Array Element)), Null, Null, Custom String(
- "Consume other players to gain half their score. You can only consume players smaller than you."), Left, 6, White, White,
- White, Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(All Players(All Teams), Is Crouching(Current Array Element)), Null, Null, Custom String(
- "Using Blink removes 2 score and drops 1 blob."), Left, 7, White, White, White, Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(All Players(All Teams), Is Crouching(Current Array Element)), Null, Null, Custom String(
- "Using Recall removes 20% score and drops half of that as a blob."), Left, 8, White, White, White, Visible To and String,
- Default Visibility);
- Create HUD Text(Filtered Array(All Players(All Teams), Is Crouching(Current Array Element)), Null, Null, Custom String(
- "Picking up a blob gives 5% ultimate charge. Ultimate instakills and consumes half their score."), Left, 9, White, White,
- White, Visible To and String, Default Visibility);
- Create HUD Text(Filtered Array(All Players(All Teams), Is Crouching(Current Array Element)), Null, Null, Custom String(
- "First to {0} wins.", Global.MaxScore), Left, 10, White, White, White, Visible To and String, Default Visibility);
- }
- }
- disabled rule("--- Map boundary")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("Map boundary effects")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create Beam Effect(All Players(All Teams), Bad Beam, Vector((Global.MapSize + 10) * -1, 0, Global.MapSize + 10), Vector(
- Global.MapSize + 10, 0, Global.MapSize + 10), Red, Visible To);
- Create Beam Effect(All Players(All Teams), Bad Beam, Vector(Global.MapSize + 10, 0, Global.MapSize + 10), Vector(
- Global.MapSize + 10, 0, (Global.MapSize + 10) * -1), Red, Visible To);
- Create Beam Effect(All Players(All Teams), Bad Beam, Vector(Global.MapSize + 10, 0, (Global.MapSize + 10) * -1), Vector((
- Global.MapSize + 10) * -1, 0, (Global.MapSize + 10) * -1), Red, Visible To);
- Create Beam Effect(All Players(All Teams), Bad Beam, Vector((Global.MapSize + 10) * -1, 0, (Global.MapSize + 10) * -1), Vector((
- Global.MapSize + 10) * -1, 0, Global.MapSize + 10), Red, Visible To);
- }
- }
- rule("Push back in to map if leaving boundary")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- (X Component Of(Position Of(Event Player)) > Global.MapSize + 10 || X Component Of(Position Of(Event Player)) < (
- Global.MapSize + 10) * -1 || Z Component Of(Position Of(Event Player)) > Global.MapSize + 10 || Z Component Of(Position Of(
- Event Player)) < (Global.MapSize + 10) * -1) == True;
- Has Spawned(Event Player) == True;
- }
- actions
- {
- Apply Impulse(Event Player, Direction Towards(Position Of(Event Player), Vector(0, 0, 0)), 10, To World, Cancel Contrary Motion);
- Set Move Speed(Event Player, 0);
- Wait(0.016, Ignore Condition);
- Set Move Speed(Event Player, 500);
- Loop If Condition Is True;
- }
- }
- disabled rule("--- Initialise game")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("Initialise player")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Event Player.Score = 1;
- Event Player.OverheadCamera = False;
- Event Player.RespawnProtection = True;
- Set Move Speed(Event Player, 500);
- Start Scaling Player(Event Player, 20 / Global.MaxScore * Event Player.Score, True);
- }
- }
- rule("Create blobs")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Count Of(Global.BlobLocations) < 80;
- }
- actions
- {
- Global.BlobLocations = Append To Array(Global.BlobLocations, Vector(Random Real(Global.MapSize * -1, Global.MapSize), 0,
- Random Real(Global.MapSize * -1, Global.MapSize)));
- Call Subroutine(CreateBlobEffect);
- Wait(0.016, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("Subroutine - Create blob effect")
- {
- event
- {
- Subroutine;
- CreateBlobEffect;
- }
- actions
- {
- Global.RandomColor = Random Integer(0, 5);
- If(Global.RandomColor == 0);
- Create Effect(All Players(All Teams), Sphere, Yellow, Last Of(Global.BlobLocations), Max(
- Global.BlobSizeOverride[Index Of Array Value(Global.BlobLocations, Last Of(Global.BlobLocations))], 1), Visible To);
- Else If(Global.RandomColor == 1);
- Create Effect(All Players(All Teams), Sphere, Red, Last Of(Global.BlobLocations), Max(Global.BlobSizeOverride[Index Of Array Value(
- Global.BlobLocations, Last Of(Global.BlobLocations))], 1), Visible To);
- Else If(Global.RandomColor == 2);
- Create Effect(All Players(All Teams), Sphere, Green, Last Of(Global.BlobLocations), Max(
- Global.BlobSizeOverride[Index Of Array Value(Global.BlobLocations, Last Of(Global.BlobLocations))], 1), Visible To);
- Else If(Global.RandomColor == 3);
- Create Effect(All Players(All Teams), Sphere, Purple, Last Of(Global.BlobLocations), Max(
- Global.BlobSizeOverride[Index Of Array Value(Global.BlobLocations, Last Of(Global.BlobLocations))], 1), Visible To);
- Else If(Global.RandomColor == 4);
- Create Effect(All Players(All Teams), Sphere, Orange, Last Of(Global.BlobLocations), Max(
- Global.BlobSizeOverride[Index Of Array Value(Global.BlobLocations, Last Of(Global.BlobLocations))], 1), Visible To);
- Else If(Global.RandomColor == 5);
- Create Effect(All Players(All Teams), Sphere, Aqua, Last Of(Global.BlobLocations), Max(
- Global.BlobSizeOverride[Index Of Array Value(Global.BlobLocations, Last Of(Global.BlobLocations))], 1), Visible To);
- End;
- Global.BlobEffects = Append To Array(Global.BlobEffects, Last Created Entity);
- }
- }
- disabled rule("All blob effects")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 0), Sphere, White, Global.BlobLocations[0],
- Max(Global.BlobSizeOverride[0], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 1), Sphere, White, Global.BlobLocations[1],
- Max(Global.BlobSizeOverride[1], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 2), Sphere, White, Global.BlobLocations[2],
- Max(Global.BlobSizeOverride[2], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 3), Sphere, White, Global.BlobLocations[3],
- Max(Global.BlobSizeOverride[3], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 4), Sphere, White, Global.BlobLocations[4],
- Max(Global.BlobSizeOverride[4], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 5), Sphere, White, Global.BlobLocations[5],
- Max(Global.BlobSizeOverride[5], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 6), Sphere, White, Global.BlobLocations[6],
- Max(Global.BlobSizeOverride[6], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 7), Sphere, Green, Global.BlobLocations[7],
- Max(Global.BlobSizeOverride[7], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 8), Sphere, Green, Global.BlobLocations[8],
- Max(Global.BlobSizeOverride[8], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 9), Sphere, Green, Global.BlobLocations[9],
- Max(Global.BlobSizeOverride[9], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 10), Sphere, Green, Global.BlobLocations[10],
- Max(Global.BlobSizeOverride[10], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 11), Sphere, Green, Global.BlobLocations[11],
- Max(Global.BlobSizeOverride[11], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 12), Sphere, Green, Global.BlobLocations[12],
- Max(Global.BlobSizeOverride[12], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 13), Sphere, Green, Global.BlobLocations[13],
- Max(Global.BlobSizeOverride[13], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 14), Sphere, Green, Global.BlobLocations[14],
- Max(Global.BlobSizeOverride[14], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 15), Sphere, Green, Global.BlobLocations[15],
- Max(Global.BlobSizeOverride[15], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 16), Sphere, Blue, Global.BlobLocations[16],
- Max(Global.BlobSizeOverride[16], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 17), Sphere, Blue, Global.BlobLocations[17],
- Max(Global.BlobSizeOverride[17], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 18), Sphere, Blue, Global.BlobLocations[18],
- Max(Global.BlobSizeOverride[18], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 19), Sphere, Blue, Global.BlobLocations[19],
- Max(Global.BlobSizeOverride[19], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 20), Sphere, Blue, Global.BlobLocations[20],
- Max(Global.BlobSizeOverride[20], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 21), Sphere, Blue, Global.BlobLocations[21],
- Max(Global.BlobSizeOverride[21], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 22), Sphere, Blue, Global.BlobLocations[22],
- Max(Global.BlobSizeOverride[22], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 23), Sphere, Blue, Global.BlobLocations[23],
- Max(Global.BlobSizeOverride[23], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 24), Sphere, Blue, Global.BlobLocations[24],
- Max(Global.BlobSizeOverride[24], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 25), Sphere, Blue, Global.BlobLocations[25],
- Max(Global.BlobSizeOverride[25], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 26), Sphere, Blue, Global.BlobLocations[26],
- Max(Global.BlobSizeOverride[26], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 27), Sphere, Red, Global.BlobLocations[27],
- Max(Global.BlobSizeOverride[27], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 28), Sphere, Red, Global.BlobLocations[28],
- Max(Global.BlobSizeOverride[28], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 29), Sphere, Red, Global.BlobLocations[29],
- Max(Global.BlobSizeOverride[29], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 30), Sphere, Red, Global.BlobLocations[30],
- Max(Global.BlobSizeOverride[30], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 31), Sphere, Red, Global.BlobLocations[31],
- Max(Global.BlobSizeOverride[31], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 32), Sphere, Red, Global.BlobLocations[32],
- Max(Global.BlobSizeOverride[32], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 33), Sphere, Red, Global.BlobLocations[33],
- Max(Global.BlobSizeOverride[33], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 34), Sphere, Red, Global.BlobLocations[34],
- Max(Global.BlobSizeOverride[34], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 35), Sphere, Red, Global.BlobLocations[35],
- Max(Global.BlobSizeOverride[35], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 36), Sphere, Red, Global.BlobLocations[36],
- Max(Global.BlobSizeOverride[36], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 37), Sphere, Red, Global.BlobLocations[37],
- Max(Global.BlobSizeOverride[37], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 38), Sphere, Red, Global.BlobLocations[38],
- Max(Global.BlobSizeOverride[38], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 39), Sphere, Purple,
- Global.BlobLocations[39], Max(Global.BlobSizeOverride[39], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 40), Sphere, Purple,
- Global.BlobLocations[40], Max(Global.BlobSizeOverride[40], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 41), Sphere, Purple,
- Global.BlobLocations[41], Max(Global.BlobSizeOverride[41], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 42), Sphere, Purple,
- Global.BlobLocations[42], Max(Global.BlobSizeOverride[42], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 43), Sphere, Purple,
- Global.BlobLocations[43], Max(Global.BlobSizeOverride[43], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 44), Sphere, Purple,
- Global.BlobLocations[44], Max(Global.BlobSizeOverride[44], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 45), Sphere, Purple,
- Global.BlobLocations[45], Max(Global.BlobSizeOverride[45], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 46), Sphere, Purple,
- Global.BlobLocations[46], Max(Global.BlobSizeOverride[46], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 47), Sphere, Purple,
- Global.BlobLocations[47], Max(Global.BlobSizeOverride[47], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 48), Sphere, Purple,
- Global.BlobLocations[48], Max(Global.BlobSizeOverride[48], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 49), Sphere, Purple,
- Global.BlobLocations[49], Max(Global.BlobSizeOverride[49], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 50), Sphere, Purple,
- Global.BlobLocations[50], Max(Global.BlobSizeOverride[50], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 51), Sphere, Aqua, Global.BlobLocations[51],
- Max(Global.BlobSizeOverride[51], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 52), Sphere, Aqua, Global.BlobLocations[52],
- Max(Global.BlobSizeOverride[52], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 53), Sphere, Aqua, Global.BlobLocations[53],
- Max(Global.BlobSizeOverride[53], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 54), Sphere, Aqua, Global.BlobLocations[54],
- Max(Global.BlobSizeOverride[54], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 55), Sphere, Aqua, Global.BlobLocations[55],
- Max(Global.BlobSizeOverride[55], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 56), Sphere, Aqua, Global.BlobLocations[56],
- Max(Global.BlobSizeOverride[56], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 57), Sphere, Aqua, Global.BlobLocations[57],
- Max(Global.BlobSizeOverride[57], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 58), Sphere, Aqua, Global.BlobLocations[58],
- Max(Global.BlobSizeOverride[58], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 59), Sphere, Aqua, Global.BlobLocations[59],
- Max(Global.BlobSizeOverride[59], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 60), Sphere, Aqua, Global.BlobLocations[60],
- Max(Global.BlobSizeOverride[60], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 61), Sphere, Aqua, Global.BlobLocations[61],
- Max(Global.BlobSizeOverride[61], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 62), Sphere, Aqua, Global.BlobLocations[62],
- Max(Global.BlobSizeOverride[62], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 63), Sphere, Aqua, Global.BlobLocations[63],
- Max(Global.BlobSizeOverride[63], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 64), Sphere, Orange,
- Global.BlobLocations[64], Max(Global.BlobSizeOverride[64], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 65), Sphere, Orange,
- Global.BlobLocations[65], Max(Global.BlobSizeOverride[65], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 66), Sphere, Orange,
- Global.BlobLocations[66], Max(Global.BlobSizeOverride[66], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 67), Sphere, Orange,
- Global.BlobLocations[67], Max(Global.BlobSizeOverride[67], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 68), Sphere, Orange,
- Global.BlobLocations[68], Max(Global.BlobSizeOverride[68], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 69), Sphere, Orange,
- Global.BlobLocations[69], Max(Global.BlobSizeOverride[69], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 70), Sphere, Orange,
- Global.BlobLocations[70], Max(Global.BlobSizeOverride[70], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 71), Sphere, Orange,
- Global.BlobLocations[71], Max(Global.BlobSizeOverride[71], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 72), Sphere, Orange,
- Global.BlobLocations[72], Max(Global.BlobSizeOverride[72], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 73), Sphere, Orange,
- Global.BlobLocations[73], Max(Global.BlobSizeOverride[73], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 74), Sphere, Yellow,
- Global.BlobLocations[74], Max(Global.BlobSizeOverride[74], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 75), Sphere, Yellow,
- Global.BlobLocations[75], Max(Global.BlobSizeOverride[75], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 76), Sphere, Yellow,
- Global.BlobLocations[76], Max(Global.BlobSizeOverride[76], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 77), Sphere, Yellow,
- Global.BlobLocations[77], Max(Global.BlobSizeOverride[77], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 78), Sphere, Yellow,
- Global.BlobLocations[78], Max(Global.BlobSizeOverride[78], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 79), Sphere, Yellow,
- Global.BlobLocations[79], Max(Global.BlobSizeOverride[79], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 80), Sphere, Green, Global.BlobLocations[80],
- Max(Global.BlobSizeOverride[80], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 81), Sphere, Orange,
- Global.BlobLocations[81], Max(Global.BlobSizeOverride[81], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 82), Sphere, Blue, Global.BlobLocations[82],
- Max(Global.BlobSizeOverride[82], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 83), Sphere, Green, Global.BlobLocations[83],
- Max(Global.BlobSizeOverride[83], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 84), Sphere, White, Global.BlobLocations[84],
- Max(Global.BlobSizeOverride[84], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 85), Sphere, Yellow,
- Global.BlobLocations[85], Max(Global.BlobSizeOverride[85], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 86), Sphere, Blue, Global.BlobLocations[86],
- Max(Global.BlobSizeOverride[86], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 87), Sphere, Yellow,
- Global.BlobLocations[87], Max(Global.BlobSizeOverride[87], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 88), Sphere, White, Global.BlobLocations[88],
- Max(Global.BlobSizeOverride[88], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 89), Sphere, White, Global.BlobLocations[89],
- Max(Global.BlobSizeOverride[89], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 90), Sphere, White, Global.BlobLocations[90],
- Max(Global.BlobSizeOverride[90], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 91), Sphere, White, Global.BlobLocations[91],
- Max(Global.BlobSizeOverride[91], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 92), Sphere, White, Global.BlobLocations[92],
- Max(Global.BlobSizeOverride[92], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 93), Sphere, Red, Global.BlobLocations[93],
- Max(Global.BlobSizeOverride[93], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 94), Sphere, Red, Global.BlobLocations[94],
- Max(Global.BlobSizeOverride[94], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 95), Sphere, Red, Global.BlobLocations[95],
- Max(Global.BlobSizeOverride[95], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 96), Sphere, Red, Global.BlobLocations[96],
- Max(Global.BlobSizeOverride[96], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 97), Sphere, Red, Global.BlobLocations[97],
- Max(Global.BlobSizeOverride[97], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 98), Sphere, Yellow,
- Global.BlobLocations[98], Max(Global.BlobSizeOverride[98], 1), Visible To Position and Radius);
- Create Effect(Filtered Array(All Players(All Teams), Count Of(Global.BlobLocations) > 99), Sphere, Yellow,
- Global.BlobLocations[99], Max(Global.BlobSizeOverride[99], 1), Visible To Position and Radius);
- }
- }
- rule("Effect around player")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Has Spawned(Event Player) == True;
- }
- actions
- {
- Create Effect(Filtered Array(Is Alive(Event Player), True), Sphere, Blue, Event Player, Max(
- 20 / Global.MaxScore * Event Player.Score, 1), Visible To Position and Radius);
- }
- }
- rule("Pre-game timer")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Is Assembling Heroes == True;
- Match Time > 3;
- }
- actions
- {
- Set Match Time(3);
- }
- }
- rule("Disable gamemode stuff")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Disable Built-In Game Mode Completion;
- Disable Built-In Game Mode Announcer;
- Disable Built-In Game Mode Scoring;
- Disable Built-In Game Mode Music;
- }
- }
- rule("Complete when score is at max")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Score Of(Event Player) >= Global.MaxScore;
- }
- actions
- {
- Declare Player Victory(Event Player);
- }
- }
- disabled rule("--- Picking up blobs")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("Is player in blob?")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Has Spawned(Event Player) == True;
- Is Using Ability 2(Event Player) != True;
- Is True For Any(Global.BlobLocations, Distance Between(Position Of(Event Player), Current Array Element) <= Max(
Event Player.Score / 10, Max(Global.BlobSizeOverride[Current Array Index], 1))) == True;
- 20 / Global.MaxScore * Event Player.Score, Max(Global.BlobSizeOverride[Current Array Index], 1))) == True;
- }
- actions
- {
- Event Player.BlobsInRange = Empty Array;
- Event Player.BlobsInRange = Filtered Array(Global.BlobLocations, Distance Between(Position Of(Event Player), Current Array Element)
- <= Max(Event Player.Score / 10, Max(Global.BlobSizeOverride[Current Array Index], 1)));
- Play Effect(All Players(All Teams), Buff Explosion Sound, White, Event Player, 50);
- While(Count Of(Event Player.BlobsInRange) > 0);
- Event Player.Score += Max(Global.BlobSizeOverride[Index Of Array Value(Global.BlobLocations, Last Of(Event Player.BlobsInRange))],
- 1);
- Destroy Effect(Global.BlobEffects[Index Of Array Value(Global.BlobLocations, Last Of(Event Player.BlobsInRange))]);
- Global.BlobEffects[Index Of Array Value(Global.BlobLocations, Last Of(Event Player.BlobsInRange))] = 0;
- Global.BlobEffects = Remove From Array(Global.BlobEffects, 0);
- Play Effect(All Players(All Teams), Good Explosion, White, Last Of(Event Player.BlobsInRange), 1);
- Play Effect(All Players(All Teams), Ring Explosion, White, Last Of(Event Player.BlobsInRange), 4);
- Play Effect(All Players(All Teams), Buff Impact Sound, White, Last Of(Event Player.BlobsInRange), 50);
- Wait(0.016, Ignore Condition);
- Global.BlobLocations = Remove From Array(Global.BlobLocations, Last Of(Event Player.BlobsInRange));
- Event Player.BlobsInRange = Remove From Array(Event Player.BlobsInRange, Last Of(Event Player.BlobsInRange));
- Set Player Score(Event Player, Event Player.Score);
- Set Ultimate Charge(Event Player, Ultimate Charge Percent(Event Player) + 5);
- End;
- Wait(0.016, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("Are players in range of eachother, and can event player eat victim?")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.RespawnProtection != True;
- Has Spawned(Event Player) == True;
- Is Using Ability 2(Event Player) != True;
- Is True For Any(Remove From Array(All Living Players(All Teams), Event Player),
!Current Array Element.RespawnProtection && Current Array Element.Score < Event Player.Score && Distance Between(Position Of(
Current Array Element), Position Of(Event Player)) < Max(Event Player.Score / 10, 1)) == True;
- !Current Array Element.RespawnProtection && Current Array Element.Score < Event Player.Score && !Is Using Ability 2(
- Current Array Element) && Distance Between(Position Of(Current Array Element), Position Of(Event Player)) < Max(
- 20 / Global.MaxScore * Event Player.Score, 1)) == True;
- }
- actions
- {
- Kill(Remove From Array(Players Within Radius(Position Of(Event Player), Max(Event Player.Score / 10, 1), All Teams, Off),
- Event Player), Event Player);
- }
- }
- rule("Player killed someone")
- {
- event
- {
- Player Dealt Final Blow;
- All;
- All;
- }
- actions
- {
- Event Player.Score += Max(Event Player.Score / 2, 1);
- Set Player Score(Event Player, Event Player.Score);
- }
- }
- rule("Player dies")
- {
- event
- {
- Player Died;
- All;
- All;
- }
- actions
- {
- Play Effect(All Players(All Teams), Debuff Impact Sound, White, Position Of(Event Player), 100);
- Wait(0.016, Ignore Condition);
- Event Player.Score = 1;
- Set Player Score(Event Player, 1);
- }
- }
- disabled rule("--- Respawn")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("Respawn protection")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Alive(Event Player) == True;
- Has Spawned(Event Player) == True;
- }
- actions
- {
- Event Player.RespawnProtection = True;
- Create Effect(All Players(All Teams), Sphere, Red, Event Player, 1.100, Visible To Position and Radius);
- Event Player.RespawnProtectionEffect = Last Created Entity;
- Wait(3, Ignore Condition);
- Destroy Effect(Event Player.RespawnProtectionEffect);
- Event Player.RespawnProtection = False;
- }
- }
- rule("Respawn at random location")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Alive(Event Player) == True;
- Has Spawned(Event Player) == True;
- }
- actions
- {
- Teleport(Event Player, Vector(Random Real((Global.MapSize - 10) * -1, Global.MapSize - 10), 0.500, Random Real((
- Global.MapSize - 10) * -1, Global.MapSize - 10)));
- }
- }
- disabled rule("--- Camera")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("Toggle camera mode")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Interact) == True;
- }
- actions
- {
- Event Player.OverheadCamera = !Event Player.OverheadCamera;
- }
- }
- rule("Is camera overhead?")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.OverheadCamera == True;
- }
- actions
- {
- Start Camera(Event Player, Position Of(Event Player) + Vector(0, 100, 0), Position Of(Event Player) + Vector(0, 0, 0.001), 60);
- Start Facing(Event Player, Direction Towards(Vector(0, 0, 0), Vector(0, 0, 10000)), 10000, To World, Direction and Turn Rate);
- }
- }
- rule("Is camera not overhead?")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.OverheadCamera == False;
- }
- actions
- {
- Stop Camera(Event Player);
- Stop Facing(Event Player);
- }
- }
- disabled rule("--- Blink")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("Player is blinking")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Using Ability 1(Event Player) == True;
- Event Player.Score > 1;
- }
- actions
- {
- Event Player.Score -= 2;
- Set Player Score(Event Player, Event Player.Score);
- If(Count Of(Global.BlobLocations) < 100);
- Global.BlobLocations = Append To Array(Global.BlobLocations, Position Of(Event Player));
- Call Subroutine(CreateBlobEffect);
- End;
- }
- }
- disabled rule("--- Recall")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("Player is recalling")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Using Ability 2(Event Player) == True;
- }
- actions
- {
- If(Count Of(Global.BlobLocations) < 100);
- Global.BlobLocations = Append To Array(Global.BlobLocations, Position Of(Event Player));
- Global.BlobSizeOverride[Count Of(Global.BlobLocations) - 1] = Event Player.Score - Round To Integer(Event Player.Score / 1.100,
- To Nearest);
- Call Subroutine(CreateBlobEffect);
- End;
- Event Player.Score = Round To Integer(Event Player.Score / 1.200, To Nearest);
- Set Player Score(Event Player, Event Player.Score);
- }
- }
- disabled rule("--- Debugging stuff")
- {
- event
- {
- Ongoing - Global;
- }
- }
- disabled rule("Crouch to gain score")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Crouching(Event Player) == True;
- }
- actions
- {
- Event Player.Score += 1;
- Set Player Score(Event Player, Event Player.Score);
- Wait(0.050, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- disabled rule("Spawn bots")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Crouch) == True;
- Is Button Held(Event Player, Interact) == True;
- }
- actions
- {
- Create Dummy Bot(Random Value In Array(All Heroes), Opposite Team Of(Team Of(Event Player)), -1,
- Event Player + Facing Direction Of(Event Player) * 0.500, Facing Direction Of(Event Player));
- }
- }
- disabled rule("Bot random score")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Dummy Bot(Event Player) == True;
- Is Alive(Event Player) == True;
- }
- actions
- {
- Event Player.Score = Random Integer(1, 199);
- Wait(1, Ignore Condition);
- Set Player Score(Event Player, Event Player.Score);
- }
- }