Return to post
nothing to see here
- variables
- {
- global:
- 0: BerserkerBuyPos
- 1: GlobalSpawn
- 2: PacifistBuyPos
- 4: FarmerBuyPos
- 5: GladiatorBuyPos
- 6: LightBuyPos
- 7: EventType
- 8: Gen1Pos
- 9: Gen2Pos
- 10: DamageBuyPos
- 11: DefenseBuyPos
- 12: HealthBuyPos
- 13: SpeedBuyPos
- 15: HeroChangePos
- 16: BloodCrystalPos
- 17: Overflow
- 18: XPToGoldPos
- 19: XPPumpPos
- 20: ScaleUpPos
- 21: ScaleDownPos
- 22: BankDepositPos
- 23: BankWithdrawPos
- 24: RegenBuyPos
- 25: StunBuyPos
- 26: AutoLifestealBuyPos
- 27: InterestBuyPos
- 28: SecondWindBuyPos
- 29: FlameBuyPos
- 30: MineEvent
- 31: XPKillEvent
- 32: NextToKill
- 33: StartingMoney
- 34: TenacityPos
- 35: ContractPosition
- 36: DarkShopPos
- 37: DarkShopOutPos
- 38: ResetPos
- 39: ResetPoints
- 40: ResetLevel
- 41: ChanceWheelPos
- 42: HealBubblePos
- 44: MoneyToDarkPos
- 45: StrengthTrainingPos
- 46: OneShotPos
- 47: DarkClassesPos
- 48: GhostPos
- 49: TrollPos
- 50: BillionairePos
- 51: AngelPos
- 52: DarkXPBoostPos
- 53: BerserkererPos
- 54: OrbPosition
- 55: OrbPositionType
- 56: OrbID
- 57: OrbTextID
- 58: OrbTimer
- 59: MinigameEvent
- 60: AllParticipants
- 61: MinerPos
- 62: HelperPos
- 63: MinigameEventOn
- 64: LifestealPos
- 65: ThirdPersonPos
- 66: SpectatePos
- 67: MinigameTime
- 68: EventText1
- 69: EventText2
- 70: DarkResistanceBuyPos
- 71: EventBubbleLocation
- 72: EventBubbleID
- 73: MarketPos
- 74: MarketTeleportOutPos
- 75: XPPumpPerSecond
- 76: XPPumpUpgradePos
- 77: MinePos
- 78: RubySellPos
- 79: XPGemSellPos
- 80: CoinDoublerSellPos
- 81: StatBoostSellPos
- 82: DiamondSellPos
- 83: UseXPGemPos
- 84: UseCoinDoublerPos
- 85: UseStatBoostPos
- 86: ExplosionBuyPos
- 87: ToggleNanoPos
- 88: RubyPrice
- 89: XPGemPrice
- 90: CoinDoublerPrice
- 91: StatBoostPrice
- 92: DiamondPrice
- 93: ToggleExplosionPos
- 94: ExecutionerBuyPos
- player:
- 0: LastTextDamage
- 1: Berserker
- 2: HasClass
- 3: SwitchingClass
- 4: Pacifist
- 5: Level
- 6: XP
- 7: LevelUpPoints
- 8: Money
- 10: Farmer
- 12: Gladiator
- 13: Lightweight
- 14: Killstreak
- 15: Damage
- 16: Health
- 17: Speed
- 18: DamageTaken
- 19: ClassName
- 21: Scale
- 22: Bank
- 23: Regen
- 24: Stun
- 25: AutoLifesteal
- 26: Interest
- 30: SecondWind
- 31: DarkResistance
- 32: FlameBullets
- 33: Fire
- 34: FlameInflicter
- 35: Tenacity
- 36: ExplosionPerk
- 37: ContractText
- 38: RandomGenerator
- 39: RandomBloodCrystal
- 40: HudDone
- 41: DarkPoints
- 42: WheelOfChance
- 43: WheelMoneyReward
- 44: WheelXPReward
- 45: WheelLevelReward
- 46: WheelCooldown
- 47: Bounty
- 48: ReturnToSpawnReward
- 49: ContractKill
- 50: OnContract
- 51: ContractCoins
- 52: ContractXP
- 53: XPKillReward
- 54: StrengthTraining
- 55: StrengthTrainingScore
- 56: StrengthTrainingCooldown
- 57: XPMultiplier
- 58: Executioner
- 59: OneShot
- 60: DarkClasses
- 61: Ghost
- 62: Troll
- 63: ClassText
- 64: Billionaire
- 65: Angel
- 66: Berserkerer
- 67: CoinsLost
- 68: Helper
- 69: SecondWindActivated
- 70: Miner
- 71: Lifesteal
- 72: ThirdPerson
- 73: Spectating
- 74: SpectatorPlayer
- 75: TrollMode
- 76: PoisonDamage
- 77: DoubleJump
- 78: DoubleJump2
- 79: XPSignalReward
- 80: EventParticipation
- 81: SecondWindTime
- 82: LastDamager
- 83: MinedType
- 84: Rubies
- 85: XPGems
- 86: CoinDoubler
- 87: MineProgress
- 88: StatBoost
- 89: Diamonds
- 90: RandomMined2
- 91: NanoBoostReference
- 92: NanoBoost
- 93: Explosion
- 94: miningspeed
- 95: miningprice
- }
- subroutines
- {
- 0: PreInitiate
- 1: PostInitiate
- 2: Default
- 3: ClassPurge
- 4: Events
- 5: WheelOfChance
- 6: Spawn
- 7: RewardOrb
- 8: MinigameEvents
- 9: MarketPrices
- }
- disabled rule("// Made by ShadowDragon#1166969")
- {
- event
- {
- Ongoing - Global;
- }
- }
- disabled rule("// Contributions by Jokerz")
- {
- event
- {
- Ongoing - Global;
- }
- }
- disabled rule("// Debug")
- {
- event
- {
- Ongoing - Global;
- }
- }
- disabled rule("Stress test (use with bots)")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Press Button(Event Player, Button(Interact));
- Wait(0.075, Ignore Condition);
- Loop;
- }
- }
- disabled rule("Debug Markers")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player == Host Player;
- }
- actions
- {
- Create Effect(Host Player, Ring, Color(Yellow), Position Of(Event Player), 1, None);
- Create In-World Text(Host Player, Custom String("Marker: {0}", Position Of(Event Player)), Vector(X Component Of(Position Of(
- Event Player)), Y Component Of(Position Of(Event Player)) + 1, Z Component Of(Position Of(Event Player))), 1, Do Not Clip,
- None, Color(White), Default Visibility);
- }
- }
- disabled rule("Fly Test")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Jump)) == True;
- Event Player == Host Player;
- }
- actions
- {
- Apply Impulse(Event Player, Up, 6, To World, Cancel Contrary Motion);
- Wait(0.016, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- disabled rule("Creative mode test")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Primary Fire)) == True;
- }
- actions
- {
- disabled Wait(15, Ignore Condition);
- All Players(All Teams).Money = 100000000;
- All Players(All Teams).Level = 1000;
- All Players(All Teams).LevelUpPoints = 9999999.000;
- All Players(All Teams).DarkPoints = 99999;
- Event Player.Speed = 300;
- Call Subroutine(Default);
- }
- }
- disabled rule("Text/effect count test")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create HUD Text(All Players(All Teams), Custom String("Text: {0}", Text Count), Null, Null, Left, 0, Color(White), Color(White),
- Color(White), Visible To and String, Default Visibility);
- Create HUD Text(All Players(All Teams), Custom String("Effect: {0}", Entity Count), Null, Null, Left, 0, Color(White), Color(
- White), Color(White), Visible To and String, Default Visibility);
- }
- }
- disabled rule("Phasing Test")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Disable Movement Collision With Environment(Event Player, False);
- }
- }
- disabled rule("Bot shooting test")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Dummy Bot(Event Player) == True;
- Ammo(Event Player, 0) > 0;
- }
- actions
- {
- Press Button(Event Player, Button(Primary Fire));
- Wait(3, Ignore Condition);
- Loop;
- }
- }
- disabled rule("Bot test")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Number Of Players(All Teams) < 10;
- }
- actions
- {
- Create Dummy Bot(Hero(Baptiste), All Teams, -1, Global.XPPumpPos, Vector(0, 0, 0));
- Wait(3, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- disabled rule("Position test")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Create HUD Text(Event Player, Custom String("{0}", Position Of(Event Player)), Null, Null, Left, 0, Color(White), Color(White),
- Color(White), Visible To and String, Default Visibility);
- }
- }
- disabled rule("// Main rules")
- {
- event
- {
- Ongoing - Global;
- }
- }
- rule("Local Player Hud")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create Progress Bar HUD Text(Local Player, Local Player.XP, Custom String("Level: {0} [{1}/100]", Local Player.Level,
- Local Player.XP), Left, 100, Local Player.XP < 75 ? Color(White) : Color(Green), Color(White), Visible To Values and Color,
- Default Visibility);
- Create HUD Text(Local Player, Null, Null, Custom String("Killstreak: {0}\r\nContract: {1}\r\n\r{2}", Local Player.Killstreak,
- Local Player.ContractText, Custom String("Instance Time: {0}h {1}m", Round To Integer(Total Time Elapsed / 3600, Down),
- Round To Integer(Total Time Elapsed / 60 % 60, Down))), Top, 2, Null, Null, Color(Green), Visible To and String,
- Default Visibility);
- Create HUD Text(Local Player, Custom String("Class: {0}", Local Player.ClassName), Null, Null, Right, -5, Color(Aqua), Null, Null,
- Visible To and String, Default Visibility);
- Create HUD Text(Local Player, Custom String("{0} Level Up Points: {1}", Icon String(Happy), Local Player.LevelUpPoints), Null,
- Null, Right, -4, Color(Sky Blue), Null, Null, Visible To and String, Default Visibility);
- Create HUD Text(Local Player, Custom String("{0} Coins: {1}", Icon String(Diamond), Local Player.Money), Null, Null, Right, -3,
- Color(Yellow), Null, Null, Visible To and String, Default Visibility);
- Create In-World Text(Local Player, Custom String("Speed ({0}) (R to reset)", Local Player.Speed), Vector(X Component Of(
- Global.SpeedBuyPos), Y Component Of(Global.SpeedBuyPos) + 1, Z Component Of(Global.SpeedBuyPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- Create In-World Text(Local Player, Custom String("Damage ({0})", Local Player.Damage), Vector(X Component Of(Global.DamageBuyPos),
- Y Component Of(Global.DamageBuyPos) + 1, Z Component Of(Global.DamageBuyPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- Create In-World Text(Local Player, Custom String("Health ({0}%)", Local Player.Health), Vector(X Component Of(Global.HealthBuyPos),
- Y Component Of(Global.HealthBuyPos) + 1, Z Component Of(Global.HealthBuyPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- Create In-World Text(Local Player, Custom String("Defence ({0}% Damage)", Local Player.DamageTaken), Vector(X Component Of(
- Global.DefenseBuyPos), Y Component Of(Global.DefenseBuyPos) + 1, Z Component Of(Global.DefenseBuyPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "scale up"
- Global.ScaleUpPos = Vector(-267.750, -5.070, 30.230);
- Create Effect(Local Player, Ring, Color(Yellow), Global.ScaleUpPos, 1, Visible To Position and Radius);
- Create In-World Text(Local Player, Custom String("Scale up \r\n 20 coins ({0}%)", Local Player.Scale * 100), Vector(X Component Of(
- Global.ScaleUpPos), Y Component Of(Global.ScaleUpPos) + 1, Z Component Of(Global.ScaleUpPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- "scale down"
- Global.ScaleDownPos = Vector(-265, -5.050, 34);
- Create Effect(Local Player, Ring, Color(Yellow), Global.ScaleDownPos, 1, Visible To Position and Radius);
- Create In-World Text(Local Player, Custom String("Scale down \r\n 20 coins ({0}%)", Local Player.Scale * 100), Vector(
- X Component Of(Global.ScaleDownPos), Y Component Of(Global.ScaleDownPos) + 1, Z Component Of(Global.ScaleDownPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Not scale down"
- Create In-World Text(Local Player, Custom String("Bank \r\n ${0} ({1}% interest)", Local Player.Bank, Local Player.Interest * 100),
- Vector(-280, -1, 50), 1.150, Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
- Create In-World Text(Local Player, Custom String("XP Boost: {1}%", Local Player.DarkPoints, Local Player.XPMultiplier * 100),
- Vector(-301.700, -2, 55.080), 1.500, Clip Against Surfaces, Visible To Position and String, Color(Green), Default Visibility);
- "Text"
- Create HUD Text(Local Player, Custom String(""), Null, Custom String("Use 708FD for the latest version"), Right, -2, Color(White),
- Custom Color(255, 0, 255, 255), Custom Color(0, 255, 0, 255), Visible To and String, Default Visibility);
- Create HUD Text(All Players(All Teams), Null, Null, Custom String("Server Load Average: {0}/255 ", Server Load Average), Right, 0,
- Null, Null, Server Load Average > 230 ? Custom Color(255, 0, 0, 255) : (Server Load Average > 170 ? Custom Color(255, 137, 0,
- 255) : (Server Load Average > 100 ? Color(Yellow) : Color(White))), Visible To Sort Order String and Color,
- Default Visibility);
- Create Progress Bar HUD Text(Distance Between(Global.MinePos, Position Of(Local Player)) < 4 ? Local Player : Null,
- Local Player.MineProgress, Custom String("Mine [{0}/100]", Local Player.MineProgress), Left, 0, Color(Yellow), Color(Orange),
- Visible To Values and Color, Default Visibility);
- Create HUD Text(Local Player, Null, Null, Custom String(
- "a\r\na\r\na\r\na\r\na\r\na\r\na\r\na\r\na\r\na\r\na\r\na\r\na\r\na\r\na\r\na\r\na\r\na"), Top, 3, Color(White), Color(White),
- Custom Color(0, 0, 0, 0), Visible To and String, Default Visibility);
- Create Progress Bar HUD Text(Filtered Array(All Players(All Teams), Current Array Element.SecondWindActivated == True),
- Local Player.SecondWindTime, Custom String("Second Wind"), Top, 5, Color(Red), Color(Yellow), Visible To Values and Color,
- Default Visibility);
- "Dark points HUD"
- Create HUD Text(Local Player.DarkPoints > 0 ? Local Player : Null, Custom String("Dark Points: {0}", Local Player.DarkPoints),
- Null, Null, Right, -2, Color(Purple), Color(White), Color(White), Visible To and String, Default Visibility);
- }
- }
- rule("Call Initiate")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Start Rule(PreInitiate, Do Nothing);
- Start Rule(PostInitiate, Do Nothing);
- Start Rule(Default, Restart Rule);
- }
- }
- rule("Initiate")
- {
- event
- {
- Subroutine;
- PreInitiate;
- }
- actions
- {
- Set Match Time(5);
- Global.XPPumpPerSecond = 8;
- Disable Built-In Game Mode Music;
- Disable Inspector Recording;
- Disable Built-In Game Mode Announcer;
- Disable Built-In Game Mode Completion;
- Disable Built-In Game Mode Scoring;
- Global.GlobalSpawn = Vector(-280, -3.300, 40);
- "spawn bubble"
- Create Effect(All Players(All Teams), Sphere, Color(Green), Vector(-280, -3.300, 40), 26, Visible To Position and Radius);
- "Berserker class"
- Global.BerserkerBuyPos = Vector(-287, -3.300, 31);
- Create Effect(All Players(All Teams), Ring, Color(Red), Global.BerserkerBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Berserker \r\n Receive and deal 40% extra damage. \r\n 50% Ability Cooldown."), Vector(-287, -2.300, 31), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "pacifist class"
- Global.PacifistBuyPos = Vector(-284, -3.300, 29);
- Create Effect(All Players(All Teams), Ring, Color(Aqua), Global.PacifistBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Pacifist \r\n Receive 80% less damage\r\n Deal 80% less damage"),
- Vector(X Component Of(Global.PacifistBuyPos), Y Component Of(Global.PacifistBuyPos) + 1, Z Component Of(
- Global.PacifistBuyPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Classes Text"
- Create In-World Text(All Players(All Teams), Custom String("Classes\r\n Switching delay: 0 seconds"), Vector(-282, -1.300, 35), 1,
- Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
- "jump pad"
- Create Effect(All Players(All Teams), Ring, Color(Green), Vector(-250, -3, 40), 1, Visible To Position and Radius);
- "Farmer Class"
- Global.FarmerBuyPos = Vector(-280, -3.300, 30);
- Create Effect(All Players(All Teams), Ring, Color(Orange), Global.FarmerBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Farmer \r\n Gain 50% extra XP.\r\n Deal 25% less damage."), Vector(
- -280, -2.300, 30), 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Gladiator class"
- Global.GladiatorBuyPos = Vector(-278, -3.300, 32.500);
- Create Effect(All Players(All Teams), Ring, Color(Blue), Global.GladiatorBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Gladiator \r\n take 25% less damage \r\n deal 10% more \r\n move 30% slower"), Vector(-278, -2.300, 32.500), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Lightweight class"
- Global.LightBuyPos = Vector(-282.500, -3.300, 32);
- Create Effect(All Players(All Teams), Ring, Color(White), Global.LightBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Lightweight \r\n Increased mobility\r\n gain double jump\r\n take 20% more damage"), Vector(-282.500, -2.300, 32), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("Level Up Shop \r\n 1 point per upgrade"), Local Vector Of(Vector(
- -270.500, 0, 46), Event Player, Rotation), 1.250, Clip Against Surfaces, Visible To Position and String, Color(Yellow),
- Default Visibility);
- "Level up points To Coins"
- Global.XPToGoldPos = Vector(-129.800, -4.160, -120.750);
- Create Effect(All Players(All Teams), Ring, Color(Yellow), Global.XPToGoldPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Convert level up points to coins (reload to convert all)\r\n Conversion rate: 1:15 "), Vector(X Component Of(
- Global.XPToGoldPos), Y Component Of(Global.XPToGoldPos) + 1, Z Component Of(Global.XPToGoldPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- "Generator 1"
- Global.Gen1Pos = Vector(-203, 0, -22);
- Create Effect(All Players(All Teams), Ring, Color(Orange), Global.Gen1Pos, 2, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Generator (Coins)"), Vector(X Component Of(Global.Gen1Pos),
- Y Component Of(Global.Gen1Pos) + 1, Z Component Of(Global.Gen1Pos)), 1, Clip Against Surfaces, Visible To Position and String,
- Color(Green), Default Visibility);
- "Generator 2"
- Global.Gen2Pos = Vector(-215, 0, -10);
- Create Effect(All Players(All Teams), Ring, Color(Orange), Global.Gen2Pos, 2, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Generator (Coins)"), Vector(X Component Of(Global.Gen2Pos),
- Y Component Of(Global.Gen2Pos) + 1, Z Component Of(Global.Gen2Pos)), 1, Clip Against Surfaces, Visible To Position and String,
- Color(Green), Default Visibility);
- "xp shop"
- Global.DamageBuyPos = Vector(-266.500, -1.300, 50.250);
- Create Effect(All Players(All Teams), Ring, Color(Red), Global.DamageBuyPos, 1, Visible To Position and Radius);
- Global.HealthBuyPos = Vector(-268, -1.300, 47);
- Create Effect(All Players(All Teams), Ring, Color(Green), Global.HealthBuyPos, 1, Visible To Position and Radius);
- Global.DefenseBuyPos = Vector(-272, -1.300, 49.500);
- Create Effect(All Players(All Teams), Ring, Color(Yellow), Global.DefenseBuyPos, 1, Visible To Position and Radius);
- Global.SpeedBuyPos = Vector(-270, -1.300, 52);
- Create Effect(All Players(All Teams), Ring, Color(White), Global.SpeedBuyPos, 1, Visible To Position and Radius);
- "Change Hero"
- Global.HeroChangePos = Vector(-284.500, -3.300, 44);
- Create In-World Text(All Players(All Teams), Custom String("Change Hero"), Vector(X Component Of(Global.HeroChangePos),
- Y Component Of(Global.HeroChangePos) + 1, Z Component Of(Global.HeroChangePos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- Create Effect(All Players(All Teams), Ring, Color(Yellow), Global.HeroChangePos, 1.250, Visible To Position and Radius);
- "Blood crystal"
- Global.BloodCrystalPos = Vector(-258.030, -4.730, 12.730);
- Create Effect(All Players(All Teams), Ring, Color(Red), Global.BloodCrystalPos, 3, Visible To Position and Radius);
- Create Effect(All Players(All Teams), Orb, Color(Red), Vector(X Component Of(Global.BloodCrystalPos), Y Component Of(
- Global.BloodCrystalPos) + 3, Z Component Of(Global.BloodCrystalPos)), 0.200, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Blood Crystal "), Vector(X Component Of(Global.BloodCrystalPos),
- Global.BloodCrystalPos + -0.500, Z Component Of(Global.BloodCrystalPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- "Bank Deposit"
- Global.BankDepositPos = Vector(-279, -3.300, 49);
- Create Effect(All Players(All Teams), Ring, Color(Yellow), Global.BankDepositPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Deposit (reload to deposit all)"), Vector(X Component Of(
- Global.BankDepositPos), Y Component Of(Global.BankDepositPos) + 1, Z Component Of(Global.BankDepositPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
- "Bank Withdraw"
- Global.BankWithdrawPos = Vector(-281.600, -3.300, 51);
- Create Effect(All Players(All Teams), Ring, Color(Yellow), Global.BankWithdrawPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Withdraw (reload to withdraw all)"), Vector(X Component Of(
- Global.BankWithdrawPos), Y Component Of(Global.BankWithdrawPos) + 1, Z Component Of(Global.BankWithdrawPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
- "XP Pump"
- Global.XPPumpPos = Vector(-179.380, -4.740, -66.060);
- Create Effect(All Players(All Teams), Ring, Color(Blue), Global.XPPumpPos, 5, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("XP Pump ({0} / (number of players on pump) xp/s)",
- Global.XPPumpPerSecond), Vector(X Component Of(Global.XPPumpPos), Y Component Of(Global.XPPumpPos) + 3, Z Component Of(
- Global.XPPumpPos)), 0.900, Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
- Create Beam Effect(All Players(All Teams), Good Beam, Global.XPPumpPos, Vector(X Component Of(Global.XPPumpPos), Y Component Of(
- Global.XPPumpPos) + 3, Z Component Of(Global.XPPumpPos)), Color(White), Visible To Position and Radius);
- "Regen"
- Global.RegenBuyPos = Vector(-275.350, -5, 24.450);
- Create Effect(All Players(All Teams), Ring, Color(Blue), Global.RegenBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Regen \r\n +0.1% max health/s \r\nCurrent Upgrade: {0}%\r\nMax Upgrade: 1.5%\r\nCost: 3000 coins", Local Player.Regen * 100),
- Vector(X Component Of(Global.RegenBuyPos), Y Component Of(Global.RegenBuyPos) + 1, Z Component Of(Global.RegenBuyPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
- "Stun"
- Global.StunBuyPos = Vector(-273.390, -5, 26.840);
- Create Effect(All Players(All Teams), Ring, Color(Blue), Global.StunBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Stun Bullets \r\n >40 damage attacks have 15% chance to stun \r\nCost: 3000 coins"), Vector(X Component Of(Global.StunBuyPos),
- Y Component Of(Global.StunBuyPos) + 1, Z Component Of(Global.StunBuyPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(Yellow), Default Visibility);
- "landmark"
- Create Icon(All Players(All Teams), Vector(X Component Of(Global.ChanceWheelPos), Y Component Of(Global.ChanceWheelPos) + 2,
- Z Component Of(Global.ChanceWheelPos)), Question Mark, Visible To and Position, Color(Orange), True);
- "Auto Lifesteal"
- Global.AutoLifestealBuyPos = Vector(-271.790, -5, 28.930);
- Create Effect(All Players(All Teams), Ring, Color(Blue), Global.AutoLifestealBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Auto Lifesteal \r\n 35% chance to heal 70% of damage dealt \r\nCost: 6000 coins"), Vector(X Component Of(
- Global.AutoLifestealBuyPos), Y Component Of(Global.AutoLifestealBuyPos) + 1, Z Component Of(Global.AutoLifestealBuyPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
- "Bank interest"
- Global.InterestBuyPos = Vector(-273.520, -5, 22.960);
- Create Effect(All Players(All Teams), Ring, Color(Blue), Global.InterestBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Bank Interest \r\n +1% per 2 minutes\r\nMax Coins/Interest: 40000 coins \r\nCurrent Upgrade: {0}%\r\nMax Upgrade: 40%\r\nCost: 200 coins",
- Local Player.Interest * 100), Vector(X Component Of(Global.InterestBuyPos), Y Component Of(Global.InterestBuyPos) + 1,
- Z Component Of(Global.InterestBuyPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(Yellow),
- Default Visibility);
- "Flame"
- Global.FlameBuyPos = Vector(-271.610, -5, 25.430);
- Create Effect(All Players(All Teams), Ring, Color(Blue), Global.FlameBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Flame \r\n 20% chance to light an enemy on fire on attack\r\nCost: 10000 coins"), Vector(X Component Of(Global.FlameBuyPos),
- Y Component Of(Global.FlameBuyPos) + 1, Z Component Of(Global.FlameBuyPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(Yellow), Default Visibility);
- "Starting Money"
- Global.StartingMoney = Workshop Setting Integer(Custom String("Starting"), Custom String("Money"), 500, 0, 15000, 0);
- "Tenacity"
- Global.TenacityPos = Vector(-270, -5, 27.450);
- Create Effect(All Players(All Teams), Ring, Color(Blue), Global.TenacityPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Tenacity \r\n Heal 15% of your max health \r\n Become unkillable for 4 seconds on kill\r\nCost: 7500 coins"), Vector(
- X Component Of(Global.TenacityPos), Y Component Of(Global.TenacityPos) + 1, Z Component Of(Global.TenacityPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
- "Contracts"
- Global.ContractPosition = Vector(-261.020, -5.090, 28.260);
- Create Effect(All Players(All Teams), Ring, Color(White), Global.ContractPosition, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("New kill contract \r\nCooldown to switch contract: 7 seconds"), Vector(
- X Component Of(Global.ContractPosition), Y Component Of(Global.ContractPosition) + 1, Z Component Of(Global.ContractPosition)),
- 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "The Dark Shop"
- Global.DarkShopPos = Vector(-278, -3.300, 39.500);
- Create In-World Text(All Players(All Teams), Custom String("The Dark Shop (dark points/resets)"), Vector(X Component Of(
- Global.DarkShopPos), Y Component Of(Global.DarkShopPos) + 1, Z Component Of(Global.DarkShopPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(Violet), Default Visibility);
- Create Effect(All Players(All Teams), Sphere, Color(Purple), Global.DarkShopPos, 1, Visible To Position and Radius);
- "The Dark Shop Teleport Out"
- Global.DarkShopOutPos = Vector(-293.450, -4.180, 49.720);
- Create In-World Text(All Players(All Teams), Custom String("Teleport Out"), Vector(X Component Of(Global.DarkShopOutPos),
- Y Component Of(Global.DarkShopOutPos) + 1, Z Component Of(Global.DarkShopOutPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(Violet), Default Visibility);
- Create Effect(All Players(All Teams), Sphere, Color(Purple), Global.DarkShopOutPos, 1, Visible To Position and Radius);
- "Reset"
- Global.ResetPos = Vector(-312.970, -3.960, 62.560);
- Create Effect(All Players(All Teams), Ring, Color(Purple), Global.ResetPos, 1, Visible To Position and Radius);
- Global.ResetPoints = Workshop Setting Integer(Custom String("Resetting"), Custom String("Points On Reset"), 100, 0, 1500, 0);
- Global.ResetLevel = Workshop Setting Integer(Custom String("Resetting"), Custom String("Minimum Level"), 0, 30, 400, 0);
- Create In-World Text(All Players(All Teams), Custom String(
- "Reset! (Level {1})\r\n\r\nUpon resetting:\r\n all your stats will reset \r\n you will gain {0} Dark Points",
- Global.ResetPoints, Global.ResetLevel), Vector(X Component Of(Global.ResetPos), Y Component Of(Global.ResetPos) + 0.500,
- Z Component Of(Global.ResetPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(Orange), Default Visibility);
- "Wheel Of Chance"
- Global.ChanceWheelPos = Vector(-141.770, -1.410, -75.370);
- Create In-World Text(All Players(All Teams), Custom String(
- "Wheel Of Chance\r\n Requirement: Level 15\r\n Cost: 500 coins\r\n Outcome: ???"), Vector(X Component Of(
- Global.ChanceWheelPos), Y Component Of(Global.ChanceWheelPos) + 1, Z Component Of(Global.ChanceWheelPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- Create Effect(All Players(All Teams), Ring, Color(Purple), Global.ChanceWheelPos, 2, Visible To Position and Radius);
- "Heal Bubble"
- Global.HealBubblePos = Vector(-218.900, 0, -26.950);
- Create Effect(All Players(All Teams), Sphere, Color(Purple), Global.HealBubblePos, 2, Visible To Position and Radius);
- Create Icon(All Players(All Teams), Vector(X Component Of(Global.HealBubblePos), Y Component Of(Global.HealBubblePos) + 2.500,
- Z Component Of(Global.HealBubblePos)), Heart, Visible To and Position, Color(Red), True);
- "Money to dark"
- Global.MoneyToDarkPos = Vector(-314.250, -3.960, 60.750);
- Create Effect(All Players(All Teams), Ring, Color(Purple), Global.MoneyToDarkPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Money To Dark Points \r\n Conversion rate: 100k to 20"), Vector(
- X Component Of(Global.MoneyToDarkPos), Y Component Of(Global.MoneyToDarkPos) + 1, Z Component Of(Global.MoneyToDarkPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(Purple), Default Visibility);
- "Strength Training"
- Global.StrengthTrainingPos = Vector(-190, 1, -3.290);
- Create Effect(All Players(All Teams), Ring, Color(Orange), Global.StrengthTrainingPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Strength Training \r\n Requirement: Level 5\r\n Reward: XP, Coins"),
- Vector(X Component Of(Global.StrengthTrainingPos), Y Component Of(Global.StrengthTrainingPos) + 1, Z Component Of(
- Global.StrengthTrainingPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(Green), Default Visibility);
- Create Icon(All Players(All Teams), Vector(X Component Of(Global.StrengthTrainingPos), Y Component Of(Global.StrengthTrainingPos)
- + 2, Z Component Of(Global.StrengthTrainingPos)), Diamond, Visible To and Position, Color(Orange), True);
- "One Shot"
- Global.OneShotPos = Vector(-304.300, -4.300, 64.710);
- Create Effect(All Players(All Teams), Ring, Color(Rose), Global.OneShotPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "One Shot \r\n Kill in 1 shot.\r\n Die in 1 shot.\r\n Victim kills you on death."), Vector(X Component Of(Global.OneShotPos),
- Y Component Of(Global.OneShotPos) + 1, Z Component Of(Global.OneShotPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- "Dark Classes"
- Global.DarkClassesPos = Vector(-303, -4.180, 60);
- Create Effect(All Players(All Teams), Ring, Color(Violet), Global.DarkClassesPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Unlock Dark Classes\r\n Cost: 1500 dark points"), Vector(
- X Component Of(Global.DarkClassesPos), Y Component Of(Global.DarkClassesPos) + 1, Z Component Of(Global.DarkClassesPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
- "Ghost"
- Global.GhostPos = Vector(-302.720, -4.300, 63.490);
- Create Effect(All Players(All Teams), Ring, Color(White), Global.GhostPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Ghost \r\n Become invisible \r\n Deal 1% damage"), Vector(
- X Component Of(Global.GhostPos), Y Component Of(Global.GhostPos) + 1, Z Component Of(Global.GhostPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Troll"
- Global.TrollPos = Vector(-300.740, -4.300, 62.220);
- Create Effect(All Players(All Teams), Ring, Color(Green), Global.TrollPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Troll \r\n Deal 1% damage\r\n Take 2x more damage\r\n Gain special abilities\r\n {0} + {1} to toggle ability",
- Input Binding String(Button(Interact)), Input Binding String(Button(Reload))), Vector(X Component Of(Global.TrollPos),
- Y Component Of(Global.TrollPos) + 1, Z Component Of(Global.TrollPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- "Billionaire"
- Global.BillionairePos = Vector(-298.470, -4.300, 61);
- Create Effect(All Players(All Teams), Ring, Color(Yellow), Global.BillionairePos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Billionaire \r\n Gain money based on damage dealt"), Vector(
- X Component Of(Global.BillionairePos), Y Component Of(Global.BillionairePos) + 1, Z Component Of(Global.BillionairePos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Angel Perk"
- Global.AngelPos = Vector(-314.110, -4.300, 54.520);
- Create Effect(All Players(All Teams), Ring, Color(Yellow), Global.AngelPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Angel \r\n Pacifist class gains flight \r\nCost: 300 dark points "),
- Vector(X Component Of(Global.AngelPos), Y Component Of(Global.AngelPos) + 1, Z Component Of(Global.AngelPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Dark XP Boost Perk"
- Global.DarkXPBoostPos = Vector(-311.950, -4.300, 53.100);
- Create Effect(All Players(All Teams), Ring, Color(Yellow), Global.DarkXPBoostPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Dark XP Boost \r\n +1% permanent xp multiplier\r\nCost: 25 dark points"), Vector(X Component Of(Global.DarkXPBoostPos),
- Y Component Of(Global.DarkXPBoostPos) + 1, Z Component Of(Global.DarkXPBoostPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- "Berserkerer"
- Global.BerserkererPos = Vector(-296.630, -4.300, 59.730);
- Create Effect(All Players(All Teams), Ring, Color(Red), Global.BerserkererPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Berserkerer \r\n Deal 2.5x damage\r\n take 3x damage"), Vector(
- X Component Of(Global.BerserkererPos), Y Component Of(Global.BerserkererPos) + 1, Z Component Of(Global.BerserkererPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Miner"
- Global.MinerPos = Vector(-280.430, -3.300, 34.290);
- Create Effect(All Players(All Teams), Ring, Color(Gray), Global.MinerPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Miner \r\n 150% faster mining"), Vector(X Component Of(
- Global.MinerPos), Y Component Of(Global.MinerPos) + 1, Z Component Of(Global.MinerPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- "Helper"
- Global.HelperPos = Vector(-306.040, -4.300, 66.020);
- Create Effect(All Players(All Teams), Ring, Color(Sky Blue), Global.HelperPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Helper \r\n Heal and give coins and xp (to others) on attack\r\n Take -75% damage"), Vector(X Component Of(Global.HelperPos),
- Y Component Of(Global.HelperPos) + 1, Z Component Of(Global.HelperPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- "Lifesteal"
- Global.LifestealPos = Vector(-305.680, -4.300, 48.710);
- Create Effect(All Players(All Teams), Ring, Color(Sky Blue), Global.LifestealPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Lifesteal \r\n Heal +0.1% of damage dealt\r\nCost: 50 dark points, 10 level up points\r\nCurrent Upgrade: {0}%\r\nMax Upgrade: 15%",
- Local Player.Lifesteal), Vector(X Component Of(Global.LifestealPos), Y Component Of(Global.LifestealPos) + 1, Z Component Of(
- Global.LifestealPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Third Person"
- Global.ThirdPersonPos = Vector(-279.140, -3.300, 42.580);
- Create Effect(All Players(All Teams), Ring, Color(Sky Blue), Global.ThirdPersonPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Toggle third person"), Vector(X Component Of(Global.ThirdPersonPos),
- Y Component Of(Global.ThirdPersonPos) + 1, Z Component Of(Global.ThirdPersonPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- "Spectate"
- Global.SpectatePos = Vector(-281.160, -3.300, 39.550);
- Create Effect(All Players(All Teams), Ring, Color(Sky Blue), Global.SpectatePos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Spectate"), Vector(X Component Of(Global.SpectatePos), Y Component Of(
- Global.SpectatePos) + 1, Z Component Of(Global.SpectatePos)), 1, Clip Against Surfaces, Visible To Position and String, Color(
- White), Default Visibility);
- "Total TIme Elapsed\r\ncreateInWorldText(getAllPlayers(), \"Total Time Elapsed: {0}\".format(getTotalTimeElapsed()), vect(-288.91, -2, 46.69), 1, Clip.SURFACES, WorldTextReeval.VISIBILITY_POSITION_AND_STRING, Color.WHITE, SpecVisibility.DEFAULT)\r\nMarket"
- Global.MarketPos = Vector(-153.280, -3.410, -86);
- Create Effect(All Players(All Teams), Sphere, Color(Green), Global.MarketPos, 3, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Market (use and sell gems)"), Vector(X Component Of(Global.MarketPos),
- Y Component Of(Global.MarketPos) + 3.500, Z Component Of(Global.MarketPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(Green), Default Visibility);
- "Market Teleport Out"
- Global.MarketTeleportOutPos = Vector(-142.180, -4.290, -101.740);
- Create Effect(All Players(All Teams), Sphere, Color(Green), Global.MarketTeleportOutPos, 1.500, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Teleport out"), Vector(X Component Of(Global.MarketTeleportOutPos),
- Y Component Of(Global.MarketTeleportOutPos) + 2, Z Component Of(Global.MarketTeleportOutPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(Green), Default Visibility);
- "XP Pump Upgrade"
- Global.XPPumpUpgradePos = Vector(-145.020, -4.410, -98.400);
- Create Effect(All Players(All Teams), Ring, Color(Aqua), Global.XPPumpUpgradePos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "+1 global xp pump output per second \r\n Cost: 320000 coins, 400 level up points"), Vector(X Component Of(
- Global.XPPumpUpgradePos), Y Component Of(Global.XPPumpUpgradePos) + 1, Z Component Of(Global.XPPumpUpgradePos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Mine"
- Global.MinePos = Vector(-167.710, -5, -81.460);
- Create Effect(All Players(All Teams), Ring, Color(Orange), Global.MinePos, 4, Visible To Position and Radius);
- Create Progress Bar In-World Text(All Players(All Teams), Local Player.MineProgress, Custom String("Mine [{0}/100]",
- Local Player.MineProgress), Vector(X Component Of(Global.MinePos), Y Component Of(Global.MinePos) + 3.500, Z Component Of(
- Global.MinePos)), 1, Clip Against Surfaces, Color(Yellow), Color(Orange), Visible To Position Values and Color,
- Default Visibility);
- Create Beam Effect(All Players(All Teams), Grapple Beam, Global.MinePos, Vector(X Component Of(Global.MinePos), Y Component Of(
- Global.MinePos) + 3, Z Component Of(Global.MinePos)), Color(White), Visible To Position and Radius);
- "Rubies Sell"
- Global.RubySellPos = Vector(-132.930, -4.410, -104.770);
- Create Effect(All Players(All Teams), Ring, Color(Green), Global.RubySellPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Ruby \r\n({0} Coins, {1} left)", Global.RubyPrice,
- Local Player.Rubies), Vector(X Component Of(Global.RubySellPos), Y Component Of(Global.RubySellPos) + 1, Z Component Of(
- Global.RubySellPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "XP Gem Sell"
- Global.XPGemSellPos = Vector(-130.970, -4.410, -107.710);
- Create Effect(All Players(All Teams), Ring, Color(Green), Global.XPGemSellPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("XP Gems\r\n ({0} Coins, {1} left)", Global.XPGemPrice,
- Local Player.XPGems), Vector(X Component Of(Global.XPGemSellPos), Y Component Of(Global.XPGemSellPos) + 1, Z Component Of(
- Global.XPGemSellPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Coin Doubler Sell"
- Global.CoinDoublerSellPos = Vector(-129.400, -4.410, -110.060);
- Create Effect(All Players(All Teams), Ring, Color(Green), Global.CoinDoublerSellPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Coin Doubler\r\n ({0} Coins, {1} left)", Global.CoinDoublerPrice,
- Local Player.CoinDoubler), Vector(X Component Of(Global.CoinDoublerSellPos), Y Component Of(Global.CoinDoublerSellPos) + 1,
- Z Component Of(Global.CoinDoublerSellPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White),
- Default Visibility);
- "Stat Boost Sell"
- Global.StatBoostSellPos = Vector(-127.830, -4.410, -112.400);
- Create Effect(All Players(All Teams), Ring, Color(Green), Global.StatBoostSellPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Stat Boost \r\n({0} Coins, {1} left)", Global.StatBoostPrice,
- Local Player.StatBoost), Vector(X Component Of(Global.StatBoostSellPos), Y Component Of(Global.StatBoostSellPos) + 1,
- Z Component Of(Global.StatBoostSellPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White),
- Default Visibility);
- "Diamonds Sell"
- Global.DiamondSellPos = Vector(-126.350, -4.410, -114.630);
- Create Effect(All Players(All Teams), Ring, Color(Green), Global.DiamondSellPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Diamonds \r\n({0} Coins, {1} left)", Global.DiamondPrice,
- Local Player.Diamonds), Vector(X Component Of(Global.DiamondSellPos), Y Component Of(Global.DiamondSellPos) + 1,
- Z Component Of(Global.DiamondSellPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White),
- Default Visibility);
- "Use XP Gem"
- Global.UseXPGemPos = Vector(-141.350, -4.410, -114.210);
- Create Effect(All Players(All Teams), Ring, Color(Green), Global.UseXPGemPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Use XP Gem\r\n (+150 Base XP, 1% xp multiplier, {0} left)",
- Local Player.XPGems), Vector(X Component Of(Global.UseXPGemPos), Y Component Of(Global.UseXPGemPos) + 1, Z Component Of(
- Global.UseXPGemPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Use Coin Doubler"
- Global.UseCoinDoublerPos = Vector(-139.900, -4.410, -116.460);
- Create Effect(All Players(All Teams), Ring, Color(Green), Global.UseCoinDoublerPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Use Coin Doubler\r\n (Doubles your held money, {0} left)",
- Local Player.CoinDoubler), Vector(X Component Of(Global.UseCoinDoublerPos), Y Component Of(Global.UseCoinDoublerPos) + 1,
- Z Component Of(Global.UseCoinDoublerPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White),
- Default Visibility);
- "Use Stat Boost"
- Global.UseStatBoostPos = Vector(-138.600, -4.410, -118.480);
- Create Effect(All Players(All Teams), Ring, Color(Green), Global.UseStatBoostPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Use Stat Boost \r\n(+15 to damage/health/speed, Bypasses stat limits, {0} left)", Local Player.StatBoost), Vector(
- X Component Of(Global.UseStatBoostPos), Y Component Of(Global.UseStatBoostPos) + 1, Z Component Of(Global.UseStatBoostPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Informative text"
- Create In-World Text(All Players(All Teams), Custom String("Sell Items"), Vector(-132.070, -2.500, -110), 1, Clip Against Surfaces,
- Visible To Position and String, Color(Red), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("Use Items"), Vector(-138.710, -2.500, -113.990), 1,
- Clip Against Surfaces, Visible To Position and String, Color(Red), Default Visibility);
- Create In-World Text(All Players(All Teams), Custom String("Items will not reset"), Vector(-136.600, -2.500, -109.870), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Toggle Nano"
- disabled Global.ToggleNanoPos = Vector(-289.880, -4.300, 47.530);
- disabled Create Effect(All Players(All Teams), Ring, Color(Aqua), Global.ToggleNanoPos, 1, Visible To Position and Radius);
- disabled Create In-World Text(All Players(All Teams), Custom String("Toggle Nano Boost"), Vector(X Component Of(Global.ToggleNanoPos),
- Y Component Of(Global.ToggleNanoPos) + 1, Z Component Of(Global.ToggleNanoPos)), 1, Clip Against Surfaces,
- Visible To Position and String, Color(White), Default Visibility);
- "Explosion"
- disabled Global.ToggleExplosionPos = Vector(-289.880, -4.300, 47.530);
- disabled Create Effect(All Players(All Teams), Ring, Color(Aqua), Global.ToggleExplosionPos, 1, Visible To Position and Radius);
- disabled Create In-World Text(All Players(All Teams), Custom String("Toggle explosion on kill"), Vector(X Component Of(
- Global.ToggleExplosionPos), Y Component Of(Global.ToggleExplosionPos) + 1, Z Component Of(Global.ToggleExplosionPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Text"
- disabled Create In-World Text(All Players(All Teams), Custom String("Cosmetics"), Vector(-291.540, -3, 48.540), 1, Clip Against Surfaces,
- Visible To Position and String, Color(Green), Default Visibility);
- "Compartment 1"
- Create In-World Text(All Players(All Teams), Custom String("Upgrade compartment 1"), Vector(-288.970, -2.300, 58.160), 1,
- Clip Against Surfaces, Visible To Position and String, Color(Yellow), Default Visibility);
- "Second Wind"
- Global.SecondWindBuyPos = Vector(-279.550, -3.300, 53.490);
- Create Effect(All Players(All Teams), Ring, Color(Orange), Global.SecondWindBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Second Wind\r\n Stay alive for 5 extra seconds when you would normally die.\r\n You can only die to players.\r\nCost: 5000 dark points"),
- Vector(X Component Of(Global.SecondWindBuyPos), Y Component Of(Global.SecondWindBuyPos) + 1, Z Component Of(
- Global.SecondWindBuyPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Dark Resistance"
- Global.DarkResistanceBuyPos = Vector(-277.210, -3.300, 52.010);
- Create Effect(All Players(All Teams), Ring, Color(Orange), Global.DarkResistanceBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Dark resistance\r\n Take -30% damage.\r\nCost: 3000 dark points"),
- Vector(X Component Of(Global.DarkResistanceBuyPos), Y Component Of(Global.DarkResistanceBuyPos) + 1, Z Component Of(
- Global.DarkResistanceBuyPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Explosion"
- Global.ExplosionBuyPos = Vector(-278.220, -3.300, 55.830);
- Create Effect(All Players(All Teams), Ring, Color(Orange), Global.ExplosionBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Explosion\r\n 30% chance to cause an explosion on kill, dealing damage to nearby players.\r\nCost: 8000 dark points"), Vector(
- X Component Of(Global.ExplosionBuyPos), Y Component Of(Global.ExplosionBuyPos) + 1, Z Component Of(Global.ExplosionBuyPos)), 1,
- Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- "Executioner"
- Global.ExecutionerBuyPos = Vector(-275.430, -3.300, 53.950);
- Create Effect(All Players(All Teams), Ring, Color(Orange), Global.ExecutionerBuyPos, 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String(
- "Executioner\r\n Deal +50% damage to players below 40% health.\r\n Instantly kill players below 12% health.\r\nCost: 12000 dark points"),
- Vector(X Component Of(Global.ExecutionerBuyPos), Y Component Of(Global.ExecutionerBuyPos) + 1, Z Component Of(
- Global.ExecutionerBuyPos)), 1, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
- }
- }
- rule("Call Spawn")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.HudDone != True;
- }
- actions
- {
- Call Subroutine(Spawn);
- }
- }
- rule("Spawn")
- {
- event
- {
- Subroutine;
- Spawn;
- }
- actions
- {
- "hudHeader(eventPlayer, \"{1} Coins: {0}\".format(eventPlayer.Money, iconString(Icon.DIAMOND)), HudPosition.RIGHT, 0, Color.YELLOW, HudReeval.VISIBILITY_AND_STRING, SpecVisibility.DEFAULT)\r\neventPlayer.disableRespawn()"
- Create In-World Text(All Players(All Teams), Custom String("Class: {0} | Level {1}\r\nCoins: {2}", Event Player.ClassName,
- Event Player.Level, Event Player.Money), Event Player, 1.200, Clip Against Surfaces, Visible To Position and String, Color(
- White), Default Visibility);
- Event Player.ClassText = Last Text ID;
- "progressBarHud(eventPlayer, eventPlayer.XP, \"Level: {0}\".format(eventPlayer.Level), HudPosition.LEFT, 100, Color.AQUA, Color.WHITE, ProgressHudReeval.VISIBILITY_VALUES_AND_COLOR, SpecVisibility.DEFAULT)"
- Event Player.Health = 100;
- Event Player.Speed = 100;
- Event Player.DamageTaken = 100;
- Event Player.Damage = 100;
- Event Player.ClassName = Custom String("None");
- "scale up"
- Global.ScaleUpPos = Vector(-267.750, -5.070, 30.230);
- "scale down"
- Global.ScaleDownPos = Vector(-265, -5.050, 34);
- "Setup = true\r\n__end__()"
- Event Player.Money = Global.StartingMoney;
- Event Player.Scale = 1;
- Start Scaling Player(Event Player, Event Player.Scale, True);
- "hudSubtext(eventPlayer, \"Contract: {0}\".format(eventPlayer.ContractText), HudPosition.TOP, 9, Color.GREEN, HudReeval.VISIBILITY_AND_STRING, SpecVisibility.DEFAULT)"
- Event Player.LevelUpPoints = Workshop Setting Integer(Custom String("Starting"), Custom String("Level Up Points"), 0, 0, 200, 0);
- "createInWorldText(eventPlayer, \"Dark Points: {0} \\r\\n XP Boost: {1}%\".format(eventPlayer.DarkPoints, eventPlayer.XPMultiplier * 100), vect(-301.7, -2, 55.08), 1, Clip.SURFACES, WorldTextReeval.VISIBILITY_POSITION_AND_STRING, Color.PURPLE, SpecVisibility.DE"
- Event Player.ContractText = Custom String("None");
- Event Player.XPMultiplier = Workshop Setting Real(Custom String("Starting"), Custom String("XP Multiplier"), 1, 1, 5, 0);
- Event Player.HudDone = True;
- }
- }
- rule("Leaving bubble")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Position Of(Event Player), Vector(-280, -3.300, 40)) >= 26;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- If(Event Player.HasClass != True);
- Teleport(Event Player, Global.GlobalSpawn);
- Small Message(Event Player, Custom String("Choose a class! Look around before leaving safe zone."));
- Else;
- Small Message(Event Player, Custom String("Leaving safe zone."));
- Clear Status(Event Player, Phased Out);
- Allow Button(Event Player, Button(Primary Fire));
- Allow Button(Event Player, Button(Secondary Fire));
- Allow Button(Event Player, Button(Ultimate));
- Allow Button(Event Player, Button(Melee));
- Allow Button(Event Player, Button(Ability 1));
- Allow Button(Event Player, Button(Ability 2));
- Stop All Heal Over Time(Event Player);
- Call Subroutine(Default);
- }
- }
- rule("Entering bubble")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Position Of(Event Player), Vector(-280, -3.300, 40)) < 26;
- Is Dummy Bot(Event Player) == False;
- }
- actions
- {
- If(Event Player.SecondWindActivated == True);
- Small Message(Event Player, Custom String("Can't enter while dying!"));
- Abort;
- End;
- Set Status(Event Player, Null, Phased Out, 9999);
- "eventPlayer.setStatusEffect(null, Status.HACKED, 0.016)"
- Disallow Button(Event Player, Button(Primary Fire));
- Disallow Button(Event Player, Button(Secondary Fire));
- Disallow Button(Event Player, Button(Ultimate));
- "eventPlayer.disallowButton(Button.MELEE)"
- If(Hero Of(Event Player) != Hero(Bastion));
- Disallow Button(Event Player, Button(Ability 1));
- Else;
- End;
- Disallow Button(Event Player, Button(Ability 2));
- Start Heal Over Time(Event Player, Event Player, 9999, 80);
- If(Event Player.Killstreak > 0);
- Event Player.Killstreak = 0;
- Small Message(Event Player, Custom String("Killstreak reset for entering spawn."));
- }
- }
- rule("On Damage")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Victim != Attacker;
- }
- actions
- {
- Event Player.XP += Min(Random Real(Event Damage * 0.060, Event Damage * 0.100), 10) * Event Player.XPMultiplier;
- Attacker.LastTextDamage[2] = Victim;
- Attacker.LastTextDamage[3] = Event Damage;
- If(!Event Was Critical Hit);
- Attacker.LastTextDamage[1] = Color(White);
- Else If(Event Was Critical Hit);
- Attacker.LastTextDamage[1] = Color(Yellow);
- End;
- Wait(0.250, Ignore Condition);
- Event Player.LastTextDamage[2] = Null;
- }
- }
- rule("On death")
- {
- event
- {
- Player Died;
- All;
- All;
- }
- actions
- {
- Event Player.Killstreak = 0;
- Event Player.Fire = 0;
- Clear Status(Event Player, Invincible);
- Clear Status(Event Player, Hacked);
- Wait Until(Is Alive(Event Player), 99999);
- Wait(0.016, Ignore Condition);
- Teleport(Event Player, Vector(0, 400, 0));
- Wait(0.016, Ignore Condition);
- Teleport(Event Player, Global.GlobalSpawn);
- }
- }
- rule("Level Up")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.XP >= 100;
- }
- actions
- {
- Event Player.LevelUpPoints += Event Player.Level + 10;
- Small Message(Event Player, Custom String("{0} Level Up", Icon String(Checkmark)));
- Play Effect(Event Player, Ring Explosion Sound, Color(White), Event Player, 100);
- Play Effect(Event Player, Good Explosion, Color(White), Event Player, 10);
- Event Player.XP -= 100;
- Event Player.Level += 1;
- Set Player Score(Event Player, Event Player.Level);
- Wait(1, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("On Kill")
- {
- event
- {
- Player Dealt Final Blow;
- All;
- All;
- }
- conditions
- {
- Event Player != Victim;
- }
- actions
- {
- disabled If(Event Player.Explosion == True);
- disabled Play Effect(All Players(All Teams), Junkrat RIP Tire Explosion Effect, Color(Yellow), Evaluate Once(Position Of(Victim)), 5);
- disabled Play Effect(All Players(All Teams), Junkrat RIP Tire Explosion Sound, Color(White), Evaluate Once(Position Of(Victim)), 200);
- disabled End;
- Victim.CoinsLost = Round To Integer(Victim.Money * 0.200, To Nearest);
- Event Player.XPKillReward = Random Real(25, 35) * Event Player.XPMultiplier;
- Small Message(Event Player, Custom String("+{0} xp", Event Player.XPKillReward));
- Event Player.XP += Event Player.XPKillReward;
- Event Player.Killstreak += 1;
- If(Global.MinigameEvent != 1);
- Small Message(Victim, Custom String("-{0} coins (-20%)", Evaluate Once(Victim.CoinsLost)));
- Small Message(Event Player, Custom String("+{0} coins", Evaluate Once(Victim.CoinsLost + 50)));
- Event Player.Money += Round To Integer(Victim.Money * 0.200, To Nearest) + 50;
- Victim.Money -= Round To Integer(Victim.Money * 0.200, To Nearest);
- End;
- If(Event Player.Tenacity == True);
- Set Status(Event Player, Null, Unkillable, 4);
- Heal(Event Player, Null, Max Health(Event Player) * 0.150);
- End;
- If(Global.XPKillEvent == True);
- Small Message(Event Player, Custom String("+{0} extra xp", Event Player.XPMultiplier * 70));
- Event Player.XP += 70 * Event Player.XPMultiplier;
- End;
- If(Victim.Bounty > 1);
- Small Message(Event Player, Custom String("+{0} coins for claiming bounty.", Victim.Bounty));
- Small Message(Victim, Custom String("Bounty cleared"));
- Event Player.Money += Victim.Bounty;
- Wait(0.016, Ignore Condition);
- Victim.Bounty = 0;
- }
- }
- disabled rule("Pacifist's passive XP")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Chase Player Variable At Rate(Distance Between(Position Of(Event Player), Global.GlobalSpawn) > 26 && Has Status(Event Player,
- Invincible) == False && Event Player.Pacifist == True ? Event Player : Null, XP, 99999, 1, Destination and Rate);
- }
- }
- rule("Jump pad")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Vector(-250, -3, 40), Position Of(Event Player)) <= 1;
- }
- actions
- {
- Apply Impulse(Event Player, Up, 12, To Player, Cancel Contrary Motion);
- }
- }
- rule("Default values")
- {
- event
- {
- Subroutine;
- Default;
- }
- actions
- {
- If(Event Player.HasClass == False);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken);
- Set Damage Dealt(Event Player, Event Player.Damage);
- Set Max Health(Event Player, Event Player.Health);
- Else If(Event Player.Berserker == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken * 1.400);
- Set Damage Dealt(Event Player, Event Player.Damage * 1.400);
- Set Max Health(Event Player, Event Player.Health);
- Else If(Event Player.Pacifist == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken * 0.200);
- Set Damage Dealt(Event Player, Event Player.Damage * 0.200);
- Set Max Health(Event Player, Event Player.Health);
- Else If(Event Player.Farmer == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken);
- Set Damage Dealt(Event Player, Event Player.Damage * 0.750);
- Set Max Health(Event Player, Event Player.Health);
- Else If(Event Player.Gladiator == True);
- Set Move Speed(Event Player, Event Player.Speed * 0.750);
- Set Damage Received(Event Player, Event Player.DamageTaken * 0.750);
- Set Damage Dealt(Event Player, Event Player.Damage * 1.100);
- Set Max Health(Event Player, Event Player.Health);
- Else If(Event Player.Lightweight == True);
- Set Move Speed(Event Player, Event Player.Speed * 1.600);
- Set Damage Received(Event Player, Event Player.DamageTaken * 1.200);
- Set Damage Dealt(Event Player, Event Player.Damage);
- Set Max Health(Event Player, Event Player.Health);
- End;
- If(Event Player.Lightweight == True);
- Set Gravity(Event Player, 75);
- Set Jump Vertical Speed(Event Player, 125);
- Else;
- Set Jump Vertical Speed(Event Player, 100);
- Set Gravity(Event Player, 100);
- End;
- If(Event Player.OneShot == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken);
- Set Damage Dealt(Event Player, Event Player.Damage);
- Set Max Health(Event Player, Event Player.Health);
- End;
- If(Event Player.Ghost == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken);
- Set Damage Dealt(Event Player, Event Player.Damage * 0.010);
- Set Max Health(Event Player, Event Player.Health);
- End;
- If(Event Player.Troll == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken * 2);
- Set Damage Dealt(Event Player, Event Player.Damage * 0.010);
- Set Max Health(Event Player, Event Player.Health);
- End;
- If(Event Player.Billionaire == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken);
- Set Damage Dealt(Event Player, Event Player.Damage);
- Set Max Health(Event Player, Event Player.Health);
- End;
- If(Event Player.Berserkerer == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken * 3);
- Set Damage Dealt(Event Player, Event Player.Damage * 2.500);
- Set Max Health(Event Player, Event Player.Health);
- End;
- If(Event Player.OneShot == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken);
- Set Damage Dealt(Event Player, Event Player.Damage);
- Set Max Health(Event Player, Event Player.Health);
- End;
- If(Event Player.Miner == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken);
- Set Damage Dealt(Event Player, Event Player.Damage);
- Set Max Health(Event Player, Event Player.Health);
- End;
- If(Event Player.Helper == True);
- Set Move Speed(Event Player, Event Player.Speed);
- Set Damage Received(Event Player, Event Player.DamageTaken * 0.250);
- Set Damage Dealt(Event Player, Event Player.Damage * 0.010);
- Set Max Health(Event Player, Event Player.Health);
- }
- }
- rule("Class Purge")
- {
- event
- {
- Subroutine;
- ClassPurge;
- }
- actions
- {
- Event Player.HasClass = False;
- If(Event Player.Ghost == True);
- Create In-World Text(All Players(All Teams), Custom String("Class: {0} | Level: {1}\r\nCoins: {2}", Event Player.ClassName,
- Event Player.Level, Event Player.Money), Event Player, 1.200, Clip Against Surfaces, Visible To Position and String, Color(
- White), Default Visibility);
- Event Player.ClassText = Last Text ID;
- Set Invisible(Event Player, None);
- End;
- If(Event Player.Farmer == True);
- Event Player.XPMultiplier -= 0.500;
- End;
- Event Player.Berserker = False;
- Event Player.Pacifist = False;
- Event Player.Farmer = False;
- Event Player.Lightweight = False;
- Event Player.Gladiator = False;
- Event Player.OneShot = False;
- Event Player.Ghost = False;
- Event Player.Troll = False;
- Event Player.Billionaire = False;
- Event Player.Berserkerer = False;
- Event Player.Miner = False;
- Event Player.Helper = False;
- Event Player.ClassName = Custom String("None (waiting to change)");
- }
- }
- rule("Event")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.EventType == 0;
- }
- actions
- {
- Wait(Random Real(120, 210), Abort When False);
- Global.EventType = Random Integer(1, 7);
- Call Subroutine(Events);
- }
- }
- rule("EventSubroutine")
- {
- event
- {
- Subroutine;
- Events;
- }
- actions
- {
- If(Global.EventType == 1);
- Big Message(All Players(All Teams), Custom String("Event Starting..."));
- Global.EventType = 22222222;
- Wait(5, Ignore Condition);
- Global.EventType = 1;
- Big Message(All Players(All Teams), Custom String("Next person to die earns a reward"));
- Else If(Global.EventType == 2);
- Big Message(All Players(All Teams), Custom String("Event Starting..."));
- Wait(5, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("+30 Level Up Points for all"));
- All Players(All Teams).LevelUpPoints += 30;
- Global.EventType = 0;
- Else If(Global.EventType == 3);
- Big Message(All Players(All Teams), Custom String("Event Starting..."));
- Wait(5, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("Generators work 20x better for 30 seconds"));
- Global.Overflow = True;
- Wait(30, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("Event Over"));
- Global.EventType = 0;
- Global.Overflow = False;
- Else If(Global.EventType == 4);
- Big Message(All Players(All Teams), Custom String("Event Starting..."));
- Wait(5, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("Mine very fast for 30 seconds. "));
- Global.MineEvent = True;
- Wait(30, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("Event Over"));
- Global.EventType = 0;
- Global.MineEvent = False;
- Else If(Global.EventType == 5);
- Big Message(All Players(All Teams), Custom String("Event Starting..."));
- Wait(5, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("Gain +70 xp per kill for 40 seconds"));
- Global.XPKillEvent = True;
- Wait(40, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("Event Over"));
- Global.EventType = 0;
- Global.XPKillEvent = False;
- Else If(Global.EventType == 6);
- Big Message(All Players(All Teams), Custom String("Event Starting..."));
- Wait(5, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("Next person to kill will earn a reward"));
- Global.NextToKill = True;
- Else If(Global.EventType == 7);
- Big Message(All Players(All Teams), Custom String("Event Starting..."));
- Wait(5, Ignore Condition);
- Big Message(All Players(All Teams), Custom String("Reward Orb Spawning, press [{0}] to collect...", Input Binding String(Button(
- Interact))));
- Call Subroutine(RewardOrb);
- }
- }
- rule("Self kill Event")
- {
- event
- {
- Player Died;
- All;
- All;
- }
- conditions
- {
- Global.EventType == 1;
- }
- actions
- {
- Big Message(All Players(All Teams), Custom String("{0} won the event!", Event Player));
- Event Player.Money += 1000;
- Event Player.XP += 200;
- Small Message(Event Player, Custom String("+1000 coins, +200 xp"));
- Global.EventType = 0;
- }
- }
- rule("Generator 1")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.Gen1Pos) <= 2;
- }
- actions
- {
- If(Global.Overflow != True);
- Wait(3, Abort When False);
- Event Player.RandomGenerator = Random Integer(40, 60);
- Small Message(Event Player, Custom String("+{0} coins", Event Player.RandomGenerator));
- Event Player.Money += Event Player.RandomGenerator;
- Loop If Condition Is True;
- Else If(Global.Overflow == True);
- Wait(3, Abort When False);
- Event Player.RandomGenerator = Random Integer(40, 60);
- Event Player.Money += Event Player.RandomGenerator * 20;
- Small Message(Event Player, Custom String("+{0} coins", Event Player.RandomGenerator * 20));
- Loop If Condition Is True;
- }
- }
- rule("Generator 2")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.Gen2Pos) <= 2;
- }
- actions
- {
- If(Global.Overflow != True);
- Wait(3, Abort When False);
- Event Player.RandomGenerator = Random Integer(40, 60);
- Small Message(Event Player, Custom String("+{0} coins", Event Player.RandomGenerator));
- Event Player.Money += Event Player.RandomGenerator;
- Loop If Condition Is True;
- Else If(Global.Overflow == True);
- Wait(3, Abort When False);
- Event Player.RandomGenerator = Random Integer(40, 60);
- Event Player.Money += Event Player.RandomGenerator * 20;
- Small Message(Event Player, Custom String("+{0} coins", Event Player.RandomGenerator * 20));
- Loop If Condition Is True;
- }
- }
- rule("Speed Reset")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.SpeedBuyPos) <= 1;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Reload)) == True;
- Event Player.Speed > 100;
- }
- actions
- {
- Event Player.LevelUpPoints += Event Player.Speed - 100;
- Event Player.Speed = 100;
- Small Message(Event Player, Custom String("Reset speed"));
- Call Subroutine(Default);
- }
- }
- rule("Killstreak Announcements")
- {
- event
- {
- Player Dealt Final Blow;
- All;
- All;
- }
- actions
- {
- If(Event Player.Killstreak == 10);
- Big Message(All Players(All Teams), Custom String("{0} is on a killstreak of 10!", Event Player));
- End;
- If(Event Player.Killstreak == 15);
- Big Message(All Players(All Teams), Custom String("{0} is on a killstreak of 15!", Event Player));
- End;
- If(Event Player.Killstreak == 20);
- Big Message(All Players(All Teams), Custom String("{0} is on a killstreak of 20!", Event Player));
- }
- }
- rule("Hero Change")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.HeroChangePos) <= 1.500;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- Set Player Allowed Heroes(Event Player, Remove From Array(All Heroes, Hero Of(Event Player)));
- Set Player Allowed Heroes(Event Player, All Heroes);
- Wait Until(Distance Between(Position Of(Event Player), Global.HeroChangePos) > 1.500, 99999);
- Teleport(Event Player, Vector(0, 400, 0));
- Wait(0.500, Ignore Condition);
- Teleport(Event Player, Global.GlobalSpawn);
- }
- }
- rule("Blood Crystal")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.BloodCrystalPos) <= 3;
- Is Alive(Event Player) == True;
- }
- actions
- {
- Damage(Event Player, Null, Max Health(Event Player) * 0.200);
- Event Player.RandomBloodCrystal = Random Integer(26, 50);
- Event Player.Money += Event Player.RandomBloodCrystal;
- Small Message(Event Player, Custom String("+{0} coins", Event Player.RandomBloodCrystal));
- "eventPlayer.setStatusEffect(null, Status.BURNING, 0.75)"
- Wait(0.750, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("Blood Crystal Create")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Create Beam Effect(Distance Between(Global.BloodCrystalPos, Position Of(Event Player)) < 3 && Has Spawned(Event Player)
- == True ? All Players(All Teams) : Null, Bad Beam, Vector(X Component Of(Global.BloodCrystalPos), Y Component Of(
- Global.BloodCrystalPos) + 3, Z Component Of(Global.BloodCrystalPos)), Event Player, Color(Red),
- Visible To Position and Radius);
- Create Effect(Distance Between(Position Of(Event Player), Global.BloodCrystalPos) <= 3 ? All Players(All Teams) : Null,
- Energy Sound, Color(White), Position Of(Event Player), 300, Visible To Position and Radius);
- }
- }
- rule("LevelUpPoints To Coins")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.XPToGoldPos) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.LevelUpPoints >= 1;
- }
- actions
- {
- Event Player.Money += 15;
- Event Player.LevelUpPoints -= 1;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.030, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("Scale Up")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.ScaleUpPos) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.Money >= 20;
- Event Player.Scale < 3;
- }
- actions
- {
- Event Player.Scale += 0.005;
- Event Player.Money -= 20;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.030, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("Scale Down")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.ScaleDownPos) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.Money >= 20;
- Event Player.Scale > 0.350;
- }
- actions
- {
- Event Player.Scale -= 0.005;
- Event Player.Money -= 20;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.030, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("Bank Deposit")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.BankDepositPos) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Event Player.Money >= 10);
- Event Player.Bank += 10;
- Event Player.Money -= 10;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.016, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("Bank Withdraw")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.BankWithdrawPos) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Event Player.Bank >= 10);
- Event Player.Money += 10;
- Event Player.Bank -= 10;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.016, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("XP Pump Signal")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Global.XPPumpPos, Event Player) < 5;
- }
- actions
- {
- Wait(Random Integer(14, 21), Abort When False);
- Event Player.XPSignalReward = Random Integer(25, 40) * Event Player.XPMultiplier;
- Event Player.XP += Event Player.XPSignalReward;
- Play Effect(Event Player, Ring Explosion, Color(White), Global.XPPumpPos, 5);
- Play Effect(Event Player, Buff Explosion Sound, Color(White), Event Player, 200);
- Wait(0.016, Ignore Condition);
- Small Message(Event Player, Custom String("+{0} xp (xp pump)", Event Player.XPSignalReward));
- Loop If Condition Is True;
- }
- }
- rule("Regen Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.Money >= 3000;
- Distance Between(Event Player, Global.RegenBuyPos) <= 1;
- }
- actions
- {
- If(Event Player.Regen < 0.015);
- Event Player.Money -= 3000;
- Event Player.Regen += 0.001;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.016, Abort When False);
- Loop If Condition Is True;
- End;
- Else;
- Small Message(Event Player, Custom String("Max Regen!"));
- }
- }
- rule("Stun Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Stun == False;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.Money >= 3000;
- Distance Between(Event Player, Global.StunBuyPos) <= 1;
- }
- actions
- {
- Event Player.Money -= 3000;
- Event Player.Stun = True;
- Small Message(Event Player, Custom String("Stun Bought"));
- }
- }
- rule("Regen")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Regen == True;
- }
- actions
- {
- Heal(Event Player, Null, Min(Event Player.Regen * Max Health(Event Player), 40));
- Wait(1, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("Stun")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Event Player.Stun == True;
- Victim != Event Player;
- Event Damage >= 40;
- }
- actions
- {
- If(Random Real(1, 100) <= 15);
- Set Status(Victim, Null, Stunned, 0.650);
- }
- }
- rule("Interest Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.Money >= 200;
- Distance Between(Event Player, Global.InterestBuyPos) <= 1;
- Event Player.Interest < 0.400;
- }
- actions
- {
- Event Player.Money -= 200;
- Event Player.Interest += 0.010;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.030, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("Auto Lifesteal Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.AutoLifesteal == False;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.Money >= 6000;
- Distance Between(Event Player, Global.AutoLifestealBuyPos) <= 1;
- }
- actions
- {
- Event Player.Money -= 6000;
- Event Player.AutoLifesteal = True;
- Small Message(Event Player, Custom String("Auto Lifesteal Bought"));
- }
- }
- rule("Flame Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.FlameBullets == False;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.Money >= 10000;
- Distance Between(Event Player, Global.FlameBuyPos) <= 1;
- }
- actions
- {
- Event Player.Money -= 10000;
- Event Player.FlameBullets = True;
- Small Message(Event Player, Custom String("Flame Bought"));
- }
- }
- rule("Interest")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Interest > 0;
- }
- actions
- {
- Wait(120, Abort When False);
- Event Player.Bank += Round To Integer(Min(Event Player.Bank * Event Player.Interest, 40000), Up);
- "eventPlayer.Bank += ceil(eventPlayer.Bank * eventPlayer.Interest)"
- Loop If Condition Is True;
- }
- }
- rule("Auto Lifesteal")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Event Player.AutoLifesteal == True;
- Victim != Event Player;
- }
- actions
- {
- If(Random Real(1, 100) <= 35);
- Heal(Event Player, Null, Event Damage * 0.700);
- }
- }
- rule("Inflict Flame")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Event Player.FlameBullets == True;
- Victim != Event Player;
- Event Player.PoisonDamage != True;
- Has Status(Victim, Burning) == False;
- }
- actions
- {
- If(Random Integer(1, 100) <= 20);
- Victim.Fire += 4;
- Victim.FlameInflicter = Event Player;
- }
- }
- rule("Flame Damage")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Fire > 0;
- }
- actions
- {
- Set Status(Event Player, Null, Burning, 1.016);
- Start Damage Over Time(Event Player, Event Player.FlameInflicter, 1, 75);
- Event Player.Fire -= 1;
- Wait(1, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("Next To Kill Event")
- {
- event
- {
- Player Dealt Final Blow;
- All;
- All;
- }
- conditions
- {
- Global.NextToKill == True;
- }
- actions
- {
- Big Message(All Players(All Teams), Custom String("{0} won the event!", Event Player));
- Event Player.Money += 1000;
- Event Player.XP += 200;
- Small Message(Event Player, Custom String("+1000 coins, +200 xp"));
- Global.EventType = 0;
- Global.NextToKill = 0;
- }
- }
- rule("Tenacity Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Tenacity == False;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.Money >= 7500;
- Distance Between(Event Player, Global.TenacityPos) <= 1;
- }
- actions
- {
- Event Player.Money -= 7500;
- Event Player.Tenacity = True;
- Small Message(Event Player, Custom String("Tenacity Bought"));
- }
- }
- rule("Contract")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.ContractPosition) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Number Of Players(All Teams) >= 3);
- Play Effect(Event Player, Debuff Impact Sound, Color(White), Event Player, 200);
- Event Player.ContractKill = Random Value In Array(Remove From Array(All Players(All Teams), Event Player));
- Event Player.OnContract = True;
- Event Player.ContractXP = Random Real(70, 120);
- Event Player.ContractCoins = Random Integer(400, 700);
- Event Player.ContractText = Custom String("Kill {0} ({1} coins, {2} xp)", Event Player.ContractKill, Event Player.ContractCoins,
- Event Player.ContractXP);
- Small Message(Event Player, Custom String("Contract Started"));
- Wait(7, Ignore Condition);
- Else;
- Small Message(Event Player, Custom String("Must have at least 3 players to start a contract."));
- }
- }
- rule("Bank Deposit All")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.BankDepositPos) <= 1;
- Is Button Held(Event Player, Button(Reload)) == True;
- }
- actions
- {
- Event Player.Bank += Event Player.Money;
- Event Player.Money = 0;
- }
- }
- rule("Bank Withdraw All")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.BankWithdrawPos) <= 1;
- Is Button Held(Event Player, Button(Reload)) == True;
- }
- actions
- {
- If(Is Button Held(Event Player, Button(Reload)));
- Event Player.Money += Event Player.Bank;
- Event Player.Bank = 0;
- }
- }
- rule("Reset")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Position Of(Event Player), Global.ResetPos) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Event Player.Level >= Global.ResetLevel);
- Big Message(All Players(All Teams), Custom String("{0} has reset!", Event Player));
- Small Message(Event Player, Custom String("+{0} Dark Points", Global.ResetPoints));
- Set Player Score(Event Player, 0);
- Event Player.Level = 0;
- Event Player.XP = 0;
- Event Player.LevelUpPoints = 50;
- Event Player.Health = 100;
- Event Player.Speed = 100;
- Event Player.DamageTaken = 100;
- Event Player.Damage = 100;
- Event Player.Money = Global.StartingMoney;
- Event Player.Scale = 1;
- Event Player.Bank = 0;
- Event Player.FlameBullets = 0;
- Event Player.Tenacity = 0;
- Event Player.Regen = 0;
- Event Player.AutoLifesteal = 0;
- Event Player.Stun = 0;
- Event Player.Interest = 0;
- Event Player.DarkPoints += Global.ResetPoints;
- Play Effect(Event Player, Ring Explosion Sound, Color(White), Event Player, 200);
- Else;
- Small Message(Event Player, Custom String("You must be at least level {0} to reset.", Global.ResetLevel));
- }
- }
- rule("Wheel Of Chance")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Position Of(Event Player), Global.ChanceWheelPos) <= 2;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Event Player.WheelCooldown < 1);
- If(Event Player.Money >= 500);
- If(Event Player.Level >= 15);
- Event Player.Money -= 500;
- Event Player.WheelOfChance = Random Integer(1, 12);
- Call Subroutine(WheelOfChance);
- Event Player.WheelCooldown = 20;
- Else;
- Small Message(Event Player, Custom String("You must be at least level 15 to use this."));
- End;
- Else;
- Small Message(Event Player, Custom String("Not enough money."));
- End;
- Else;
- Small Message(Event Player, Custom String("Wait {0} seconds before trying again.", Event Player.WheelCooldown));
- }
- }
- rule("Wheel Of Chance Subroutine")
- {
- event
- {
- Subroutine;
- WheelOfChance;
- }
- actions
- {
- Small Message(Event Player, Custom String("Spinning..."));
- Wait(4, Ignore Condition);
- If(Event Player.WheelOfChance == 1);
- Event Player.WheelMoneyReward = Random Integer(4000, 6000);
- Event Player.Money += Event Player.WheelMoneyReward;
- Small Message(Event Player, Custom String("+{0} coins", Event Player.WheelMoneyReward));
- Else If(Event Player.WheelOfChance == 2);
- All Players(All Teams).Money += Round To Integer(3000 / Number Of Players(All Teams), Up);
- Small Message(Event Player, Custom String("Gave everyone {0} coins (including you)", Round To Integer(3000 / Number Of Players(
- All Teams), Up)));
- Small Message(Remove From Array(All Players(All Teams), Event Player), Custom String("{0} gave you {1} coins", Event Player,
- Round To Integer(3000 / Number Of Players(All Teams), Up)));
- Else If(Event Player.WheelOfChance == 3);
- Small Message(Event Player, Custom String("Lose half of your held coins!"));
- Event Player.Money /= 2;
- Else If(Event Player.WheelOfChance == 4);
- Event Player.WheelLevelReward = Random Integer(-3, -1);
- Small Message(Event Player, Custom String("{0} Levels", Event Player.WheelLevelReward));
- Event Player.XP = 0;
- Event Player.Level += Event Player.WheelLevelReward;
- Else If(Event Player.WheelOfChance == 5);
- Event Player.WheelXPReward = Random Integer(250, 400);
- Event Player.XP += Event Player.WheelXPReward;
- Small Message(Event Player, Custom String("+{0} xp", Event Player.WheelXPReward));
- Else If(Event Player.WheelOfChance == 6);
- Set Player Health(Event Player, 1);
- Set Status(Event Player, Null, Hacked, 15);
- Set Status(Event Player, Null, Frozen, 5);
- Small Message(Event Player, Custom String("Something bad happened..."));
- Else If(Event Player.WheelOfChance == 7);
- Small Message(Event Player, Custom String("Nothing happened."));
- Else If(Event Player.WheelOfChance == 8);
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("You died?"));
- Else If(Event Player.WheelOfChance == 9);
- Event Player.DarkPoints += 100;
- Small Message(Event Player, Custom String("+100 dark points"));
- Else If(Event Player.WheelOfChance == 10);
- Event Player.ReturnToSpawnReward = True;
- Small Message(Event Player, Custom String("Return to spawn for a reward! "));
- Else If(Event Player.WheelOfChance == 11);
- Small Message(Event Player, Custom String("Lose 25% of your banked coins!"));
- Event Player.Bank *= 0.750;
- Else If(Event Player.WheelOfChance == 12);
- Event Player.WheelMoneyReward = Random Integer(1000, 2000);
- Event Player.Money += Event Player.WheelMoneyReward;
- Small Message(Event Player, Custom String("+{0} coins", Event Player.WheelMoneyReward));
- }
- }
- rule("Wheel Cooldown Counting")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.WheelCooldown > 0;
- }
- actions
- {
- Event Player.WheelCooldown -= 1;
- Wait(1, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("Return to spawn")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.ReturnToSpawnReward == True;
- Distance Between(Position Of(Event Player), Global.GlobalSpawn) <= 26;
- }
- actions
- {
- Event Player.Money += 3000;
- Event Player.XP += 300;
- Small Message(Event Player, Custom String("+300 xp, +3000 coins"));
- Event Player.ReturnToSpawnReward = False;
- }
- }
- rule("Heal Bubble")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Position Of(Event Player), Global.HealBubblePos) <= 2;
- Has Spawned(Event Player) == True;
- }
- actions
- {
- If(Health(Event Player) != Max Health(Event Player));
- Wait(1.500, Abort When False);
- Small Message(Event Player, Custom String("Healed {0} ", Max Health(Event Player) * 0.200));
- Heal(Event Player, Null, Max Health(Event Player) * 0.200);
- Loop If Condition Is True;
- Else;
- Wait(1.500, Abort When False);
- Small Message(Event Player, Custom String("Healed 0 (already max health)"));
- Loop If Condition Is True;
- }
- }
- rule("Contract Finish")
- {
- event
- {
- Player Dealt Final Blow;
- All;
- All;
- }
- conditions
- {
- Event Player.OnContract == True;
- Victim == Event Player.ContractKill;
- }
- actions
- {
- Play Effect(Event Player, Buff Explosion Sound, Color(White), Event Player, 200);
- Event Player.Money += Event Player.ContractCoins;
- Event Player.XP += Event Player.ContractXP;
- Event Player.ContractText = Custom String("None");
- Event Player.OnContract = False;
- Event Player.ContractKill = Null;
- Small Message(Event Player, Custom String("Contract complete!"));
- }
- }
- rule("Money to Dark")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.MoneyToDarkPos) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.Money >= 100000;
- }
- actions
- {
- Event Player.Money -= 100000;
- Event Player.DarkPoints += 20;
- Play Effect(Event Player, Ring Explosion, Color(White), Event Player, 15);
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.030, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("Strength Training")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Position Of(Event Player), Global.StrengthTrainingPos) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Event Player.Level >= 5);
- If(Event Player.StrengthTrainingCooldown >= 1);
- Small Message(Event Player, Custom String("You must wait {0} seconds before trying again.",
- Event Player.StrengthTrainingCooldown));
- Else;
- Small Message(Event Player, Custom String("Strength training starting in 5 seconds"));
- Event Player.StrengthTraining = True;
- Set Status(Event Player, Null, Rooted, 9999);
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Press space as many times as you can!"));
- Wait(3.500, Ignore Condition);
- Small Message(Event Player, Custom String("5"));
- Wait(1, Ignore Condition);
- Small Message(Event Player, Custom String("4"));
- Wait(1, Ignore Condition);
- Small Message(Event Player, Custom String("3"));
- Wait(1, Ignore Condition);
- Small Message(Event Player, Custom String("2"));
- Wait(1, Ignore Condition);
- Small Message(Event Player, Custom String("1"));
- Wait(1, Ignore Condition);
- Event Player.StrengthTraining = False;
- Event Player.Money += Event Player.StrengthTrainingScore * 6;
- Event Player.XP += Event Player.StrengthTrainingScore * 3 * Event Player.XPMultiplier;
- Small Message(Event Player, Custom String("Training ended. {0} presses, +{1} xp, +{2} coins", Event Player.StrengthTrainingScore,
- Event Player.StrengthTrainingScore * 3 * Event Player.XPMultiplier, Event Player.StrengthTrainingScore * 6));
- Event Player.StrengthTrainingCooldown = 120;
- Clear Status(Event Player, Rooted);
- Wait(0.016, Ignore Condition);
- Event Player.StrengthTrainingScore = 0;
- End;
- Else;
- Small Message(Event Player, Custom String("You must be at least level 5 to use this."));
- }
- }
- rule("Strength Training Scoring")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.StrengthTraining == True;
- Is Button Held(Event Player, Button(Jump)) == True;
- }
- actions
- {
- Event Player.StrengthTrainingScore += 1;
- }
- }
- rule("Strength Training Cooldown")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.StrengthTrainingCooldown > 0;
- }
- actions
- {
- Event Player.StrengthTrainingCooldown -= 1;
- Wait(1, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("One Shot Death")
- {
- event
- {
- Player Took Damage;
- All;
- All;
- }
- conditions
- {
- Event Player.OneShot == True;
- Attacker != Null;
- }
- actions
- {
- Kill(Event Player, Attacker);
- }
- }
- rule("One Shot Kill")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Event Player.OneShot == True;
- Is Alive(Event Player) == True;
- }
- actions
- {
- Kill(Victim, Event Player);
- Kill(Event Player, Victim);
- }
- }
- rule("Unlock Dark Classes")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.DarkClasses == False;
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.DarkClassesPos) <= 1;
- }
- actions
- {
- If(Event Player.DarkPoints >= 1500);
- Small Message(Event Player, Custom String("Bought"));
- Play Effect(All Players(All Teams), Ring Explosion Sound, Color(White), Event Player, 1);
- Play Effect(All Players(All Teams), Ring Explosion, Color(Aqua), Event Player, 5);
- Event Player.DarkPoints -= 1500;
- Event Player.DarkClasses = True;
- Else;
- Small Message(Event Player, Custom String("You do not have 1500 dark points"));
- }
- }
- rule("Troll Effects")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Event Player.Troll == True;
- }
- actions
- {
- If(Event Player.TrollMode == 1);
- Apply Impulse(Victim, Facing Direction Of(Event Player), 25, To World, Cancel Contrary Motion);
- Apply Impulse(Victim, Vector(0, 10000, 0), 3, To World, Cancel Contrary Motion);
- Set Environment Credit Player(Victim, Event Player);
- Else If(Event Player.TrollMode == 2);
- Apply Impulse(Victim, Facing Direction Of(Event Player) - Facing Direction Of(Event Player) * 1000, 25, To World,
- Cancel Contrary Motion);
- Apply Impulse(Victim, Vector(0, 10000, 0), 3, To World, Cancel Contrary Motion);
- Set Environment Credit Player(Victim, Event Player);
- Else If(Event Player.TrollMode == 3);
- Set Facing(Victim, Vector(Random Real(-1000, 1000), Random Real(-100, 250), Random Real(-1000, 1000)), To World);
- Else If(Event Player.TrollMode == 4);
- Set Status(Victim, Event Player, Frozen, 2);
- Set Status(Victim, Event Player, Hacked, 4);
- }
- }
- rule("Troll Change")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Troll == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Is Button Held(Event Player, Button(Reload)) == True;
- }
- actions
- {
- If(Event Player.TrollMode == 0);
- Event Player.TrollMode = 1;
- Small Message(Event Player, Custom String("Knockback Mode"));
- Else If(Event Player.TrollMode == 1);
- Event Player.TrollMode = 2;
- Small Message(Event Player, Custom String("Pull Mode"));
- Else If(Event Player.TrollMode == 2);
- Event Player.TrollMode = 3;
- Small Message(Event Player, Custom String("Annoying Mode"));
- Else If(Event Player.TrollMode == 3);
- Event Player.TrollMode = 4;
- Small Message(Event Player, Custom String("Freeze Mode"));
- Else If(Event Player.TrollMode == 4);
- Event Player.TrollMode = 1;
- Small Message(Event Player, Custom String("Knockback Mode"));
- }
- }
- rule("Billionaire Damage")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Event Player.Billionaire == True;
- }
- actions
- {
- Event Player.Money += Event Damage;
- }
- }
- rule("Angel Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Angel == False;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.DarkPoints >= 300;
- Distance Between(Event Player, Global.AngelPos) <= 1;
- }
- actions
- {
- Event Player.DarkPoints -= 300;
- Event Player.Angel = True;
- Small Message(Event Player, Custom String("Angel Bought. Hold space to fly."));
- If(Event Player.Pacifist == True);
- Event Player.ClassName = Custom String("Angel");
- Else;
- Log To Inspector(Custom String("This is a filler."));
- }
- }
- rule("Angel Fly")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Angel == True;
- Event Player.Pacifist == True;
- Is Button Held(Event Player, Button(Jump)) == True;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Rooted) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Stunned) == False;
- }
- actions
- {
- Apply Impulse(Event Player, Vector(0, 10000, 0), 5, To World, Cancel Contrary Motion);
- Wait(0.020, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("Dark XP Boost Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.XPMultiplier < 5;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.DarkPoints >= 25;
- Distance Between(Position Of(Event Player), Global.DarkXPBoostPos) <= 1;
- }
- actions
- {
- If(Event Player.XPMultiplier < 5);
- Play Effect(Event Player, Ring Explosion, Color(White), Position Of(Event Player), 15);
- Event Player.DarkPoints -= 25;
- Event Player.XPMultiplier += 0.010;
- If(Is Crouching(Event Player));
- Wait(0.016, Ignore Condition);
- Loop If Condition Is True;
- End;
- Else;
- Small Message(Event Player, Custom String("Max boost!"));
- }
- }
- rule("Reward Orb")
- {
- event
- {
- Subroutine;
- RewardOrb;
- }
- actions
- {
- Global.OrbPositionType = Random Integer(1, 10);
- If(Global.OrbPositionType == 1);
- Global.OrbPosition = Vector(-226.320, -0.500, -34.620);
- Else If(Global.OrbPositionType == 2);
- Global.OrbPosition = Vector(-221, 0.500, -29);
- Else If(Global.OrbPositionType == 3);
- Global.OrbPosition = Vector(-196, 1.500, -3.920);
- Else If(Global.OrbPositionType == 4);
- Global.OrbPosition = Vector(-208.340, -3, -16.720);
- Else If(Global.OrbPositionType == 5);
- Global.OrbPosition = Vector(-165.420, -4.500, -65.250);
- Else If(Global.OrbPositionType == 6);
- Global.OrbPosition = Vector(-138.100, -0.910, -75.860);
- Else If(Global.OrbPositionType == 7);
- Global.OrbPosition = Vector(-181.770, -0.470, -91.920);
- Else If(Global.OrbPositionType == 8);
- Global.OrbPosition = Vector(-259.730, -4.500, 1.890);
- Else If(Global.OrbPositionType == 9);
- Global.OrbPosition = Vector(-237.200, 5.030, 6);
- Else If(Global.OrbPositionType == 10);
- Global.OrbPosition = Vector(-244, -0.500, 1);
- End;
- Create Effect(All Players(All Teams), Orb, Color(Yellow), Global.OrbPosition, 1.500, Visible To Position and Radius);
- Global.OrbID = Last Created Entity;
- Create In-World Text(All Players(All Teams), Custom String("{0} Reward Orb (Spawning: {1}s)", Icon String(Exclamation Mark),
- Global.OrbTimer), Vector(X Component Of(Global.OrbPosition), Y Component Of(Global.OrbPosition) + 1, Z Component Of(
- Global.OrbPosition)), 1, Do Not Clip, Visible To Position and String, Color(Yellow), Default Visibility);
- Global.OrbTextID = Last Text ID;
- Global.OrbTimer = 35;
- }
- }
- rule("Orb Timer")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.OrbTimer > 0;
- }
- actions
- {
- Global.OrbTimer -= 1;
- Wait(1, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("Orb Grab")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.OrbPosition) <= 1.500;
- Global.OrbTimer < 1;
- Global.EventType == 7;
- Global.OrbPositionType != 0;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- Destroy Effect(Global.OrbID);
- Destroy In-World Text(Global.OrbTextID);
- Global.OrbPosition = 0;
- Small Message(Event Player, Custom String("+500 xp, +2000 coins"));
- Big Message(All Players(All Teams), Custom String("Orb collected by {0}", Event Player));
- Event Player.XP += 500;
- Event Player.Money += 2000;
- Global.EventType = 0;
- Global.OrbPositionType = 0;
- }
- }
- rule("Reaching Reset Level")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Level == Global.ResetLevel;
- }
- actions
- {
- Big Message(Event Player, Custom String("You have enough levels to reset!"));
- }
- }
- rule("Helper")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Event Player.Helper == True;
- Attacker != Victim;
- }
- actions
- {
- Victim.XP += Min(10, Event Damage * 2);
- Victim.Money += Random Integer(12, 15);
- Heal(Victim, Null, Event Damage * 10);
- }
- }
- rule("Lifesteal Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.DarkPoints >= 50;
- Event Player.LevelUpPoints >= 10;
- Distance Between(Position Of(Event Player), Global.LifestealPos) <= 1;
- Event Player.Lifesteal < 15;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- Event Player.Lifesteal += 0.100;
- Event Player.LevelUpPoints -= 10;
- Event Player.DarkPoints -= 50;
- If(Is Crouching(Event Player));
- Wait(0.020, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("Lifesteal")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Event Player.Lifesteal >= 0;
- Attacker != Victim;
- }
- actions
- {
- Heal(Event Player, Null, Event Damage * Event Player.Lifesteal * 0.010);
- }
- }
- rule("Third Person")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.ThirdPersonPos) <= 1;
- }
- actions
- {
- If(Event Player.ThirdPerson != True);
- Event Player.ThirdPerson = True;
- "eventPlayer.startCamera(raycast(eventPlayer, eventPlayer + worldVector(vect(-0.3 * eventPlayer.Scale, 0, 0.3 * eventPlayer.Scale), eventPlayer, Transform.ROTATION) + Vector.UP * eventPlayer.Scale * 1.5 + eventPlayer.getFacingDirection() * eventPlayer.Scale"
- Start Camera(Event Player, Ray Cast Hit Position(Event Player, Event Player + World Vector Of(Vector(-0.300 * Event Player.Scale,
- Event Player.Scale * 0.100, 0.300 * Event Player.Scale), Event Player, Rotation)
- + Up * Event Player.Scale * 1.500 + Facing Direction Of(Event Player) * Event Player.Scale * -2.250, Null, Event Player,
- False), Event Player + Facing Direction Of(Event Player) * 1000, 40);
- Else;
- Event Player.ThirdPerson = False;
- Stop Camera(Event Player);
- }
- }
- rule("start stop spectating")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.SpectatePos) <= 1;
- Event Player.Spectating != True;
- }
- actions
- {
- Event Player.Spectating = True;
- Event Player.SpectatorPlayer = Random Value In Array(Remove From Array(All Living Players(All Teams), Event Player));
- Teleport(Event Player, Vector(-277.370, -2.820, 45.420));
- Start Camera(Event Player, Ray Cast Hit Position(Event Player.SpectatorPlayer, Event Player.SpectatorPlayer + World Vector Of(
- Vector(-0.300 * Event Player.SpectatorPlayer.Scale, 0, 0.300 * Event Player.SpectatorPlayer.Scale),
- Event Player.SpectatorPlayer, Rotation) + Up * Event Player.SpectatorPlayer.Scale * 1.500 + Facing Direction Of(
- Event Player.SpectatorPlayer) * Event Player.SpectatorPlayer.Scale * -2.250, Null, Event Player.SpectatorPlayer, False),
- Event Player + Facing Direction Of(Event Player.SpectatorPlayer) * 1000 * Event Player.SpectatorPlayer.Scale, 40);
- Small Message(Event Player, Custom String("Crouch to stop spectating; reload to switch player"));
- Big Message(Event Player, Custom String("Crouch to stop spectating; reload to switch player"));
- disabled Small Message(Event Player.SpectatorPlayer, Custom String("{0} is spectating you", Event Player));
- Small Message(Event Player, Custom String("Spectating {0}", Event Player.SpectatorPlayer));
- Set Status(Event Player, Null, Rooted, 9999);
- Wait Until(Is Button Held(Event Player, Button(Crouch)), 99999);
- Stop Camera(Event Player);
- Event Player.ThirdPerson = False;
- Event Player.Spectating = False;
- Clear Status(Event Player, Rooted);
- }
- }
- rule("Switch player spectating")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Reload)) == True;
- Event Player.Spectating == True;
- }
- actions
- {
- Event Player.SpectatorPlayer = Random Value In Array(Filtered Array(All Living Players(All Teams),
- Current Array Element != Event Player && Current Array Element != Event Player.SpectatorPlayer));
- "eventPlayer.startCamera(raycast(eventPlayer.SpectatorPlayer, eventPlayer.SpectatorPlayer + worldVector(vect(-0.3, 0, 0.3), eventPlayer.SpectatorPlayer, Transform.ROTATION) + Vector.UP * 1.5 + eventPlayer.SpectatorPlayer.getFacingDirection() * -2.25, null,"
- Start Camera(Event Player, Ray Cast Hit Position(Event Player.SpectatorPlayer, Event Player.SpectatorPlayer + World Vector Of(
- Vector(-0.300 * Event Player.SpectatorPlayer.Scale, 0, 0.300 * Event Player.SpectatorPlayer.Scale),
- Event Player.SpectatorPlayer, Rotation) + Up * Event Player.SpectatorPlayer.Scale * 1.500 + Facing Direction Of(
- Event Player.SpectatorPlayer) * Event Player.SpectatorPlayer.Scale * -2.250, Null, Event Player.SpectatorPlayer, False),
- Event Player + Facing Direction Of(Event Player.SpectatorPlayer) * 1000 * Event Player.SpectatorPlayer.Scale, 40);
- Small Message(Event Player, Custom String("Spectating {0}", Event Player.SpectatorPlayer));
- disabled Small Message(Event Player.SpectatorPlayer, Custom String("{0} is spectating you", Event Player));
- }
- }
- rule("LevelUpPoints To Coins")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.XPToGoldPos) <= 3;
- Is Button Held(Event Player, Button(Reload)) == True;
- Event Player.LevelUpPoints >= 1;
- }
- actions
- {
- Event Player.Money += 15 * Event Player.LevelUpPoints;
- Event Player.LevelUpPoints = 0;
- }
- }
- rule("Force kill")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Reload)) == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- Wait(10, Abort When False);
- Small Message(Event Player, Custom String("Force Kill in 5 seconds (holding interact + reload)"));
- Wait(5, Abort When False);
- }
- }
- rule("MinigameSubroutine")
- {
- event
- {
- Subroutine;
- MinigameEvents;
- }
- actions
- {
- Global.EventBubbleLocation = Vector(-208, 0, -16);
- Create Effect(All Players(All Teams), Sphere, Color(Green), Global.EventBubbleLocation, 24, Visible To Position and Radius);
- Global.EventBubbleID = Last Created Entity;
- Global.AllParticipants = Filtered Array(All Players(All Teams), Current Array Element.EventParticipation == True);
- Big Message(All Players(All Teams), Custom String("Minigame event starting..."));
- Wait(3, Ignore Condition);
- Clear Status(All Players(All Teams), Invincible);
- Global.MinigameEvent = Random Integer(1, 2);
- Global.MinigameEventOn = True;
- Heal(All Players(All Teams), Null, 99999);
- If(Global.MinigameEvent == 1);
- Create HUD Text(All Players(All Teams), Custom String(" {0} Event: High Stakes", Icon String(Flag)), Custom String(
- "All kills grant all bank and held money of victim, and steals 3 levels."), Custom String(
- "Only receive rewards in the green bubble in the middle."), Top, 1000, Color(Yellow), Color(Green), Color(White),
- Visible To and String, Default Visibility);
- Global.EventText1 = Last Text ID;
- Create HUD Text(All Players(All Teams), Null, Null, Custom String("Time: {0}", Global.MinigameTime), Top, 1000, Null, Null, Color(
- Orange), Visible To and String, Default Visibility);
- Global.EventText2 = Last Text ID;
- Global.MinigameTime = 50;
- Teleport(All Players(All Teams), Global.GlobalSpawn);
- Wait Until(Global.MinigameTime <= 0, 55);
- Destroy HUD Text(Global.EventText1);
- Destroy HUD Text(Global.EventText2);
- Global.MinigameEventOn = False;
- Global.MinigameEvent = 0;
- Else If(Global.MinigameEvent == 2);
- Disable Built-In Game Mode Respawning(All Players(All Teams));
- Teleport(All Players(All Teams), Vector(-218.950, 0, -27));
- Create HUD Text(All Players(All Teams), Custom String(" {0} Event: Battle Royale", Icon String(Flag)), Custom String(
- "You cannot respawn. Everyone alive at the end of the event earns 10 levels."), Custom String("No advice."), Top, 1000, Color(
- Yellow), Color(Green), Color(White), Visible To and String, Default Visibility);
- Global.EventText1 = Last Text ID;
- Create HUD Text(All Players(All Teams), Null, Null, Custom String("Time: {0}", Global.MinigameTime), Top, 1000, Null, Null, Color(
- Orange), Visible To and String, Default Visibility);
- Global.EventText2 = Last Text ID;
- Global.MinigameTime = 50;
- Wait Until(Global.MinigameTime <= 0, 55);
- Destroy HUD Text(Global.EventText1);
- Destroy HUD Text(Global.EventText2);
- Global.MinigameEventOn = False;
- Global.MinigameEvent = 0;
- Enable Built-In Game Mode Respawning(All Players(All Teams));
- All Living Players(All Teams).XP += 1000;
- End;
- Destroy Effect(Global.EventBubbleID);
- }
- }
- rule("Minigame Ticking")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.MinigameTime > 0;
- }
- actions
- {
- Global.MinigameTime -= 1;
- Wait(1, Abort When False);
- Loop If Condition Is True;
- }
- }
- rule("High Stakes Rewards")
- {
- event
- {
- Player Dealt Final Blow;
- All;
- All;
- }
- conditions
- {
- Global.MinigameEvent == 1;
- Distance Between(Position Of(Event Player), Global.EventBubbleLocation) <= 24;
- Distance Between(Position Of(Victim), Global.EventBubbleLocation) <= 24;
- }
- actions
- {
- Event Player.Money += Victim.Bank + Victim.Money;
- Victim.Money = 0;
- Victim.Bank = 0;
- Event Player.XP += 300;
- Victim.Level -= 3;
- Small Message(Event Player, Custom String("Rewards received."));
- Small Message(Victim, Custom String("you tried?"));
- }
- }
- rule("Cannot leave bubble during event")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Global.MinigameEvent == 2;
- Distance Between(Position Of(Event Player), Global.EventBubbleLocation) > 24;
- }
- actions
- {
- Wait(0.500, Abort When False);
- Damage(Event Player, Null, Max Health(Event Player) * 0.050);
- Set Status(Event Player, Null, Burning, 0.600);
- Loop If Condition Is True;
- }
- }
- rule("Teleport in market")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Event Player, Global.MarketPos) <= 3;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- Small Message(Event Player, Custom String("Hold for 1 second to enter"));
- Wait(1, Abort When False);
- Teleport(Event Player, Vector(-143.830, -4.460, -99.350));
- Set Status(Event Player, Null, Invincible, 9999);
- Set Status(Event Player, Null, Hacked, 9999);
- }
- }
- rule("Teleport out market")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Position Of(Event Player), Global.MarketTeleportOutPos) < 1.500;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- Teleport(Event Player, Vector(-148.440, -3.410, -92.550));
- Wait(0.250, Ignore Condition);
- Clear Status(Event Player, Invincible);
- Clear Status(Event Player, Hacked);
- }
- }
- rule("XP Pump Upgrade Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Game In Progress == True;
- Distance Between(Event Player, Global.XPPumpUpgradePos) <= 1;
- Event Player.LevelUpPoints >= 400;
- Event Player.Money >= 320000;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Global.XPPumpPerSecond < 40);
- Small Message(Event Player, Custom String("Hold for 2 seconds to buy"));
- Wait(2, Abort When False);
- Global.XPPumpPerSecond += 1;
- Event Player.LevelUpPoints -= 400;
- Event Player.Money -= 320000;
- Small Message(All Players(All Teams), Custom String("{0} has upgraded the xp pump", Event Player));
- Else;
- Small Message(Event Player, Custom String("Max xp!"));
- }
- }
- rule("Mine Progress Reset")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.MineProgress >= 100;
- }
- actions
- {
- Event Player.MinedType = Random Integer(1, 5);
- If(Event Player.MinedType == 1);
- Small Message(Event Player, Custom String("+1 Coin Doubler"));
- Event Player.CoinDoubler += 1;
- Else If(Event Player.MinedType == 2);
- Small Message(Event Player, Custom String("+1 Ruby"));
- Event Player.Rubies += 1;
- Else If(Event Player.MinedType == 3);
- Small Message(Event Player, Custom String("+1 XP Gem"));
- Event Player.XPGems += 1;
- Else If(Event Player.MinedType == 4);
- Small Message(Event Player, Custom String("+2 Stat Boosts"));
- Event Player.StatBoost += 2;
- Else If(Event Player.MinedType == 5);
- Small Message(Event Player, Custom String("+4 Diamonds"));
- Event Player.Diamonds += 4;
- Else;
- Event Player.RandomMined2 = Random Integer(1, 2);
- If(Event Player.RandomMined2 == 1);
- Small Message(Event Player, Custom String("You found no gems, \r\n you did find 40 xp"));
- Event Player.XP += 40;
- Else If(Event Player.RandomMined2 == 2);
- Small Message(Event Player, Custom String("You found no gems, \r\n you did find 1000 coins"));
- Event Player.Money += 1000;
- End;
- End;
- Event Player.MineProgress = 0;
- }
- }
- rule("On Mine")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Position Of(Event Player), Global.MinePos) < 4;
- Has Spawned(Event Player) == True;
- }
- actions
- {
- Small Message(Event Player, Custom String("Spam interact to mine"));
- }
- }
- rule("Mine Creation")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Create Beam Effect(Distance Between(Global.MinePos, Position Of(Event Player)) < 4 && Has Spawned(Event Player)
- == True ? All Players(All Teams) : Null, Grapple Beam, Vector(X Component Of(Global.MinePos), Y Component Of(Global.MinePos)
- + 3, Z Component Of(Global.MinePos)), Event Player, Color(Blue), Visible To Position and Radius);
- }
- }
- rule("Mining")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Position Of(Event Player), Global.MinePos) < 4;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Event Player.Miner != True);
- Event Player.MineProgress += 0.200 * Event Player.miningspeed;
- Else;
- Event Player.MineProgress += 0.500 * Event Player.miningspeed;
- End;
- If(Global.MineEvent == True);
- Event Player.MineProgress += 1.500 * Event Player.miningspeed;
- End;
- Play Effect(All Players(All Teams), Ring Explosion, Color(White), Event Player, 5);
- Play Effect(Event Player, Ring Explosion Sound, Color(White), Event Player, 200);
- }
- }
- rule("Market Prices")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Call Subroutine(MarketPrices);
- Wait(120, Ignore Condition);
- Loop;
- }
- }
- rule("Market Prices Subroutine")
- {
- event
- {
- Subroutine;
- MarketPrices;
- }
- actions
- {
- Global.RubyPrice = Random Integer(1300, 5200);
- Global.XPGemPrice = Random Integer(4000, 5500);
- Global.CoinDoublerPrice = Random Integer(7500, 9000);
- Global.StatBoostPrice = Random Integer(5000, 6500);
- Global.DiamondPrice = Random Integer(800, 2500);
- }
- }
- rule("Sell Rubies")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.RubySellPos) <= 1;
- Event Player.Rubies >= 1;
- }
- actions
- {
- Event Player.Money += Global.RubyPrice;
- Event Player.Rubies -= 1;
- Small Message(Event Player, Custom String("+{0} coins", Global.RubyPrice));
- }
- }
- rule("Sell XP Gems")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.XPGemSellPos) <= 1;
- Event Player.XPGems >= 1;
- }
- actions
- {
- Event Player.Money += Global.XPGemPrice;
- Event Player.XPGems -= 1;
- Small Message(Event Player, Custom String("+{0} coins", Global.XPGemPrice));
- }
- }
- rule("Sell Coin Doubler")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.CoinDoublerSellPos) <= 1;
- Event Player.CoinDoubler >= 1;
- }
- actions
- {
- Event Player.Money += Global.CoinDoublerPrice;
- Event Player.CoinDoubler -= 1;
- Small Message(Event Player, Custom String("+{0} coins", Global.CoinDoublerPrice));
- }
- }
- rule("Sell Stat Boost")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.StatBoostSellPos) <= 1;
- Event Player.StatBoost >= 1;
- }
- actions
- {
- Event Player.Money += Global.StatBoostPrice;
- Event Player.StatBoost -= 1;
- Small Message(Event Player, Custom String("+{0} coins", Global.StatBoostPrice));
- }
- }
- rule("Sell Diamonds")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.DiamondSellPos) <= 1;
- Event Player.Diamonds >= 1;
- }
- actions
- {
- Event Player.Money += Global.DiamondPrice;
- Event Player.Diamonds -= 1;
- Small Message(Event Player, Custom String("+{0} coins", Global.DiamondPrice));
- }
- }
- rule("Use XP Gems")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.UseXPGemPos) <= 1;
- Event Player.XPGems >= 1;
- }
- actions
- {
- Event Player.XP += 150 * Event Player.XPMultiplier;
- Event Player.XPMultiplier += 0.010;
- Event Player.XPGems -= 1;
- Small Message(Event Player, Custom String("+{0} xp, 1% xp multiplier", 150 * Event Player.XPMultiplier));
- }
- }
- rule("Use Coin Doubler")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.UseCoinDoublerPos) <= 1;
- Event Player.CoinDoubler >= 1;
- }
- actions
- {
- Event Player.Money *= 2;
- Event Player.CoinDoubler -= 1;
- Small Message(Event Player, Custom String("Held coins multiplied"));
- }
- }
- rule("Use Stat Boost")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Position Of(Event Player), Global.UseStatBoostPos) <= 1;
- Event Player.StatBoost >= 1;
- }
- actions
- {
- Event Player.Damage += 15;
- Event Player.Speed += 15;
- Event Player.Health += 15;
- Event Player.StatBoost -= 1;
- Small Message(Event Player, Custom String("+15 to all stats (except for defence)"));
- Call Subroutine(Default);
- }
- }
- disabled rule("Anti Crash")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Server Load Average >= 240;
- }
- actions
- {
- Wait(3, Abort When False);
- Set Slow Motion(66);
- Small Message(All Players(All Teams), Custom String("Anti Crash Activated (high server load)"));
- Wait Until(Server Load Average <= 230, 99999);
- Wait(6, Ignore Condition);
- Set Slow Motion(100);
- Small Message(All Players(All Teams), Custom String("Anti Crash Disabled"));
- Loop If Condition Is True;
- }
- }
- rule("Ability 1 berserker")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Berserker == True;
- Is Using Ability 1(Event Player) == True;
- }
- actions
- {
- Wait Until(!Is Using Ability 1(Event Player), 99999);
- Set Ability Cooldown(Event Player, Button(Ability 1), Ability Cooldown(Event Player, Button(Ability 1)) * 0.500);
- }
- }
- rule("Abilty 2 berserker")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Berserker == True;
- Is Using Ability 2(Event Player) == True;
- }
- actions
- {
- Wait Until(!Is Using Ability 2(Event Player), 99999);
- Set Ability Cooldown(Event Player, Button(Ability 2), Ability Cooldown(Event Player, Button(Ability 2)) * 0.500);
- }
- }
- rule("Ultimate berserker")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Berserker == True;
- Is Using Ultimate(Event Player) == True;
- }
- actions
- {
- Wait Until(!Is Using Ultimate(Event Player), 99999);
- Set Ultimate Charge(Event Player, 50);
- }
- }
- disabled rule("Nano Boost")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Has Spawned(Event Player) == True;
- Distance Between(Position Of(Event Player), Global.ToggleNanoPos) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Event Player.NanoBoost != True);
- Create Effect(All Players(All Teams), Ana Nano Boosted Effect, Color(White), Event Player, 1, Visible To Position and Radius);
- Event Player.NanoBoostReference = Last Created Entity;
- Event Player.NanoBoost = True;
- Small Message(Event Player, Custom String("On"));
- Else;
- Event Player.NanoBoost = False;
- Destroy Effect(Event Player.NanoBoostReference);
- Small Message(Event Player, Custom String("Off"));
- }
- }
- disabled rule("Explosion")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Has Spawned(Event Player) == True;
- Distance Between(Position Of(Event Player), Global.ToggleExplosionPos) <= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- If(Event Player.Explosion != True);
- Event Player.Explosion = True;
- Small Message(Event Player, Custom String("On"));
- Else;
- Event Player.Explosion = False;
- Small Message(Event Player, Custom String("Off"));
- }
- }
- rule("mineprice")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Event Player, Button(Interact)) == True;
- Distance Between(Vector(-137.474, -2.858, -107.662), Event Player) <= 2;
- }
- actions
- {
- If(Event Player.Money / 1000000 >= Event Player.miningprice / 1000000);
- Event Player.miningspeed += 0.500;
- Event Player.Money -= Event Player.miningprice;
- Play Effect(Event Player, Buff Impact Sound, Color(White), Event Player, 100);
- Event Player.miningprice *= 2;
- Else;
- Small Message(Event Player, Custom String("Not enough money."));
- Wait(0.250, Ignore Condition);
- }
- }
- rule("init mining speed")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Event Player.miningspeed = 1;
- Event Player.miningprice = 100000;
- Event Player.LastTextDamage = Array(Color(White), Color(Yellow), Null, Null);
- }
- }
- rule("create global hud/effects")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Create Effect(All Players(All Teams), Sphere, Color(White), Vector(-138.434, -2.858, -107.818), 1, Visible To Position and Radius);
- Create Effect(All Players(All Teams), Sphere, Color(White), Vector(-138.434, -2.858, -107.818), 1, Visible To Position and Radius);
- Create In-World Text(All Players(All Teams), Custom String("Buy mining speed \r\n Cost: {0} coins\r\n Mining Speed: +50%",
- Local Player.miningprice), Vector(-138.434, -2.858, -107.818), 1, Clip Against Surfaces, Visible To Position and String, Color(
- White), Visible Always);
- Create In-World Text(Local Player, Round To Integer(Local Player.LastTextDamage[3], Up), Vector(X Component Of(Eye Position(
- Local Player.LastTextDamage[2])), Y Component Of(Eye Position(Local Player.LastTextDamage[2])) + 0.350, Z Component Of(
- Eye Position(Local Player.LastTextDamage[2]))), 1.500, Clip Against Surfaces, Visible To Position String and Color,
- Local Player.LastTextDamage[1], Default Visibility);
- Create Effect(Distance Between(Global.XPPumpPos, Local Player) < 5 ? Local Player : Null, Beacon Sound, Color(White), Local Player,
- 200, Visible To Position and Radius);
- }
- }
- rule("Class Select")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Distance Between(Position Of(Event Player), Vector(-280, -3.300, 40)) < 40;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.SwitchingClass != True;
- }
- actions
- {
- "Berserker Select"
- If(Distance Between(Position Of(Event Player), Global.BerserkerBuyPos) <= 1 && Event Player.Berserker != True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Berserker class selected."));
- Event Player.Berserker = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Berserker = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Berserker class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("Berserker");
- Else If(Distance Between(Position Of(Event Player), Global.PacifistBuyPos) <= 1 && Event Player.Pacifist != True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Pacifist class selected."));
- Event Player.Pacifist = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Pacifist = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Pacifist class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- If(Event Player.Angel == False);
- Event Player.ClassName = Custom String("Pacifist");
- Else;
- Event Player.ClassName = Custom String("Angel");
- End;
- Else If(Distance Between(Position Of(Event Player), Global.FarmerBuyPos) <= 1 && Event Player.Farmer != True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Farmer class selected."));
- Event Player.Farmer = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Farmer = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Farmer class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("Farmer");
- Event Player.XPMultiplier += 0.500;
- Else If(Distance Between(Position Of(Event Player), Global.GladiatorBuyPos) <= 1 && Event Player.Gladiator != True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Gladiator class selected."));
- Event Player.Gladiator = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Gladiator = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Gladiator class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("Gladiator");
- Else If(Distance Between(Position Of(Event Player), Global.LightBuyPos) <= 1 && Event Player.Lightweight != True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Lightweight class selected."));
- Event Player.Lightweight = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Lightweight = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Lightweight class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("Lightweight");
- Else If(Distance Between(Position Of(Event Player), Global.OneShotPos) <= 1 && Event Player.OneShot != True);
- If(Event Player.DarkClasses == True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("One Shot class selected."));
- Event Player.OneShot = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.OneShot = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("One Shot class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("One Shot");
- Else;
- Small Message(Event Player, Custom String("Unlock dark classes first."));
- End;
- Else If(Distance Between(Position Of(Event Player), Global.GhostPos) <= 1 && Event Player.Ghost != True);
- If(Event Player.DarkClasses == True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Ghost class selected."));
- Event Player.Ghost = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Ghost = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Ghost class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("Ghost");
- Destroy In-World Text(Event Player.ClassText);
- Set Invisible(Event Player, All);
- Else;
- Small Message(Event Player, Custom String("Unlock dark classes first."));
- End;
- Else If(Distance Between(Position Of(Event Player), Global.TrollPos) <= 1 && Event Player.Troll != True);
- If(Event Player.DarkClasses == True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Troll class selected."));
- Event Player.Troll = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Troll = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Troll class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("Troll ");
- Else;
- Small Message(Event Player, Custom String("Unlock dark classes first."));
- End;
- Else If(Distance Between(Position Of(Event Player), Global.BillionairePos) <= 1 && Event Player.Billionaire != True);
- If(Event Player.DarkClasses == True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Billionaire class selected."));
- Event Player.Billionaire = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Billionaire = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Billionaire class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("Billionaire");
- Else;
- Small Message(Event Player, Custom String("Unlock dark classes first."));
- End;
- Else If(Distance Between(Position Of(Event Player), Global.BerserkererPos) <= 1 && Event Player.Berserkerer != True);
- If(Event Player.DarkClasses == True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Berserkerer class selected."));
- Event Player.Berserkerer = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Berserkerer = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Berserkerer class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("Berserkerer [x2]");
- Else;
- Small Message(Event Player, Custom String("Unlock dark classes first."));
- End;
- Else If(Distance Between(Position Of(Event Player), Global.MinerPos) <= 1 && Event Player.Miner != True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Miner class selected."));
- Event Player.Miner = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Miner = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Miner class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("Miner");
- Else If(Distance Between(Position Of(Event Player), Global.HelperPos) <= 1 && Event Player.Helper != True);
- If(Event Player.DarkClasses == True);
- Call Subroutine(ClassPurge);
- If(Event Player.HasClass != True);
- Small Message(Event Player, Custom String("Helper class selected."));
- Event Player.Helper = True;
- Event Player.HasClass = True;
- Else;
- Small Message(Event Player, Custom String("Switching class in 15 seconds."));
- Event Player.SwitchingClass = True;
- Wait(5, Ignore Condition);
- Small Message(Event Player, Custom String("Respawning in 10 seconds"));
- Wait(10, Ignore Condition);
- Event Player.Helper = True;
- Event Player.HasClass = True;
- Event Player.SwitchingClass = False;
- Kill(Event Player, Null);
- Small Message(Event Player, Custom String("Helper class selected."));
- End;
- "async(Default, AsyncBehavior.RESTART)"
- Event Player.ClassName = Custom String("Helper");
- Else;
- Small Message(Event Player, Custom String("Unlock dark classes first."));
- End;
- Else If(Event Player.HasClass == True && Distance Between(Position Of(Event Player), Global.DarkShopPos) < 1);
- Teleport(Event Player, Vector(-290, -2, 50));
- Set Status(Event Player, Null, Invincible, 9999);
- Set Status(Event Player, Null, Hacked, 9999);
- Else If(Event Player.HasClass == False && Distance Between(Position Of(Event Player), Global.DarkShopPos) < 1);
- Small Message(Event Player, Custom String("Choose a class first!"));
- Else If(Distance Between(Position Of(Event Player), Global.DarkShopOutPos) < 1);
- Teleport(Event Player, Vector(-266.330, -5.090, 31.670));
- Clear Status(Event Player, Invincible);
- Clear Status(Event Player, Hacked);
- End;
- Call Subroutine(Default);
- }
- }
- rule("On Damage")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Victim != Attacker;
- }
- actions
- {
- Event Player.XP += Min(Random Real(Event Damage * 0.060, Event Damage * 0.100), 30) * Event Player.XPMultiplier;
- Attacker.LastTextDamage[2] = Victim;
- Attacker.LastTextDamage[3] = Event Damage;
- If(!Event Was Critical Hit);
- Attacker.LastTextDamage[1] = Color(White);
- Else If(Event Was Critical Hit);
- Attacker.LastTextDamage[1] = Color(Yellow);
- }
- }
- rule("On Damage 2")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Victim != Attacker;
- }
- actions
- {
- Wait(0.250, Restart When True);
- Event Player.LastTextDamage[2] = Null;
- }
- }
- rule("Lightweight double jump")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.DoubleJump2 == True;
- Event Player.Lightweight == True;
- Is Button Held(Event Player, Button(Jump)) == True;
- Hero Of(Event Player) != Hero(Genji);
- Event Player.DoubleJump == True;
- Has Status(Event Player, Knocked Down) == False;
- Has Status(Event Player, Rooted) == False;
- Has Status(Event Player, Frozen) == False;
- Has Status(Event Player, Asleep) == False;
- Has Status(Event Player, Stunned) == False;
- }
- actions
- {
- Event Player.DoubleJump2 = False;
- Event Player.DoubleJump = False;
- Apply Impulse(Event Player, Up, 12, To World, Cancel Contrary Motion);
- }
- }
- rule("Double jump recharge")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Lightweight == True;
- Is On Ground(Event Player) == True;
- }
- actions
- {
- Event Player.DoubleJump = True;
- Event Player.DoubleJump2 = False;
- }
- }
- rule("Double jump 2")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Lightweight == True;
- Is Button Held(Event Player, Button(Jump)) == False;
- Altitude Of(Event Player) > 0.800;
- }
- actions
- {
- Event Player.DoubleJump2 = True;
- }
- }
- rule("all stats Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.LevelUpPoints >= 1;
- Is Button Held(Event Player, Button(Interact)) == True;
- }
- actions
- {
- "health"
- If(Event Player.Health < 1000 && Distance Between(Event Player, Global.HealthBuyPos) <= 1);
- Event Player.LevelUpPoints -= 1;
- Event Player.Health += 1;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.016, Abort When False);
- Loop If Condition Is True;
- End;
- If(Event Player.LevelUpPoints >= 1000 - Event Player.Health && Is Button Held(Event Player, Button(Primary Fire)));
- Event Player.LevelUpPoints -= 1000 - Event Player.Health;
- Event Player.Health = 1000;
- End;
- Else If(Event Player.Health >= 1000 && Distance Between(Event Player, Global.HealthBuyPos) <= 1);
- Small Message(Event Player, Custom String("Max Health!"));
- End;
- "defense"
- If(Event Player.DamageTaken > 40 && Distance Between(Event Player, Global.DefenseBuyPos) <= 1);
- Event Player.LevelUpPoints -= 1;
- Event Player.DamageTaken -= 0.100;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.016, Abort When False);
- Loop If Condition Is True;
- End;
- Else If(Event Player.DamageTaken <= 40);
- Small Message(Event Player, Custom String("Max Defence!"));
- End;
- "damage"
- If(Event Player.Damage < 1000 && Distance Between(Event Player, Global.DamageBuyPos) <= 1.500);
- Event Player.LevelUpPoints -= 1;
- Event Player.Damage += 1;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.016, Abort When False);
- Loop If Condition Is True;
- End;
- If(Event Player.LevelUpPoints >= 1000 - Event Player.Damage && Is Button Held(Event Player, Button(Primary Fire)));
- Event Player.LevelUpPoints -= 1000 - Event Player.Damage;
- Event Player.Damage = 1000;
- End;
- Else If(Event Player.Damage >= 1000 && Distance Between(Event Player, Global.DamageBuyPos) <= 1.500);
- Small Message(Event Player, Custom String("Max Damage!"));
- End;
- "speed"
- If(Event Player.Speed < 700 && Distance Between(Event Player, Global.SpeedBuyPos) <= 1);
- Event Player.Speed += 1;
- Event Player.LevelUpPoints -= 1;
- If(Is Button Held(Event Player, Button(Crouch)));
- Wait(0.016, Abort When False);
- Loop If Condition Is True;
- End;
- Else If(Event Player.Speed >= 700 && Distance Between(Event Player, Global.SpeedBuyPos) <= 1);
- Small Message(Event Player, Custom String("Max Speed!"));
- End;
- Call Subroutine(Default);
- }
- }
- rule("XP Pump")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Create Beam Effect(Distance Between(Global.XPPumpPos, Position Of(Event Player)) < 5 && Has Spawned(Event Player)
- == True ? All Players(All Teams) : Null, Bad Beam, Vector(X Component Of(Global.XPPumpPos), Y Component Of(Global.XPPumpPos)
- + 3, Z Component Of(Global.XPPumpPos)), Event Player, Color(Blue), Visible To Position and Radius);
- Chase Player Variable At Rate(Event Player, XP, 99999, Distance Between(Position Of(Event Player), Global.XPPumpPos)
- < 5 && Has Spawned(Event Player) == True ? Global.XPPumpPerSecond / Count Of(Filtered Array(Filtered Array(All Living Players(
- All Teams), Has Spawned(Current Array Element)), Distance Between(Position Of(Current Array Element), Global.XPPumpPos) <= 5))
- * Event Player.XPMultiplier : 0, Destination and Rate);
- }
- }
- rule("Player Leave Cleanup")
- {
- event
- {
- Player Left Match;
- All;
- All;
- }
- actions
- {
- Stop Chasing Player Variable(Event Player, XP);
- }
- }
- rule("Executioner Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.Executioner == False;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.DarkPoints >= 12000;
- Distance Between(Event Player, Global.ExecutionerBuyPos) <= 1;
- }
- actions
- {
- Event Player.DarkPoints -= 12000;
- Event Player.Executioner = True;
- Small Message(Event Player, Custom String("Executioner bought."));
- }
- }
- rule("Second Wind Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.SecondWind == False;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.DarkPoints >= 5000;
- Distance Between(Event Player, Global.SecondWindBuyPos) <= 1;
- }
- actions
- {
- Event Player.DarkPoints -= 5000;
- Event Player.SecondWind = True;
- Small Message(Event Player, Custom String("Second Wind bought."));
- Set Status(Event Player, Null, Unkillable, 9999);
- }
- }
- rule("Dark Resistance Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.DarkResistance == False;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.DarkPoints >= 3000;
- Distance Between(Event Player, Global.DarkResistanceBuyPos) <= 1;
- }
- actions
- {
- Event Player.DarkPoints -= 3000;
- Event Player.DarkResistance = True;
- Small Message(Event Player, Custom String("Dark resistance bought."));
- }
- }
- rule("Explosion Buy")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Event Player.ExplosionPerk == False;
- Is Game In Progress == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Event Player.DarkPoints >= 7000;
- Distance Between(Event Player, Global.ExplosionBuyPos) <= 1;
- }
- actions
- {
- Event Player.DarkPoints -= 7000;
- Event Player.ExplosionPerk = True;
- Small Message(Event Player, Custom String("Explosion bought."));
- }
- }
- rule("Dark resistance")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
- Start Damage Modification(Filtered Array(All Players(All Teams), Current Array Element.DarkResistance == True), All Players(
- All Teams), 70, Receivers Damagers and Damage Percent);
- }
- }
- rule("Executioner")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Start Damage Modification(Event Player, Filtered Array(All Players(All Teams), Current Array Element.Executioner == True), Health(
- Event Player) <= Max Health(Event Player) * 0.400 ? 150 : 100, Receivers Damagers and Damage Percent);
- }
- }
- rule("Executioner instant kill")
- {
- event
- {
- Player Dealt Damage;
- All;
- All;
- }
- conditions
- {
- Event Player.Executioner == True;
- Normalized Health(Victim) < 0.120;
- Victim.SecondWind != True;
- }
- actions
- {
- Kill(Victim, Event Player);
- }
- }
- rule("Explosion")
- {
- event
- {
- Player Dealt Final Blow;
- All;
- All;
- }
- conditions
- {
- Event Player.ExplosionPerk == True;
- }
- actions
- {
- If(Random Integer(1, 100) <= 30);
- Play Effect(All Players(All Teams), Junkrat RIP Tire Explosion Effect, Color(Yellow), Evaluate Once(Position Of(Victim)), 5);
- Play Effect(All Players(All Teams), Junkrat RIP Tire Explosion Sound, Color(White), Evaluate Once(Position Of(Victim)), 200);
- Damage(Filtered Array(All Players(All Teams), Distance Between(Position Of(Current Array Element), Victim) <= 5), Event Player,
- 100);
- End;
- }
- }
- rule("Second Wind")
- {
- event
- {
- Player Took Damage;
- All;
- All;
- }
- conditions
- {
- Health(Event Player) <= 1;
- Event Player.SecondWindActivated == False;
- Event Player.SecondWind == True;
- }
- actions
- {
- Play Effect(Event Player, Junkrat RIP Tire Explosion Sound, Color(White), Event Player, 200);
- Event Player.LastDamager = Attacker;
- Event Player.SecondWindTime = 100;
- Event Player.SecondWindActivated = True;
- Chase Player Variable Over Time(Event Player, SecondWindTime, 0, 5, Destination and Duration);
- Wait Until(Event Player.SecondWindTime == 0, 99999);
- Clear Status(Event Player, Unkillable);
- Kill(Event Player, Event Player.LastDamager);
- Set Status(Event Player, Null, Unkillable, 9999);
- Wait Until(Is Alive(Event Player) == True, 99999);
- Event Player.SecondWindActivated = False;
- }
- }
- rule("Second Wind effect")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Create Effect(Event Player.SecondWindActivated == True ? All Players(All Teams) : Null,
- Baptiste Immortality Field Protected Effect, Color(White), Event Player, 1, Visible To Position and Radius);
- }
- }