Return to post
- settings
- {
- main
- {
Description: "(B4G2Z)giri giri ball ギリギリボール 1.13 by @nakamoooooo. ボールのぎりぎりに近づくゲーム * hanamura,bIizzard worldを追加 *試合時間を180秒に変更 *ボールの周囲のサウンドウェーブが届く範囲に円のエフェクトを追加"
- Description: "(B4G2Z)giri giri ball ギリギリボール 1.16 by @nakamoooooo. ボールのぎりぎりに近づくゲーム *Petraを追加 *Parisを追加 *Ecopoint: Antarcticaを追加"
- }
- lobby
- {
- Allow Players Who Are In Queue: Yes
- Map Rotation: After A Game
- Match Voice Chat: Enabled
- Max FFA Players: 11
- Max Spectators: 12
- }
- modes
- {
- Deathmatch
- {
- enabled maps
- {
- Black Forest
- Blizzard World
- Castillo
- Ecopoint: Antarctica
- Eichenwalde
- Hanamura
- Horizon Lunar Colony
- Ilios Lighthouse
- Lijiang Control Center
- Nepal Village
- Oasis City Center
- Paris
- Petra
- }
- }
- General
- {
- Game Length In Minutes: 5
- Game Mode Start: Immediately
- Limit Roles: 2 Of Each Role Per Team
- Respawn As Random Hero: On
- Score To Win: 30
- }
- }
- heroes
- {
- General
- {
- Lúcio
- {
- Damage Dealt: 10%
- Primary Fire: Off
- Soundwave Knockback Scalar: 0%
- Ultimate Ability Sound Barrier: Off
- }
- Wrecking Ball
- {
- Roll Always Active: On
- }
- enabled heroes
- {
- Lúcio
- }
- }
- }
- }
- variables
- {
- global:
- 0: current_area_center_pos
- 1: current_playarea_radius
- 2: theBall
- 3: current_pointarea_radius
- 4: current_deadlyarea_radius
- 5: min_radius_colorchange
- 6: max_radius_colorchange
- 7: a_red
- 8: b_red
- 9: a_green
- 10: b_green
- player:
- 0: score_get_percent
- 1: plusone_txt
- 2: penalty_txt
- 3: penalty_value
- }
- subroutines
- {
- 0: teleportToStage
- }
- disabled rule("debug interact teleport")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Dummy Bot(Event Player) == False;
Is Button Held(Event Player, Interact) == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
disabled Teleport(Event Player, Nearest Walkable Position(Global.current_area_center_pos 6 * Direction From Angles(Random Integer(0, 360),
- disabled Teleport(Event Player, Nearest Walkable Position(Global.current_area_center_pos + 6 * Direction From Angles(Random Integer(0, 360),
- 0)));
Teleport(Event Player, Eye Position(Event Player) 15 * Facing Direction Of(Event Player));
- Teleport(Event Player, Eye Position(Event Player) + 15 * Facing Direction Of(Event Player));
- }
- }
disabled rule("debug interact center pos")
- disabled rule("debug ult center pos")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
Is Button Held(Event Player, Interact) == True;
- Is Button Held(Event Player, Button(Ultimate)) == True;
- }
- actions
- {
- Global.current_area_center_pos = Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
10 * Facing Direction Of(Event Player), All Players(All Teams), Event Player, True);
- + 10 * Facing Direction Of(Event Player), All Players(All Teams), Event Player, True);
- }
- }
- rule("init")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Global.current_playarea_radius = 13;
- Global.current_pointarea_radius = 6;
- Global.current_deadlyarea_radius = 1.800;
- Disable Built-In Game Mode Scoring;
- Global.min_radius_colorchange = Global.current_deadlyarea_radius;
- Global.max_radius_colorchange = 15;
- Global.a_red = 128 / (Global.max_radius_colorchange - Global.min_radius_colorchange);
- Global.b_red = -1 * Global.min_radius_colorchange * Global.a_red;
- Global.a_green = -176 / (Global.max_radius_colorchange - Global.min_radius_colorchange);
- Global.b_green = 256 - -1 * Global.min_radius_colorchange * Global.a_green;
- }
- }
- rule("effects")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
Create Effect(All Players(All Teams), Sphere, Sky Blue, Global.current_area_center_pos, Global.current_playarea_radius,
- Create Effect(All Players(All Teams), Sphere, Color(Sky Blue), Global.current_area_center_pos, Global.current_playarea_radius,
- Visible To Position and Radius);
disabled Create Effect(All Players(All Teams), Sphere, Green, Global.theBall, Global.current_pointarea_radius,
- disabled Create Effect(All Players(All Teams), Sphere, Color(Green), Global.theBall, Global.current_pointarea_radius,
- Visible To Position and Radius);
Create Effect(All Players(All Teams), Sphere, Red, Vector(0, 0.800, 0) Position Of(Global.theBall),
- Create Effect(All Players(All Teams), Sphere, Color(Red), Update Every Frame(Vector(0, 0.800, 0) + Position Of(Global.theBall)),
- Global.current_deadlyarea_radius, Visible To Position and Radius);
Create Icon(All Players(All Teams), Global.theBall, Circle, Visible To and Position, Red, True);
- Create Icon(All Players(All Teams), Global.theBall, Circle, Visible To and Position, Color(Red), True);
- Create Icon(All Players(All Teams), Last Of(Sorted Array(All Players(All Teams), Score Of(Current Array Element))), Warning,
Visible To and Position, Yellow, True);
Create HUD Text(All Players(All Teams), Custom String("ボールに近づくほど早くスコアがたまる。近づきすぎて赤に入るとスコア半減!"), Null, Null, Right, 0, White, White,
White, Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Custom String(
"The closer to the ball,the faster you score. rnRed sphere halve the score."), Null, Null, Right, 1, White, White, White,
Visible To and String, Default Visibility);
- Visible To and Position, Color(Yellow), True);
- Create HUD Text(All Players(All Teams), Custom String("ボールの近くにいつづけよう。でも赤い球に入らないよう注意!"), Null, Null, Right, 0, Color(White), Color(
- White), Color(White), Visible To and String, Default Visibility);
- Create HUD Text(All Players(All Teams), String("{0} {1} {2}", Ability Icon String(Hero(Lúcio), Button(Secondary Fire)), String(
"Hit"), Hero Icon String(Hero(Wrecking Ball))), Null, Null, Top, 1, White, White, White, Visible To, Default Visibility);
- "Hit"), Hero Icon String(Hero(Wrecking Ball))), Null, Null, Top, 1, Color(White), Color(White), Color(White), Visible To,
- Default Visibility);
- Create HUD Text(All Players(All Teams), String("{0} {1} {2}", Ability Icon String(Hero(Lúcio), Button(Melee)), String("Hit"),
Hero Icon String(Hero(Lúcio))), Null, Null, Top, 2, White, White, White, Visible To, Default Visibility);
Create Effect(All Players(All Teams), Ring, Orange, Position Of(Global.theBall), 8, Visible To Position and Radius);
- Hero Icon String(Hero(Lúcio))), Null, Null, Top, 2, Color(White), Color(White), Color(White), Visible To, Default Visibility);
- Create Effect(All Players(All Teams), Ring, Color(Orange), Update Every Frame(Position Of(Global.theBall)), 8,
- Visible To Position and Radius);
- Create HUD Text(All Players(All Teams), Custom String("Keep close to the ball.\r\nBut be careful, do not step in the red sphere!"),
- Null, Null, Right, 1, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
- }
- }
- rule("area limit power")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Game In Progress == True;
- }
- actions
- {
- Start Accelerating(Event Player, Direction Towards(Position Of(Event Player), Global.current_area_center_pos), 100 * (
- Distance Between(Position Of(Event Player), Global.current_area_center_pos) > Global.current_playarea_radius), 40, To World,
- Direction Rate and Max Speed);
- }
- }
- rule("center pos")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- If(Current Map == Map(Castillo));
- Global.current_area_center_pos = Vector(-102.381, 35.622, 58.412);
- Else If(Current Map == Map(Lijiang Control Center));
- Global.current_area_center_pos = Vector(-0.028, 273.673, 280.043);
- Else If(Current Map == Map(Black Forest));
- Global.current_area_center_pos = Vector(-15.275, 13.449, 4.502);
- Else If(Current Map == Map(Ilios Lighthouse));
- Global.current_area_center_pos = Vector(340.577, -21.276, -44.235);
- Else If(Current Map == Map(Oasis City Center));
- Global.current_area_center_pos = Vector(143.461, 3.324, 247.447);
- Else If(Current Map == Map(Horizon Lunar Colony));
- Global.current_area_center_pos = Vector(97.557, 13.892, -63.337);
- Else If(Current Map == Map(Eichenwalde));
- Global.current_area_center_pos = Vector(43.521, 8.185, -79.557);
- Else If(Current Map == Map(Hanamura));
- Global.current_area_center_pos = Vector(12.727, 2, -48.980);
- Else If(Current Map == Map(Nepal Village));
- Global.current_area_center_pos = Vector(-183.400, -94, -61.500);
- Global.current_playarea_radius = 15;
- Else If(Current Map == Map(Petra));
- Global.current_area_center_pos = Vector(0.500, -0.300, 5.600);
- Global.current_playarea_radius = 15;
- Else If(Current Map == Map(Paris));
- Global.current_area_center_pos = Vector(-85.500, 13.500, -62.800);
- Global.current_playarea_radius = 12.200;
- Else If(Current Map == Map(Ecopoint: Antarctica));
- Global.current_area_center_pos = Vector(5, 8, 0);
- Else If(Current Map == Map(Blizzard World));
- Global.current_area_center_pos = Vector(-70.843, 6.799, 72.887);
- Global.current_playarea_radius = 15;
- End;
- }
- }
- rule("ban lucio's wallride outside")
- {
- event
- {
- Ongoing - Each Player;
- All;
- Lúcio;
- }
- conditions
- {
- Is On Wall(Event Player) == True;
- Distance Between(Position Of(Event Player), Global.current_area_center_pos) > Global.current_playarea_radius;
- }
- actions
- {
- Set Status(Event Player, Null, Stunned, 0.030);
- }
- }
- rule("game start global")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Is Game In Progress == True;
- }
- actions
- {
- Create Dummy Bot(Hero(Wrecking Ball), All Teams, 11, Nearest Walkable Position(Global.current_area_center_pos), Vector(0, 0, 0));
- Global.theBall = Last Created Entity;
- Set Status(Global.theBall, Null, Unkillable, 9999);
- Set Match Time(180);
- }
- }
- rule("game start human")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Dummy Bot(Event Player) == False;
- Is Game In Progress == True;
- }
- actions
- {
- Call Subroutine(teleportToStage);
- }
- }
- rule("deadly zone out")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Game In Progress == True;
- Is Dummy Bot(Event Player) == False;
- Distance Between(Position Of(Global.theBall), Position Of(Event Player)) > Global.current_deadlyarea_radius;
- }
- actions
- {
- Stop Chasing Player Variable(Event Player, score_get_percent);
- Chase Player Variable At Rate(Event Player, score_get_percent, 100, (Is In Line of Sight(Eye Position(Event Player), Eye Position(
- Global.theBall), Barriers Do Not Block LOS) ? 250 : 0) / (Distance Between(Position Of(Event Player), Position Of(
Global.theBall)) -0.900), Destination and Rate);
- Global.theBall)) + -0.900), Destination and Rate);
- }
- }
- rule("100 percent charge to get a score")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Game In Progress == True;
- Is Dummy Bot(Event Player) == False;
- Event Player.score_get_percent == 100;
- }
- actions
- {
- Modify Player Score(Event Player, 1);
- Event Player.score_get_percent = 0;
Play Effect(All Players(All Teams), Good Explosion, White, Eye Position(Event Player) Facing Direction Of(Event Player), 0.400);
disabled Create In-World Text(All Players(All Teams), Custom String(" 1"), Eye Position(Event Player) Facing Direction Of(Event Player),
3.500, Do Not Clip, String, White, Default Visibility);
- Play Effect(All Players(All Teams), Good Explosion, Color(White), Eye Position(Event Player) + Facing Direction Of(Event Player),
- 0.400);
- disabled Create In-World Text(All Players(All Teams), Custom String("+1"), Eye Position(Event Player) + Facing Direction Of(Event Player),
- 3.500, Do Not Clip, String, Color(White), Default Visibility);
- disabled Event Player.plusone_txt = Last Text ID;
- disabled Wait(0.250, Ignore Condition);
- disabled Destroy In-World Text(Event Player.plusone_txt);
- Small Message(Event Player, String("{0} {1}", Custom String("1"), String("Points Earned")));
- }
- }
- rule("player charge effect text")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
disabled Create Effect(All Players(All Teams), Good Aura, White, Eye Position(Event Player) Facing Direction Of(Event Player),
- disabled Create Effect(All Players(All Teams), Good Aura, Color(White), Eye Position(Event Player) + Facing Direction Of(Event Player),
- 0.002 * Event Player.score_get_percent, Visible To Position and Radius);
disabled Create HUD Text(Event Player, String("{0}%", Event Player.score_get_percent), Null, Null, Top, 0, White, White, White,
Visible To and String, Default Visibility);
Create In-World Text(Event Player, String("{0}%", Round To Integer(Event Player.score_get_percent, To Nearest)), Eye Position(
Event Player) Direction From Angles(Horizontal Facing Angle Of(Event Player), Vertical Facing Angle Of(Event Player) 10)
* 50, 2, Do Not Clip, Visible To Position and String, White, Default Visibility);
- disabled Create HUD Text(Event Player, String("{0}%", Event Player.score_get_percent), Null, Null, Top, 0, Color(White), Color(White),
- Color(White), Visible To and String, Default Visibility);
- disabled Create In-World Text(Event Player, String("{0}%", Round To Integer(Event Player.score_get_percent, To Nearest)), Eye Position(
- Event Player) + Direction From Angles(Horizontal Facing Angle Of(Event Player), Vertical Facing Angle Of(Event Player) + 10)
- * 50, 2, Do Not Clip, Visible To Position and String, Color(White), Default Visibility);
- Create Progress Bar HUD Text(Event Player, Event Player.score_get_percent, String("{0}%", Round To Integer(
- Event Player.score_get_percent, To Nearest)), Top, 3, Custom Color(Min(128, Global.b_red + Global.a_red * Distance Between(
- Position Of(Event Player), Position Of(Global.theBall))), Max(80, Global.b_green + Global.a_green * Distance Between(
- Position Of(Event Player), Position Of(Global.theBall))), 0, Is In Line of Sight(Eye Position(Event Player), Eye Position(
- Global.theBall), Barriers Do Not Block LOS) ? 255 : 64), Color(White), Values and Color, Default Visibility);
- Create HUD Text(Event Player, Null, Custom String("\r\n\r\n\r\n\r\n\r\n\r\n\r\n"), Null, Top, 2, Color(White), Color(White), Color(
- White), None, Default Visibility);
- }
- }
- rule("deadly zone in")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Game In Progress == True;
- Is Dummy Bot(Event Player) == False;
- Distance Between(Position Of(Global.theBall), Position Of(Event Player)) < Global.current_deadlyarea_radius;
- }
- actions
- {
- Stop Chasing Player Variable(Event Player, score_get_percent);
- Event Player.penalty_value = -1 * Round To Integer(Score Of(Event Player) / 2, Down);
- Big Message(Event Player, String("{0} {1}", -1 * Event Player.penalty_value, String("Points Lost")));
- Modify Player Score(Event Player, Event Player.penalty_value);
- Set Status(Event Player, Null, Knocked Down, 2);
Play Effect(All Players(All Teams), Ring Explosion, Red, Eye Position(Event Player), 5);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Red), Eye Position(Event Player), 5);
- disabled Create In-World Text(All Players(All Teams), Round To Integer(Event Player.penalty_value, To Nearest), Eye Position(Event Player)
Facing Direction Of(Event Player), 4, Do Not Clip, String, Red, Default Visibility);
- + Facing Direction Of(Event Player), 4, Do Not Clip, String, Color(Red), Default Visibility);
- disabled Event Player.penalty_txt = Last Text ID;
- disabled Wait(0.700, Ignore Condition);
- disabled Destroy In-World Text(Event Player.penalty_txt);
- }
- }
- rule("teleport")
- {
- event
- {
- Player Joined Match;
- All;
- All;
- }
- conditions
- {
- Is Game In Progress == True;
- Is Alive(Event Player) == True;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Wait(2.500, Ignore Condition);
- Call Subroutine(teleportToStage);
- }
- }
- rule("boop ball")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- actions
- {
- If(Event Ability == Button(Secondary Fire) && Victim == Global.theBall);
Apply Impulse(Victim, Direction From Angles(Horizontal Facing Angle Of(Event Player), -10 Vertical Facing Angle Of(
- Apply Impulse(Victim, Direction From Angles(Horizontal Facing Angle Of(Event Player), -10 + Vertical Facing Angle Of(
- Event Player)), 14, To World, Cancel Contrary Motion);
- Else If(Event Ability == Button(Melee) && Victim != Global.theBall);
- Apply Impulse(Victim, Facing Direction Of(Event Player), 11, To World, Cancel Contrary Motion);
- Set Status(Victim, Null, Stunned, 0.500);
- End;
- }
- }
- rule("primary to melee")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
Is Button Held(Event Player, Primary Fire) == True;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- }
- actions
- {
Press Button(Event Player, Melee);
- Press Button(Event Player, Button(Melee));
- }
- }
- rule("teleporttostage")
- {
- event
- {
- Subroutine;
- teleportToStage;
- }
- actions
- {
Teleport(Event Player, Nearest Walkable Position(Global.current_area_center_pos 6 * Direction From Angles(Random Integer(0, 360),
- Teleport(Event Player, Nearest Walkable Position(Global.current_area_center_pos + 6 * Direction From Angles(Random Integer(0, 360),
- 0)));
- }
- }
- rule("goOutDome longtime")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Game In Progress == True;
- Is Dummy Bot(Event Player) == False;
- Distance Between(Position Of(Event Player), Global.current_area_center_pos) > Global.current_playarea_radius;
- }
- actions
- {
- Wait(2, Abort When False);
- Big Message(Event Player, String("{0} {1}", String("Stay"), String("Inside")));
- Wait(2, Abort When False);
- Call Subroutine(teleportToStage);
- Wait(0.200, Abort When False);
- Loop If Condition Is True;
- }
- }