Return to post
- settings
- {
- main
- {
Description: "Ability Shuffle Mode v0.81 by Rikan ([email protected])"
- Description: "Ability Shuffle Mode v0.82 by Rikan ([email protected])"
- }
- lobby
- {
- Max Spectators: 12
- Max Team 1 Players: 5
- Max Team 2 Players: 5
- }
- modes
- {
- Team Deathmatch
- {
- Game Length In Minutes: 5
- Score To Win: 20
- enabled maps
- {
- Workshop Chamber
- }
- }
- General
- {
- Game Mode Start: Immediately
- Hero Limit: Off
- }
- }
- heroes
- {
- General
- {
- Ultimate Generation: 150%
- Ultimate Generation - Combat: 120%
- Ultimate Generation - Passive: 150%
- Tracer
- {
- Blink: Off
- }
- }
- }
- extensions
- {
- Beam Effects
- Beam Sounds
- Buff Status Effects
- Debuff Status Effects
- Buff and Debuff Sounds
- Energy Explosion Effects
- Kinetic Explosion Effects
- Explosion Sounds
- Spawn More Dummy Bots
- }
- }
- variables
- {
- global:
- 0: ab1
- 1: ab2
- 2: ult
- 3: ab1hero
- 4: ab2hero
- 5: ulthero
- 6: botskill
- 7: GRAVITY
- 8: V0
- 9: elastic
- 10: workrandom
- player:
- 0: ab1cool
- 1: ab2cool
- 2: dvaulticon
- 3: cantuse
- 4: sombraeffect
- 5: sominvisible
- 8: somteleonline
- 9: dvaultsound
- 10: dvaulteffect
- 11: tracercool
- 12: DVabooster
- 13: tra1
- 14: tra2
- 15: tra3
- 16: tra4
- 17: tra5
- 18: tra6
- 19: tra7
- 20: tra8
- 21: tra9
- 22: tra10
- 23: tra11
- 24: tra12
- 25: dvaultlocation
- 26: kingballsound
- 27: kingballeffect
- 28: kingballshield
- 29: hogvictim
- 30: hogvictimlocation
- 31: hogchain
- 32: hoghealeffect
- 33: hoghealsound
- 34: hoghealeffect2
- 35: reapershadow
- 36: davbostereft1
- 37: dvabostereft2
- 38: reapershadoweffect
- 39: genjigum
- 40: genjiraycast
- 41: doomvictim
- 42: reapereffect
- 43: reapershadoweffect2
- 44: reapershadowlocation
- 45: meiiceheal
- 46: reaperulteffect
- 48: reaperult
- 49: somposition
- 50: somVelocity
- 51: somnormal
- 52: somD
- 53: meieffect
- 54: meiposition
- 55: meiVelocity
- 56: meinormal
- 57: meiD
- 58: meiult
- 59: meiultvictim
- 62: dummybot
- }
- rule("made by Rikan ([email protected])")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("Rule 91")
- {
- event
- {
- Ongoing - Global;
- }
- condition
- {
- Is Assembling Heroes == True;
- }
- action
- {
- Set Match Time(1);
- }
- }
- rule("Rule 92")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- condition
- {
- Is Game In Progress == True;
- }
- action
- {
- Set Match Time(150);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Global.workrandom = Workshop Setting Toggle(Custom String("Ability Random Setting"), Custom String("Random Setting"), True, 0);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.workrandom == False;
- }
- actions
- {
- Global.botskill = Workshop Setting Combo(Custom String("Dummy bot Ability"), Custom String("Ability throughs dummy bots"), 0,
- Array(Custom String("Ability 2"), Custom String("Ultimate")), 0);
- If(Global.botskill == 0);
- Global.ab2 = 100 + Workshop Setting Combo(Custom String("Dummy bot Ability"), Custom String("Ability 2 (Only selected ones work)"),
- 0, Array(Custom String("Orisa - Protective Barrier"), Custom String("Winston - Barrier Projector"), Custom String(
- "Soldier 76 - Biotic Field"), Custom String("Ashe - Dynamite"), Custom String("Ana - Biotic Grenade")), 2);
- Else If(Global.botskill == 1);
- Global.ult = 100 + Workshop Setting Combo(Custom String("Dummy bot Ability"), Custom String("Ultimate (Only selected ones work)"),
- 0, Array(Custom String("Zarya - Graviton Surge"), Custom String("Wreacking Ball - Minefield"), Custom String(
- "Orisa - Supercharger"), Custom String("Ashe - B.O.B"), Custom String("Tracer - Pulse Bomb")), 3);
- End;
- Global.ab1 = Workshop Setting Combo(Custom String("General Ability"), Custom String("Ability 1"), 0, Array(Custom String(
- "Roadhog - Chain Hook"), Custom String("Sombra - Stealth"), Custom String("McCree - Combat Roll"), Custom String(
- "Tracer - Blink"), Custom String("D.Va - Boosters"), Custom String("Winston - Jump Pack"), Custom String(
- "Genji - Swift Strike"), Custom String("Doomfist - Rising Uppercut"), Custom String("Reaper - Wraith Form"), Custom String(
- "Mei - Cryo-Freeze"), Custom String("Moira - Fade")), 0);
- End;
- If(Global.botskill != 0);
- Global.ab2 = Workshop Setting Combo(Custom String("General Ability"), Custom String("Ability 2 (disable when used dummy bot)"), 0,
- Array(Custom String("Sombra - Translocator"), Custom String("McCree - Flashbang"), Custom String("Tracer - Recall"),
- Custom String("Wrecking Ball - Adaptive Shield"), Custom String("Roadhog - Take a Breather"), Custom String(
- "Reaper - Shadow Step")), 1);
- End;
- If(Global.botskill != 1);
- Global.ult = Workshop Setting Combo(Custom String("General Ability"), Custom String("Ultimate (disable when used dummy bot)"), 0,
- Array(Custom String("Sombra - EMP"), Custom String("D.Va - Self-Destruct"), Custom String("Reinhardt - Earthshatter"),
- Custom String("Reaper - Death Blossom"), Custom String("Mei - Blizzard")), 2);
- End;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Create HUD Text(Event Player, Null, Null, Custom String(
- " \n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \n \n \n \n \n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \n \n \n \n \n "), Top, 1, Color(White),
- Color(White), Color(Green), Visible To and String, Default Visibility);
- If(Global.ab1 == 3);
- Create HUD Text(Event Player, Custom String(" {0}{1}: {2} ", Hero Icon String(Global.ab1hero), Ability Icon String(Global.ab1hero,
- Button(Ability 1)), Event Player.tracercool), Custom String(
- " "), Null, Top, 2, Color(White), Color(White), Color(
- White), Visible To and String, Default Visibility);
- Else;
- Create HUD Text(Event Player, Custom String(" {0}{1}: {2} ", Hero Icon String(Global.ab1hero), Ability Icon String(Global.ab1hero,
- Button(Ability 1)), Round To Integer(Event Player.ab1cool, Up)), Custom String(
- " "), Null, Top, 2, Color(White), Color(White), Color(
- White), Visible To and String, Default Visibility);
- End;
- Create HUD Text(Event Player, Custom String(" {0}{1}: {2} ", Hero Icon String(Global.ab2hero), Ability Icon String(Global.ab2hero,
- Button(Ability 2)), Round To Integer(Event Player.ab2cool, Up)), Custom String(
- " "), Null, Top, 3, Color(White), Color(White), Color(
- White), Visible To and String, Default Visibility);
- Create HUD Text(Event Player, Custom String(" {0}{1} ", Hero Icon String(Global.ulthero), Ability Icon String(Global.ulthero,
- Button(Ultimate))), Custom String(" "), Null, Top, 4,
- Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.workrandom == True;
- }
- actions
- {
- Global.botskill = Random Integer(0, 1);
- Global.ab1 = Random Integer(0, 10);
- If(Global.botskill == 0);
- Global.ab2 = Random Integer(100, 104);
- Else;
- Global.ab2 = Random Integer(0, 5);
- End;
- If(Global.botskill == 1);
- Global.ult = Random Integer(100, 104);
- Else;
- Global.ult = Random Integer(0, 4);
- End;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Disallow Button(Event Player, Button(Ability 1));
- Disallow Button(Event Player, Button(Ability 2));
- Disallow Button(Event Player, Button(Ultimate));
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.ab1cool > 0;
- }
- actions
- {
- Chase Player Variable At Rate(Event Player, ab1cool, 0, 1, Destination and Rate);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.ab2cool > 0;
- }
- actions
- {
- Chase Player Variable At Rate(Event Player, ab2cool, 0, 1, Destination and Rate);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Dummy Bot(Event Player) == False;
- (Global.ab2 >= 100 || Global.ult >= 100) == True;
- Has Spawned(Event Player) == True;
- }
- actions
- {
- If(Global.botskill == 0);
- Create Dummy Bot(Global.ab2hero, Team Of(Event Player), 5 + Slot Of(Event Player), Vector(999, 999, 999), Vector(0, 0, 0));
- Else If(Global.botskill == 1);
- Create Dummy Bot(Global.ulthero, Team Of(Event Player), 5 + Slot Of(Event Player), Vector(999, 999, 999), Vector(0, 0, 0));
- End;
- Event Player.dummybot = Players In Slot(5 + Slot Of(Event Player), Team Of(Event Player));
- Set Status(Event Player.dummybot, Null, Phased Out, 9999);
- Set Status(Event Player.dummybot, Null, Unkillable, 9999);
- Set Gravity(Event Player.dummybot, 0);
- Set Invisible(Event Player.dummybot, All);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Dummy Bot(Event Player) == True;
- Players In Slot(Slot Of(Event Player) - 5, Team Of(Event Player)) == 0;
- }
- actions
- {
- Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab1 == 0;
- }
- actions
- {
- Global.ab1hero = Hero(Roadhog);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab1 == 1;
- }
- actions
- {
- Global.ab1hero = Hero(Sombra);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab1 == 2;
- }
- actions
- {
- Global.ab1hero = Hero(McCree);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 3;
- }
- actions
- {
- Global.ab1hero = Hero(Tracer);
- Event Player.tracercool = 3;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 4;
- }
- actions
- {
- Global.ab1hero = Hero(D.Va);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 5;
- }
- actions
- {
- Global.ab1hero = Hero(Winston);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 6;
- }
- actions
- {
- Global.ab1hero = Hero(Genji);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 7;
- }
- actions
- {
- Global.ab1hero = Hero(Doomfist);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 8;
- }
- actions
- {
- Global.ab1hero = Hero(Reaper);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 9;
- }
- actions
- {
- Global.ab1hero = Hero(Mei);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 10;
- }
- actions
- {
- Global.ab1hero = Hero(Moira);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 0;
- }
- actions
- {
- Global.ab2hero = Hero(Sombra);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 1;
- }
- actions
- {
- Global.ab2hero = Hero(McCree);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 2;
- }
- actions
- {
- Global.ab2hero = Hero(Tracer);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 3;
- }
- actions
- {
- Global.ab2hero = Hero(Wrecking Ball);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 4;
- }
- actions
- {
- Global.ab2hero = Hero(Roadhog);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 5;
- }
- actions
- {
- Global.ab2hero = Hero(Reaper);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 100;
- }
- actions
- {
- Global.ab2hero = Hero(Orisa);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 101;
- }
- actions
- {
- Global.ab2hero = Hero(Winston);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 102;
- }
- actions
- {
- Global.ab2hero = Hero(Soldier: 76);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 103;
- }
- actions
- {
- Global.ab2hero = Hero(Ashe);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 104;
- }
- actions
- {
- Global.ab2hero = Hero(Ana);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 0;
- }
- actions
- {
- Global.ulthero = Hero(Sombra);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 1;
- }
- actions
- {
- Global.ulthero = Hero(D.Va);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 2;
- }
- actions
- {
- Global.ulthero = Hero(Reinhardt);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 3;
- }
- actions
- {
- Global.ulthero = Hero(Reaper);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 4;
- }
- actions
- {
- Global.ulthero = Hero(Mei);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 100;
- }
- actions
- {
- Global.ulthero = Hero(Zarya);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 101;
- }
- actions
- {
- Global.ulthero = Hero(Wrecking Ball);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 102;
- }
- actions
- {
- Global.ulthero = Hero(Orisa);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 103;
- }
- actions
- {
- Global.ulthero = Hero(Ashe);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 104;
- }
- actions
- {
- Global.ulthero = Hero(Tracer);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 0;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Is Dummy Bot(Event Player) == False;
- Event Player.cantuse == 0;
- }
- actions
- {
- Event Player.ab1cool = 6;
- Event Player.hogvictim = Ray Cast Hit Player(Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(
- Event Player) * 20, All Players(Opposite Team Of(Team Of(Event Player))), Event Player, True);
- If(Event Player.hogvictim != Null);
- Set Move Speed(Event Player, 20);
- Event Player.hogvictimlocation = Position Of(Event Player.hogvictim);
- Set Status(Event Player.hogvictim, Event Player, Stunned, 1);
- Create Beam Effect(All Players(All Teams), Brigitte Flail Chain Beam, Event Player, Event Player.hogvictim, Color(Black),
- Visible To Position and Radius);
- Event Player.hogchain = Last Created Entity;
- Start Forcing Player Position(Event Player.hogvictim, Event Player.hogvictimlocation, True);
- Chase Player Variable Over Time(Event Player, hogvictimlocation, Position Of(Event Player), 0.500, Destination and Duration);
- Wait(0.500, Ignore Condition);
- Destroy Effect(Event Player.hogchain);
- Stop Forcing Player Position(Event Player.hogvictim);
- Set Move Speed(Event Player, 100);
- Else;
- Play Effect(Event Player, Debuff Impact Sound, Color(White), Event Player, 100);
- Create Beam Effect(All Players(All Teams), Brigitte Flail Chain Beam, Event Player, Ray Cast Hit Position(Eye Position(
- Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player) * 20, All Players(All Teams), Event Player,
- True), Color(Black), None);
- Event Player.hogchain = Last Created Entity;
- Set Move Speed(Event Player, 20);
- Wait(0.500, Ignore Condition);
- Destroy Effect(Event Player.hogchain);
- disabled Event Player.hoghealeffect = Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(
- Event Player) * 20, All Players(All Teams), Event Player, True);
- disabled Create Effect(All Players(All Teams), Sphere, Color(White), Event Player.hoghealeffect, 0.200, Visible To Position and Radius);
- Set Move Speed(Event Player, 100);
- End;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 1;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.cantuse == 0;
- Event Player.sominvisible == 0;
- }
- actions
- {
- Play Effect(All Players(All Teams), Buff Impact Sound, Color(White), Position Of(Event Player), 100);
- Play Effect(All Players(All Teams), Good Explosion, Color(Purple), Position Of(Event Player), 1);
- Create Effect(Event Player, Sphere, Color(Purple), Event Player, 1.500, Visible To Position and Radius);
- Event Player.sombraeffect = Last Created Entity;
- Set Invisible(Event Player, Enemies);
- Set Move Speed(Event Player, 150);
- Set Primary Fire Enabled(Event Player, False);
- Set Secondary Fire Enabled(Event Player, False);
- Set Melee Enabled(Event Player, False);
- Event Player.cantuse = 1;
- Wait(1, Ignore Condition);
- Event Player.sominvisible = 1;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 1;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Event Player.sominvisible == 1;
- }
- actions
- {
- Play Effect(All Players(All Teams), Debuff Impact Sound, Color(White), Position Of(Event Player), 100);
- Play Effect(All Players(All Teams), Bad Explosion, Color(Purple), Position Of(Event Player), 1);
- Destroy Effect(Event Player.sombraeffect);
- Set Invisible(Event Player, None);
- Set Move Speed(Event Player, 100);
- Event Player.ab1cool = 6;
- Wait(0.500, Ignore Condition);
- Event Player.cantuse = 0;
- Set Primary Fire Enabled(Event Player, True);
- Set Secondary Fire Enabled(Event Player, True);
- Set Melee Enabled(Event Player, True);
- Event Player.sominvisible = 0;
- }
- }
- rule("")
- {
- event
- {
- Player Took Damage;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 1;
- Event Player.sominvisible == 1;
- }
- actions
- {
- Play Effect(All Players(All Teams), Debuff Impact Sound, Color(White), Position Of(Event Player), 100);
- Play Effect(All Players(All Teams), Bad Explosion, Color(Purple), Position Of(Event Player), 1);
- Destroy Effect(Event Player.sombraeffect);
- Set Invisible(Event Player, None);
- Set Move Speed(Event Player, 100);
- Event Player.ab1cool = 6;
- Wait(0.500, Ignore Condition);
- Event Player.cantuse = 0;
- Set Primary Fire Enabled(Event Player, True);
- Set Secondary Fire Enabled(Event Player, True);
- Set Melee Enabled(Event Player, True);
- Event Player.sominvisible = 0;
- }
- }
- rule("")
- {
- event
- {
- Player Died;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 1;
- Event Player.sominvisible == 1;
- }
- actions
- {
- Play Effect(All Players(All Teams), Debuff Impact Sound, Color(White), Position Of(Event Player), 100);
- Play Effect(All Players(All Teams), Bad Explosion, Color(Purple), Position Of(Event Player), 1);
- Destroy Effect(Event Player.sombraeffect);
- Set Invisible(Event Player, None);
- Set Move Speed(Event Player, 100);
- Event Player.ab1cool = 6;
- Wait(0.500, Ignore Condition);
- Event Player.cantuse = 0;
- Set Primary Fire Enabled(Event Player, True);
- Set Secondary Fire Enabled(Event Player, True);
- Set Melee Enabled(Event Player, True);
- Event Player.sominvisible = 0;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 2;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Is Dummy Bot(Event Player) == False;
- Event Player.cantuse == 0;
- }
- actions
- {
- Play Effect(All Players(All Teams), Soldier: 76 Sprint Start Sound, Color(White), Event Player, 300);
- Set Ammo(Event Player, 0, Max Ammo(Event Player, 0));
- If((X Component Of(Throttle Of(Event Player)) || Z Component Of(Throttle Of(Event Player))) == 0);
- Apply Impulse(Event Player, Facing Direction Of(Event Player) * Vector(1.300, 0, 1.300) + Vector(0, 0.300, 0), 18, To World,
- Cancel Contrary Motion XYZ);
- Else;
- Apply Impulse(Event Player, Throttle Of(Event Player) + Vector(0, 0.300, 0), 18, To Player, Cancel Contrary Motion XYZ);
- End;
- Event Player.ab1cool = 6;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- (X Component Of(Throttle Of(Event Player)) || Z Component Of(Throttle Of(Event Player))) != 0;
- Event Player.tracercool > 0;
- Global.ab1 == 3;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.cantuse == 0;
- Has Status(Event Player, Rooted) == False;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Play Effect(Event Player, Debuff Impact Sound, Color(White), Position Of(Event Player), 100);
- Apply Impulse(Event Player, Throttle Of(Event Player) + Vector(0, 0.200, 0), 25, To Player, Cancel Contrary Motion XYZ);
- Event Player.tracercool -= 1;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.tracercool < 3;
- Global.ab1 == 3;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Wait(4, Ignore Condition);
- Event Player.tracercool += 1;
- Play Effect(Event Player, Brigitte Repair Pack Armor Sound, Color(White), Event Player, 100);
- Loop If Condition Is True;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 4;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.cantuse == 0;
- Event Player.DVabooster == 0;
- Has Status(Event Player, Rooted) == False;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.DVabooster = 1;
- Create Effect(All Players(All Teams), Torbjörn Overloading Sound, Color(White), Event Player, 100, Visible To Position and Radius);
- Event Player.davbostereft1 = Last Created Entity;
- Create Effect(All Players(All Teams), Soldier: 76 Sprinting Effect, Color(White), Event Player, 1, Visible To Position and Radius);
- Event Player.dvabostereft2 = Last Created Entity;
- Set Status(Event Player, Null, Rooted, 2);
- Set Gravity(Event Player, 0);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 4;
- Event Player.DVabooster == 1;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Apply Impulse(Event Player, Facing Direction Of(Event Player), 10, To World, Cancel Contrary Motion);
- Wait(0.050, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 4;
- Event Player.DVabooster == 1;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Wait Until((Has Status(Event Player, Hacked) || Has Status(Event Player, Knocked Down) || Has Status(Event Player, Asleep)
- || Has Status(Event Player, Frozen) || Has Status(Event Player, Stunned)) == True, 0.500);
- Wait Until((Is Button Held(Event Player, Button(Ability 1)) || Has Status(Event Player, Hacked) || Has Status(Event Player,
- Knocked Down) || Has Status(Event Player, Asleep) || Has Status(Event Player, Frozen) || Has Status(Event Player, Stunned))
- == True, 1.500);
- Destroy Effect(Event Player.davbostereft1);
- Destroy Effect(Event Player.dvabostereft2);
- Clear Status(Event Player, Rooted);
- Set Gravity(Event Player, 100);
- Play Effect(All Players(All Teams), Debuff Impact Sound, Color(White), Event Player, 100);
- Event Player.ab1cool = 4;
- Event Player.DVabooster = 0;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Closest Player To(Event Player, Opposite Team Of(Team Of(Event Player)))) < 3;
- Event Player.DVabooster == 1;
- Global.ab1 == 4;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Damage(Players Within Radius(Event Player, 3, Opposite Team Of(Team Of(Event Player)), Off), Event Player, 5);
- Apply Impulse(Players Within Radius(Event Player, 3, Opposite Team Of(Team Of(Event Player)), Off), Vector(0, 5, -5), 10,
- To Player, Cancel Contrary Motion);
- Wait(0.400, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 5;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.cantuse == 0;
- Has Status(Event Player, Rooted) == False;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.ab1cool = 10;
- Play Effect(All Players(All Teams), Junkrat Concussion Mine Explosion Sound, Color(White), Position Of(Event Player), 100);
- Apply Impulse(Event Player, Vector(0, 30, 30), 30, To Player, Cancel Contrary Motion);
- Wait(0.200, Ignore Condition);
- Wait Until(Is On Ground(Event Player), 99999);
- Damage(Players Within Radius(Event Player, 5, Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers), Event Player,
- 20);
- Apply Impulse(Players Within Radius(Event Player, 5, Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers), Vector(0,
- 5, -5), 10, To Player, Cancel Contrary Motion);
- Play Effect(All Players(All Teams), Bastion Tank Cannon Explosion Sound, Color(White), Position Of(Event Player), 100);
- Play Effect(All Players(All Teams), Winston Jump Pack Landing Effect, Color(White), Position Of(Event Player), 100);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 6;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.cantuse == 0;
- Has Status(Event Player, Rooted) == False;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Play Effect(All Players(All Teams), Brigitte Repair Pack Armor Sound, Color(White), Event Player, 150);
- Event Player.genjigum = Position Of(Event Player);
- Event Player.genjiraycast = Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(
- Event Player) * 15, Null, Null, False);
- Set Gravity(Event Player, 0);
- Chase Player Variable Over Time(Event Player, genjigum, Event Player.genjiraycast, 0.230, None);
- Start Forcing Player Position(Event Player, Event Player.genjigum, True);
- Wait(0.280, Ignore Condition);
- Stop Forcing Player Position(Event Player);
- Stop Chasing Player Variable(Event Player, genjigum);
- Apply Impulse(Event Player, Vector(-0.500, -0.500, -0.500), 0.500, To Player, Cancel Contrary Motion XYZ);
- Set Gravity(Event Player, 100);
- Event Player.ab1cool = 6;
- Event Player.genjigum = False;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Closest Player To(Event Player, Opposite Team Of(Team Of(Event Player)))) < 3;
- Event Player.genjigum != False;
- Global.ab1 == 6;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Damage(Players Within Radius(Event Player, 3, Opposite Team Of(Team Of(Event Player)), Off), Event Player, 50);
- Wait(0.400, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 7;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.doomvictim = Players Within Radius(Facing Direction Of(Event Player) * 2 + Position Of(Event Player) + Vector(0,
- 1.500, 0), 2.500, Opposite Team Of(Team Of(Event Player)), Off);
- If(Event Player.doomvictim != False);
- Play Effect(All Players(All Teams), Doomfist Rising Uppercut Impact Effect, Color(White), Event Player.doomvictim, 1);
- End;
- Play Effect(All Players(All Teams), Doomfist Rising Uppercut Leap Effect, Color(White), Position Of(Event Player), 1);
- Play Effect(All Players(All Teams), Doomfist Rising Uppercut Leap Sound, Color(White), Position Of(Event Player), 120);
- Apply Impulse(Event Player, Vector(0, 20, 8), 15, To Player, Cancel Contrary Motion);
- Apply Impulse(Event Player.doomvictim, Facing Direction Of(Event Player) * Vector(10, 0, 10) + Vector(0, 20, 0), 15, To World,
- Cancel Contrary Motion);
- Damage(Event Player.doomvictim, Event Player, 50);
- Event Player.ab1cool = 6;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 8;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Is Dummy Bot(Event Player) == False;
- Event Player.cantuse == 0;
- }
- actions
- {
- Set Primary Fire Enabled(Event Player, False);
- Set Secondary Fire Enabled(Event Player, False);
- Set Melee Enabled(Event Player, False);
- Event Player.cantuse = 1;
- Set Move Speed(Event Player, 150);
- Play Effect(All Players(All Teams), Reaper Wraith Form Sound, Color(White), Event Player, 100);
- Create Effect(All Players(All Teams), Reaper Wraith Form Effect, Color(White), Event Player, 1, Visible To Position and Radius);
- Modify Player Variable(Event Player, reapereffect, Append To Array, Last Created Entity);
- Create Effect(Event Player, Widowmaker Venom Mine Target Effect, Color(White), Event Player, 1, Visible To Position and Radius);
- Modify Player Variable(Event Player, reapereffect, Append To Array, Last Created Entity);
- Set Status(Event Player, Null, Phased Out, 3);
- Wait(3, Ignore Condition);
- Set Primary Fire Enabled(Event Player, True);
- Set Secondary Fire Enabled(Event Player, True);
- Set Melee Enabled(Event Player, True);
- Event Player.cantuse = 0;
- Set Move Speed(Event Player, 100);
- Clear Status(Event Player, Phased Out);
- Destroy Effect(Event Player.reapereffect);
- Event Player.ab1cool = 8;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 9;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Start Camera(Event Player, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) - Facing Direction Of(
- Event Player) * 5, All Players(All Teams), Event Player, True), Eye Position(Event Player), 30);
- Start Heal Over Time(Event Player, Event Player, 4, 50);
- Event Player.meiiceheal = Last Heal Over Time ID;
- Create Effect(All Players(All Teams), Mei Frozen Sound, Color(White), Position Of(Event Player), 100,
- Visible To Position and Radius);
- Modify Player Variable(Event Player, meieffect, Append To Array, Last Created Entity);
- If(Team Of(Event Player) == Team 1);
- Create Effect(All Players(All Teams), Sphere, Color(Team 1), Event Player, 1.500, Visible To Position and Radius);
- Else;
- Create Effect(All Players(All Teams), Sphere, Color(Team 2), Event Player, 1.500, Visible To Position and Radius);
- End;
- Modify Player Variable(Event Player, meieffect, Append To Array, Last Created Entity);
- Set Status(Event Player, Null, Invincible, 4);
- Set Status(Event Player, Null, Frozen, 4);
- Event Player.cantuse = 1;
- Wait(0.500, Ignore Condition);
- Wait Until(Is Button Held(Event Player, Button(Ability 1)), 3.500);
- Clear Status(Event Player, Frozen);
- Clear Status(Event Player, Invincible);
- Stop Heal Over Time(Event Player.meiiceheal);
- Destroy Effect(Event Player.meieffect);
- Stop Camera(Event Player);
- Event Player.ab1cool = 12;
- Event Player.cantuse = 0;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab1 == 10;
- Event Player.ab1cool == 0;
- Is Button Held(Event Player, Button(Ability 1)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Is Dummy Bot(Event Player) == False;
- Event Player.cantuse == 0;
- }
- actions
- {
- Play Effect(All Players(All Teams), Moira Fade Disappear Sound, Color(White), Position Of(Event Player), 100);
- Play Effect(All Players(All Teams), Moira Fade Disappear Effect, Color(White), Position Of(Event Player), 1);
- Set Invisible(Event Player, All);
- Set Move Speed(Event Player, 300);
- Set Status(Event Player, Null, Phased Out, 0.800);
- Wait(0.800, Ignore Condition);
- Set Invisible(Event Player, None);
- Set Move Speed(Event Player, 100);
- Event Player.ab1cool = 6;
- Play Effect(All Players(All Teams), Moira Fade Disappear Sound, Color(White), Position Of(Event Player), 100);
- Play Effect(All Players(All Teams), Moira Fade Disappear Effect, Color(White), Position Of(Event Player), 1);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ab2 == 0;
- }
- actions
- {
- Global.GRAVITY = Vector(0, -15, 0);
- Global.V0 = 23;
- Global.elastic = 0.200;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- If(Team Of(Event Player) == Team 1);
- "공의 위치를 표시한다."
- Create Effect(All Players(All Teams), Sphere, Color(Team 1), Event Player.somposition, 0.300, Visible To Position and Radius);
- Else;
- "공의 위치를 표시한다."
- Create Effect(All Players(All Teams), Sphere, Color(Team 2), Event Player.somposition, 0.300, Visible To Position and Radius);
- End;
- Event Player.somposition = Vector(-999, -999, -999);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 0;
- Event Player.ab2cool == 0;
- Is Button Held(Event Player, Button(Ability 2)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.somteleonline == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Play Effect(All Players(All Teams), Sombra Translocating Sound, Color(White), Position Of(Event Player), 100);
- "초기위치설정"
- Event Player.somposition = Eye Position(Event Player);
- "초기속도는 보는방향*초기속력"
- Event Player.somVelocity = Facing Direction Of(Event Player) * Global.V0;
- "위치는 위치+속도로 속력(|속도|)만큼 빠르게 다가간다."
- Chase Player Variable At Rate(Event Player, somposition, Event Player.somposition + Event Player.somVelocity, Absolute Value(
- Event Player.somVelocity), Destination and Rate);
- "속도는 속도+가속도방향으로 가속력(|가속도|)만큼 빠르게 다가간다."
- Chase Player Variable At Rate(Event Player, somVelocity, Event Player.somVelocity + Global.GRAVITY, Absolute Value(Global.GRAVITY),
- Destination and Rate);
- Wait(0.500, Ignore Condition);
- Event Player.somteleonline = 1;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- "운동을 할때(속도가 0이 아닐 때) 액션을 실행한다."
- Event Player.somVelocity == True;
- "레이저를 쏘아 맞은 곳과의 거리가 0.5미터 이하라면 벽에 닿은 것으로 간주한다. normalize한 후 10을 곱하여 크기가 10인 벡터로 변환한다. 공중에서 속도가 0이 되는 시간에는 동작하지 않게 하기 위함이다."
- Distance Between(Event Player.somposition, Ray Cast Hit Position(Event Player.somposition, Event Player.somposition + Normalize(
- Event Player.somVelocity) * 10, All Players(All Teams), Event Player, True)) < 0.500;
- Global.ab2 == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.somnormal = Ray Cast Hit Normal(Event Player.somposition, Event Player.somposition + Normalize(
- Event Player.somVelocity), All Players(All Teams), Event Player, True);
- Event Player.somD = 2 * Event Player.somnormal * Dot Product(-1 * Event Player.somVelocity, Event Player.somnormal);
- Event Player.somVelocity += Event Player.somD;
- "속력을 탄성계수만큼 줄인다."
- Event Player.somVelocity *= Global.elastic;
- "속력이 0.5 이하라면 운동을 멈춘다."
- If(Absolute Value(Event Player.somVelocity) < 0.500);
- Stop Chasing Player Variable(Event Player, somposition);
- Stop Chasing Player Variable(Event Player, somVelocity);
- Event Player.somVelocity = 0;
- Else;
- "반사가 빠르게 재실행될 경우 룰이 무시될 수 있어 0.016(최소시간)의 간격을 둔 뒤 다시 검사한다."
- Wait(0.016, Ignore Condition);
- Loop If Condition Is True;
- End;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 0;
- Is Button Held(Event Player, Button(Ability 2)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.somteleonline == 1;
- Has Status(Event Player, Rooted) == False;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- If(Team Of(Event Player) == Team 1);
- Play Effect(All Players(All Teams), Sombra Translocator Disappear Effect, Color(Team 1), Position Of(Event Player), 1);
- Else;
- Play Effect(All Players(All Teams), Sombra Translocator Disappear Effect, Color(Team 2), Position Of(Event Player), 1);
- End;
- Play Effect(All Players(All Teams), Sombra Translocating Material Effect, Color(Team 1), Event Player, 1);
- Play Effect(All Players(All Teams), Sombra Translocator Disappear Sound, Color(White), Position Of(Event Player), 100);
- Teleport(Event Player, Event Player.somposition);
- Event Player.ab2cool = 6;
- If(Team Of(Event Player) == Team 1);
- Play Effect(All Players(All Teams), Sombra Translocator Reappear Effect, Color(Team 1), Position Of(Event Player), 1);
- Else;
- Play Effect(All Players(All Teams), Sombra Translocator Reappear Effect, Color(Team 2), Position Of(Event Player), 1);
- End;
- Play Effect(All Players(All Teams), Sombra Translocator Reappear Sound, Color(White), Position Of(Event Player), 100);
- Wait(0.200, Ignore Condition);
- Event Player.somteleonline = 0;
- Event Player.somposition = Vector(-999, -999, -999);
- }
- }
- rule("")
- {
- event
- {
- Player Died;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 0;
- Event Player.somteleonline == 1;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.somteleonline = 0;
- Event Player.somposition = Vector(-999, -999, -999);
- Event Player.ab2cool = 6;
- Wait(0.500, Ignore Condition);
- }
- }
- rule("")
- {
- event
- {
- Player Left Match;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 0;
- Event Player.somteleonline == 1;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.somteleonline = 0;
- Event Player.somposition = Vector(-999, -999, -999);
- Event Player.ab2cool = 6;
- Wait(0.500, Ignore Condition);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 1;
- Event Player.ab2cool == 0;
- Is Button Held(Event Player, Button(Ability 2)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- If(Team Of(Event Player) == Team 1);
- Play Effect(All Players(All Teams), McCree Flashbang Explosion Effect, Color(Team 1), Facing Direction Of(Event Player)
- * 4 + Vector(0, 1.500, 0) + Position Of(Event Player), 1);
- Else;
- Play Effect(All Players(All Teams), McCree Flashbang Explosion Effect, Color(Team 2), Facing Direction Of(Event Player)
- * 4 + Vector(0, 1.500, 0) + Position Of(Event Player), 1);
- End;
- Play Effect(All Players(All Teams), McCree Flashbang Explosion Sound, Color(White), Position Of(Event Player), 100);
- Set Status(Players Within Radius(Facing Direction Of(Event Player) * 5 + Vector(0, 1.500, 0) + Position Of(Event Player), 3,
- Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers), Event Player, Stunned, 0.800);
- Damage(Remove From Array(Players Within Radius(Facing Direction Of(Event Player) * 5 + Vector(0, 1.500, 0) + Position Of(
- Event Player), 3, All Teams, Surfaces And All Barriers), Event Player), Event Player, 25);
- Event Player.ab2cool = 10;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 2;
- Event Player.ab2cool == 0;
- Event Player.tra12 != 0;
- Is Button Held(Event Player, Button(Ability 2)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.cantuse == 0;
- Has Status(Event Player, Rooted) == False;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Heal(Event Player, Null, 200);
- If(Team Of(Event Player) == Team 1);
- Play Effect(All Players(All Teams), Tracer Recall Disappear Effect, Team 1, Position Of(Event Player), 1);
- Else;
- Play Effect(All Players(All Teams), Tracer Recall Disappear Effect, Team 2, Position Of(Event Player), 1);
- End;
- Play Effect(All Players(All Teams), Tracer Recall Disappear Sound, Color(White), Position Of(Event Player), 100);
- Teleport(Event Player, Event Player.tra12);
- If(Team Of(Event Player) == Team 1);
- Play Effect(All Players(All Teams), Tracer Recall Reappear Effect, Team 1, Position Of(Event Player), 1);
- Else;
- Play Effect(All Players(All Teams), Tracer Recall Reappear Effect, Team 2, Position Of(Event Player), 1);
- End;
- Play Effect(All Players(All Teams), Tracer Recall Reappear Sound, Color(White), Position Of(Event Player), 100);
- Wait(0.250, Ignore Condition);
- Event Player.ab2cool = 12;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 2;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.tra12 = Event Player.tra11;
- Event Player.tra11 = Event Player.tra10;
- Event Player.tra10 = Event Player.tra9;
- Event Player.tra9 = Event Player.tra8;
- Event Player.tra8 = Event Player.tra7;
- Event Player.tra7 = Event Player.tra6;
- Event Player.tra6 = Event Player.tra5;
- Event Player.tra5 = Event Player.tra4;
- Event Player.tra4 = Event Player.tra3;
- Event Player.tra3 = Event Player.tra2;
- Event Player.tra2 = Event Player.tra1;
- Event Player.tra1 = Position Of(Event Player);
- Wait(0.250, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 3;
- Event Player.ab2cool == 0;
- Is Button Held(Event Player, Button(Ability 2)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.ab2cool = 15;
- Add Health Pool To Player(Event Player, Shields, 100 + Count Of(Players Within Radius(Event Player, 8, Opposite Team Of(Team Of(
- Event Player)), Off)) * 75, False, False);
- Event Player.kingballshield = Last Created Health Pool;
- Create Effect(All Players(All Teams), Wrecking Ball Adaptive Shield Target Sound, Color(White), Position Of(Event Player), 100,
- Visible To Position and Radius);
- Event Player.kingballsound = Last Created Entity;
- If(Team Of(Event Player) == Team 1);
- Create Effect(All Players(All Teams), Wrecking Ball Adaptive Shield Target Effect, Color(Team 1), Event Player, 100,
- Visible To Position and Radius);
- Event Player.kingballeffect = Last Created Entity;
- Else;
- Create Effect(All Players(All Teams), Wrecking Ball Adaptive Shield Target Effect, Color(Team 2), Event Player, 100,
- Visible To Position and Radius);
- Event Player.kingballeffect = Last Created Entity;
- End;
- Wait(7, Ignore Condition);
- Destroy Effect(Event Player.kingballsound);
- Destroy Effect(Event Player.kingballeffect);
- Remove Health Pool From Player(Event Player.kingballshield);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 4;
- Event Player.ab2cool == 0;
- Is Button Held(Event Player, Button(Ability 2)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.ab2cool = 8;
- Set Primary Fire Enabled(Event Player, False);
- Set Secondary Fire Enabled(Event Player, False);
- Set Melee Enabled(Event Player, False);
- Event Player.cantuse = 1;
- Create Effect(All Players(All Teams), Baptiste Immortality Field Protected Effect, Color(White), Event Player, 1,
- Visible To Position and Radius);
- Event Player.hoghealeffect2 = Last Created Entity;
- Create Effect(All Players(All Teams), Heal Target Active Effect, Color(White), Event Player, 1, Visible To Position and Radius);
- Event Player.hoghealeffect = Last Created Entity;
- Create Effect(All Players(All Teams), Mercy Heal Beam Sound, Color(White), Event Player, 100, Visible To Position and Radius);
- Event Player.hoghealsound = Last Created Entity;
- Set Damage Received(Event Player, 50);
- Wait(0.300, Ignore Condition);
- Heal(Event Player, Event Player, 100);
- Wait(0.800, Ignore Condition);
- Heal(Event Player, Event Player, 100);
- Wait(0.800, Ignore Condition);
- Heal(Event Player, Event Player, 100);
- Set Damage Received(Event Player, 100);
- Destroy Effect(Event Player.hoghealeffect);
- Destroy Effect(Event Player.hoghealsound);
- Destroy Effect(Event Player.hoghealeffect2);
- Event Player.cantuse = 0;
- Set Primary Fire Enabled(Event Player, True);
- Set Secondary Fire Enabled(Event Player, True);
- Set Melee Enabled(Event Player, True);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 5;
- Event Player.ab2cool == 0;
- Is Button Held(Event Player, Button(Ability 2)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.cantuse == 0;
- Event Player.reapershadow == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Set Primary Fire Enabled(Event Player, False);
- Set Secondary Fire Enabled(Event Player, False);
- Create Effect(Event Player, Ring, Color(Purple), Nearest Walkable Position(Ray Cast Hit Position(Event Player,
- Event Player + Facing Direction Of(Event Player) * 15, Null, Event Player, True)), 1, Visible To Position and Radius);
- Event Player.reapershadoweffect = Last Created Entity;
- Wait(0.200, Ignore Condition);
- Event Player.reapershadow = 1;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 5;
- Is Button Held(Event Player, Button(Secondary Fire)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.reapershadow == 1;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.reapershadow = 0;
- Destroy Effect(Event Player.reapershadoweffect);
- Set Primary Fire Enabled(Event Player, True);
- Set Secondary Fire Enabled(Event Player, True);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 5;
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.reapershadow == 1;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Set Jump Enabled(Event Player, False);
- Event Player.reapershadow = 2;
- Set Gravity(Event Player, 20);
- Play Effect(All Players(All Teams), Reaper Wraith Form Sound, Color(White), Event Player, 100);
- Event Player.cantuse = 1;
- Event Player.reapershadowlocation = Nearest Walkable Position(Ray Cast Hit Position(Event Player,
- Event Player + Facing Direction Of(Event Player) * 15, Null, Event Player, True));
- Destroy Effect(Event Player.reapershadoweffect);
- Set Move Speed(Event Player, 0);
- Start Camera(Event Player, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) - Facing Direction Of(
- Event Player) * 5, All Players(All Teams), Event Player, True), Eye Position(Event Player), 30);
- Wait(0.050, Ignore Condition);
- Create Effect(All Players(All Teams), Cloud, Color(Purple), Event Player, 1, Visible To Position and Radius);
- Modify Player Variable(Event Player, reapershadoweffect2, Append To Array, Last Created Entity);
- Create Effect(All Players(All Teams), Cloud, Color(Purple), Event Player.reapershadowlocation, 1, Visible To Position and Radius);
- Modify Player Variable(Event Player, reapershadoweffect2, Append To Array, Last Created Entity);
- Wait(2.950, Ignore Condition);
- Teleport(Event Player, Event Player.reapershadowlocation);
- Destroy Effect(Event Player.reapershadoweffect2);
- Set Primary Fire Enabled(Event Player, True);
- Set Secondary Fire Enabled(Event Player, True);
- Set Move Speed(Event Player, 100);
- Event Player.cantuse = 0;
- Stop Camera(Event Player);
- Event Player.ab2cool = 10;
- Event Player.reapershadow = 0;
- Set Gravity(Event Player, 100);
- Set Jump Enabled(Event Player, True);
- }
- }
- rule("")
- {
- event
- {
- Player Died;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 5;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Destroy Effect(Event Player.reapershadoweffect);
- Destroy Effect(Event Player.reapershadoweffect2);
- Event Player.reapershadow = 0;
- }
- }
- rule("")
- {
- event
- {
- Player Left Match;
- All;
- All;
- }
- conditions
- {
- Global.ab2 == 5;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Destroy Effect(Event Player.reapershadoweffect);
- Destroy Effect(Event Player.reapershadoweffect2);
- Event Player.reapershadow = 0;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ab2 >= 100;
- Event Player.ab2cool == 0;
- Is Button Held(Event Player, Button(Ability 2)) == True;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Set Ability Cooldown(Event Player.dummybot, Button(Ability 2), 0);
- Event Player.ab2cool = 10;
- Teleport(Event Player.dummybot, Event Player);
- Set Facing(Event Player.dummybot, Facing Direction Of(Event Player), To World);
- Wait(0.016, Ignore Condition);
- Press Button(Event Player.dummybot, Button(Ability 2));
- Wait(1, Ignore Condition);
- Teleport(Event Player.dummybot, Vector(999, 999, 999));
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ult == 0;
- Is Button Held(Event Player, Button(Ultimate)) == True;
- Ultimate Charge Percent(Event Player) == 100;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- If(Team Of(Event Player) == Team 1);
- Play Effect(All Players(All Teams), Sombra EMP Explosion Effect, Color(Team 1), Position Of(Event Player), 1);
- Else;
- Play Effect(All Players(All Teams), Sombra EMP Explosion Effect, Color(Team 2), Position Of(Event Player), 1);
- End;
- Play Effect(All Players(All Teams), Sombra EMP Explosion Effect, Color(Team 1), Position Of(Event Player), 1);
- Play Effect(All Players(All Teams), Sombra EMP Explosion Sound, Color(White), Position Of(Event Player), 100);
- Apply Impulse(Event Player, Vector(0, 10, 0), 10, To Player, Cancel Contrary Motion);
- Set Status(Players Within Radius(Position Of(Event Player), 15, Opposite Team Of(Team Of(Event Player)), Off), Event Player,
- Hacked, 5);
- Set Ultimate Charge(Event Player, 0);
- Wait(0.500, Ignore Condition);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ult == 1;
- Is Button Held(Event Player, Button(Ultimate)) == True;
- Ultimate Charge Percent(Event Player) == 100;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.dvaultlocation = Position Of(Event Player);
- Apply Impulse(Event Player, Vector(0, 10, -10), 10, To Player, Cancel Contrary Motion);
- Set Ultimate Charge(Event Player, 0);
- If(Team Of(Event Player) == Team 1);
- Create Effect(All Players(All Teams), Orb, Color(Team 1), Position Of(Event Player), 20, None);
- Event Player.dvaulteffect = Last Created Entity;
- Else;
- Create Effect(All Players(All Teams), Orb, Color(Team 2), Position Of(Event Player), 20, None);
- Event Player.dvaulteffect = Last Created Entity;
- End;
- Create Effect(All Players(All Teams), Lúcio Sound Barrier Protected Sound, Color(White), Position Of(Event Player), 300, None);
- Event Player.dvaultsound = Last Created Entity;
- Create Icon(All Players(Opposite Team Of(Team Of(Event Player))), Position Of(Event Player), Warning, None, Color(Red), True);
- Event Player.dvaulticon = Last Created Entity;
- Wait(4, Ignore Condition);
- Destroy Icon(Event Player.dvaulticon);
- Destroy Effect(Event Player.dvaultsound);
- Destroy Effect(Event Player.dvaulteffect);
- If(Team Of(Event Player) == Team 1);
- Play Effect(All Players(All Teams), DVa Self Destruct Explosion Effect, Color(Team 1), Event Player.dvaultlocation, 100);
- Else;
- Play Effect(All Players(All Teams), DVa Self Destruct Explosion Effect, Color(Team 2), Event Player.dvaultlocation, 100);
- End;
- Play Effect(All Players(All Teams), DVa Self Destruct Explosion Sound, Color(White), Event Player.dvaultlocation, 100);
- Damage(Players Within Radius(Event Player.dvaultlocation, 20, Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers),
- Event Player, 1000);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ult == 2;
- Is Button Held(Event Player, Button(Ultimate)) == True;
- Ultimate Charge Percent(Event Player) == 100;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Set Ultimate Charge(Event Player, 0);
- Play Effect(All Players(All Teams), Reinhardt Fire Strike Target Impact Sound, Color(White), Position Of(Event Player), 100);
- Play Effect(All Players(All Teams), Doomfist Meteor Strike Impact Effect, Color(White), (Facing Direction Of(Event Player)
- * 7 + Position Of(Event Player)) * Vector(1, 0, 1), 1);
- Set Status(Players Within Radius((Facing Direction Of(Event Player) * 7 + Position Of(Event Player)) * Vector(1, 0, 1), 7,
- Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers), Event Player, Knocked Down, 2.500);
- Damage(Players Within Radius((Facing Direction Of(Event Player) * 7 + Position Of(Event Player)) * Vector(1, 0, 1), 7,
- Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers), Event Player, 50);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ult == 3;
- Is Button Held(Event Player, Button(Ultimate)) == True;
- Ultimate Charge Percent(Event Player) == 100;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Set Primary Fire Enabled(Event Player, False);
- Set Secondary Fire Enabled(Event Player, False);
- Set Melee Enabled(Event Player, False);
- Event Player.cantuse = 1;
- Event Player.reaperult = 1;
- Set Ultimate Charge(Event Player, 0);
- Start Camera(Event Player, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) - Facing Direction Of(
- Event Player) * 5, All Players(All Teams), Event Player, True), Eye Position(Event Player), 30);
- Set Move Speed(Event Player, 50);
- Create Effect(All Players(All Teams), Energy Sound, Color(White), Event Player, 300, Visible To Position and Radius);
- Modify Player Variable(Event Player, reaperulteffect, Append To Array, Last Created Entity);
- If(Team Of(Event Player) == Team 1);
- Create Effect(All Players(All Teams), Ring, Color(Team 1), Event Player, 8, Visible To Position and Radius);
- Else;
- Create Effect(All Players(All Teams), Ring, Color(Team 2), Event Player, 8, Visible To Position and Radius);
- End;
- Modify Player Variable(Event Player, reaperulteffect, Append To Array, Last Created Entity);
- If(Team Of(Event Player) == Team 1);
- Create Effect(All Players(All Teams), Cloud, Color(Team 1), Event Player, 8, Visible To Position and Radius);
- Else;
- Create Effect(All Players(All Teams), Cloud, Color(Team 2), Event Player, 8, Visible To Position and Radius);
- End;
- Modify Player Variable(Event Player, reaperulteffect, Append To Array, Last Created Entity);
- Wait Until((Is Dead(Event Player) || Has Status(Event Player, Hacked) || Has Status(Event Player, Knocked Down) || Has Status(
- Event Player, Asleep) || Has Status(Event Player, Frozen) || Has Status(Event Player, Stunned)) == True, 3);
- Destroy Effect(Event Player.reaperulteffect);
- Set Move Speed(Event Player, 100);
- Stop Camera(Event Player);
- Event Player.reaperult = 0;
- Set Primary Fire Enabled(Event Player, True);
- Set Secondary Fire Enabled(Event Player, True);
- Set Melee Enabled(Event Player, True);
- Event Player.cantuse = 0;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ult == 3;
- Event Player.reaperult == 1;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Damage(Players Within Radius(Event Player, 8, Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers), Event Player,
- 20);
- Wait(0.200, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.ult == 4;
- }
- actions
- {
- Global.GRAVITY = Vector(0, -15, 0);
- Global.V0 = 23;
- Global.elastic = 0.200;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ult == 4;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- If(Team Of(Event Player) == Team 1);
- "공의 위치를 표시한다."
- Create Effect(All Players(All Teams), Sphere, Color(Team 1), Event Player.meiposition, 0.300, Visible To Position and Radius);
- Else;
- "공의 위치를 표시한다."
- Create Effect(All Players(All Teams), Sphere, Color(Team 2), Event Player.meiposition, 0.300, Visible To Position and Radius);
- End;
- Event Player.meiposition = Vector(-999, -999, -999);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- "운동을 할때(속도가 0이 아닐 때) 액션을 실행한다."
- Event Player.meiVelocity == True;
- "레이저를 쏘아 맞은 곳과의 거리가 0.5미터 이하라면 벽에 닿은 것으로 간주한다. normalize한 후 10을 곱하여 크기가 10인 벡터로 변환한다. 공중에서 속도가 0이 되는 시간에는 동작하지 않게 하기 위함이다."
- Distance Between(Event Player.meiposition, Ray Cast Hit Position(Event Player.meiposition, Event Player.meiposition + Normalize(
- Event Player.meiVelocity) * 10, All Players(All Teams), Event Player, True)) < 0.500;
- Global.ult == 4;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.meinormal = Ray Cast Hit Normal(Event Player.meiposition, Event Player.meiposition + Normalize(
- Event Player.meiVelocity), All Players(All Teams), Event Player, True);
- Event Player.meiD = 2 * Event Player.meinormal * Dot Product(-1 * Event Player.meiVelocity, Event Player.meinormal);
- Event Player.meiVelocity += Event Player.meiD;
- "속력을 탄성계수만큼 줄인다."
- Event Player.meiVelocity *= Global.elastic;
- "속력이 0.5 이하라면 운동을 멈춘다."
- If(Absolute Value(Event Player.meiVelocity) < 0.500);
- Stop Chasing Player Variable(Event Player, meiposition);
- Stop Chasing Player Variable(Event Player, meiVelocity);
- Event Player.meiVelocity = 0;
- Else;
- "반사가 빠르게 재실행될 경우 룰이 무시될 수 있어 0.016(최소시간)의 간격을 둔 뒤 다시 검사한다."
- Wait(0.016, Ignore Condition);
- Loop If Condition Is True;
- End;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ult == 4;
- Is Button Held(Event Player, Button(Ultimate)) == True;
- Ultimate Charge Percent(Event Player) == 100;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Set Ultimate Charge(Event Player, 0);
- Play Effect(All Players(All Teams), Lúcio Sound Barrier Cast Sound, Color(White), Position Of(Event Player), 100);
- "초기위치설정"
- Event Player.meiposition = Eye Position(Event Player);
- "초기속도는 보는방향*초기속력"
- Event Player.meiVelocity = Facing Direction Of(Event Player) * Global.V0;
- "위치는 위치+속도로 속력(|속도|)만큼 빠르게 다가간다."
- Chase Player Variable At Rate(Event Player, meiposition, Event Player.meiposition + Event Player.meiVelocity, Absolute Value(
- Event Player.meiVelocity), Destination and Rate);
- "속도는 속도+가속도방향으로 가속력(|가속도|)만큼 빠르게 다가간다."
- Chase Player Variable At Rate(Event Player, meiVelocity, Event Player.meiVelocity + Global.GRAVITY, Absolute Value(Global.GRAVITY),
- Destination and Rate);
- Wait(0.500, Ignore Condition);
- Wait Until(Event Player.meiVelocity == 0, 99999);
- If(Team Of(Event Player) == Team 1);
- Create Effect(All Players(All Teams), Ring, Color(Team 1), Event Player.meiposition, 10, Visible To Position and Radius);
- Modify Player Variable(Event Player, meieffect, Append To Array, Last Created Entity);
- Create Effect(All Players(All Teams), Cloud, Color(Team 1), Event Player.meiposition, 10, Visible To Position and Radius);
- Modify Player Variable(Event Player, meieffect, Append To Array, Last Created Entity);
- Else;
- Create Effect(All Players(All Teams), Ring, Color(Team 2), Event Player.meiposition, 10, Visible To Position and Radius);
- Modify Player Variable(Event Player, meieffect, Append To Array, Last Created Entity);
- Create Effect(All Players(All Teams), Cloud, Color(Team 2), Event Player.meiposition, 10, Visible To Position and Radius);
- Modify Player Variable(Event Player, meieffect, Append To Array, Last Created Entity);
- End;
- Event Player.meiult = 1;
- Wait(2, Ignore Condition);
- Set Status(Players Within Radius(Event Player.meiposition, 10, Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers),
- Event Player, Frozen, 4);
- Wait(2.250, Ignore Condition);
- Event Player.meiposition = Vector(-999, -999, -999);
- Event Player.meiult = 0;
- Destroy Effect(Event Player.meieffect);
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ult == 4;
- Event Player.meiult == 1;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Event Player.meiultvictim = Players Within Radius(Event Player.meiposition, 10, Opposite Team Of(Team Of(Event Player)),
- Surfaces And All Barriers);
- Set Move Speed(Event Player.meiultvictim, 50);
- Damage(Players Within Radius(Event Player.meiposition, 10, Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers),
- Event Player, 7);
- Wait(0.300, Ignore Condition);
- Damage(Players Within Radius(Event Player.meiposition, 10, Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers),
- Event Player, 7);
- Wait(0.300, Ignore Condition);
- Damage(Players Within Radius(Event Player.meiposition, 10, Opposite Team Of(Team Of(Event Player)), Surfaces And All Barriers),
- Event Player, 7);
- Wait(0.300, Ignore Condition);
- Set Move Speed(Event Player.meiultvictim, 100);
- Loop If Condition Is True;
- }
- }
- rule("")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.ult >= 100;
- Is Button Held(Event Player, Button(Ultimate)) == True;
- Ultimate Charge Percent(Event Player) == 100;
- Is Alive(Event Player) == True;
- Has Status(Event Player, Hacked) == False;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Stunned) == False;
- Has Status(Event Player, Rooted) == False;
- Event Player.cantuse == 0;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- Set Ultimate Charge(Event Player.dummybot, 100);
- Set Ultimate Charge(Event Player, 0);
- Teleport(Event Player.dummybot, Event Player);
- Set Facing(Event Player.dummybot, Facing Direction Of(Event Player), To World);
- Wait(0.016, Ignore Condition);
- Press Button(Event Player.dummybot, Button(Ultimate));
- Wait(1, Ignore Condition);
- Teleport(Event Player.dummybot, Vector(999, 999, 999));
- }
- }