Create
Return to post

Comparing difference between and

View raw
  • variables
  • {
  • global:
  • 27: MatchTimer_1
  • 28: StartMatchTime
  • 29: SetEndMatch
  • 30: EndgameWorkshop
  • 31: SetMatchTimeInSetting
  • 32: SetSpawnRoomChanger
  • 33: MatchTimer_2
  • 34: MatchTimer_HUD
  • 40: INT_KEY
  • 41: CREATING_NORMAL
  • 42: CONTROL_KEY
  • 43: THE_CREATOR
  • 44: KEYS_KEY
  • 45: P_KEY
  • 46: DO_IT
  • player:
  • 26: ModeSet
  • 27: NameSet
  • 28: CharSelection
  • 29: NoModeSwitching
  • 30: HasControls
  • 31: NoEffectsAtStart
  • 32: TeleportFacing
  • 33: DivinePowers
  • 34: WelcomeMessage
  • 35: DivineHost
  • 36: DivineMortal
  • 37: NoModeSwitch
  • 38: DivineFlame
  • 39: DivineFlameCall
  • 40: FlameDamage
  • 41: DivineFreeze
  • 42: DivineGhost
  • 43: ControlMessage
  • 44: NameGuide
  • 46: DivineDeath
  • 47: VoiceSwitch
  • 48: DivineTransfer
  • 50: DivineMessage
  • 54: SizeScaleSafety
  • 55: SizeScale
  • 57: DivineSleep
  • 60: TMP_KEY
  • 61: I_KEY
  • 62: RESULT_STRING
  • 63: ENTITIES_SPHERE_KEY
  • 64: CONTROL_KEY
  • 65: TMP2_KEY
  • 67: STACK_HISTORY_KEY
  • 68: ENTITIES_TEXT_KEY
  • 69: K_KEY
  • 70: REVERSE
  • 71: OTHER_ENTITIES
  • 72: CameraSwitchSafety
  • 73: CameraSwitch
  • 74: MessageSwitcher
  • 76: DivineLife
  • 77: Position_Save
  • 78: Facing_Save
  • 79: TeleportRez
  • 83: DivineHack
  • 84: DivineSwitch
  • 85: IsNewHost
  • 86: TelekineticGrab
  • 87: TelekineticGrab_Safety
  • 88: HostGrab
  • 89: TargetGrab
  • 90: SetFire
  • 91: WorkshopControlMessage
  • 92: MessageFixer
  • 99: CreateKB_NoPress
  • 102: EVDirection
  • 103: ForceEV_Switcher
  • 104: TeleportShortDistance
  • 105: TeleportShortDistanceSafety
  • 106: SlowMotionProjectile
  • 109: PermeationSwitch
  • 111: ModeSetSafety
  • 112: DivineFreezeCall
  • 113: DivineSleepCall
  • 114: DivineHackCall
  • 115: PowerSwitcher
  • 117: DivineTransferCall
  • 118: DivineTransferHost
  • 120: DivineDeathCall
  • 122: DivineLifeCall
  • 123: TeleportRezCall
  • 124: IsDivine
  • }
  • subroutines
  • {
  • 8: DivineFlameSUB
  • 11: MessageSwitcherSUB
  • 17: DestroyName
  • 18: ThirdPersonSUB
  • 19: ControlMessage
  • 20: DivineMessage
  • 21: ControlMessageOff
  • 22: DivineMessageOff
  • 23: StartVar
  • 26: DivineEffects
  • 32: WorkshopControlMessage_SubOff
  • 33: WorkshopControlMessage_SubOn
  • 35: DESTROY_KEYBOARD
  • 36: SizeStorage
  • 37: VoiceStorage
  • 38: CameraStorage
  • 39: EVStorage
  • 40: EVDirectionStorage
  • 41: SpawnRoomStorage
  • 42: ShortDistanceTeleportSUB
  • 43: SlowMotionProjectileSUB
  • 44: PermeationSUB
  • 45: DivineSwitchSUB
  • 46: ModeSetSUB
  • 49: DivineFrostSUB
  • 50: DivineSleepSUB
  • 51: DivineHackSUB
  • 52: PowerSwitcherSUB
  • 53: DivineTransferSUB
  • 55: DivineDeathSUB
  • 56: DivineLifeSUB
  • 57: TeleportRezSUB
  • 58: SetHeal
  • 59: SetName
  • 60: SetStatus
  • 61: SetDamage
  • 62: SetEffect
  • 63: SetMainMode
  • }
  • rule("♥ Chill Lobby Created by: II-Rezallia-II ♥")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("♥ In-World Keyboard by: JustMonika ♥")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • disabled rule("-- Blank Rule --")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("▼ Default At Start ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Start Rule(StartVar, Do Nothing);
  • Start Rule(ThirdPersonSUB, Do Nothing);
  • " "
  • Event Player.NoEffectsAtStart = True;
  • " "
  • Event Player.ModeSet = 1;
  • Event Player.HasControls = 0;
  • Event Player.NoModeSwitch = 2;
  • Start Rule(SetMainMode, Restart Rule);
  • "** For Testing **"
  • disabled Event Player.ModeSet = 2;
  • disabled Event Player.HasControls = 1;
  • disabled Event Player.NoModeSwitch = 2;
  • disabled Start Rule(SetMainMode, Restart Rule);
  • }
  • }
  • rule("▼ Destroy Name | Sub ▼")
  • {
  • event
  • {
  • Subroutine;
  • DestroyName;
  • }
  • actions
  • {
  • Destroy In-World Text(Event Player.NameSet);
  • }
  • }
  • rule("▼ Mode Switcher | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.NoModeSwitching == False;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • Is Button Held(Event Player, Button(Primary Fire)) == True;
  • Is Button Held(Event Player, Button(Secondary Fire)) == False;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.ModeSetSafety = True;
  • Event Player.ModeSet += 1;
  • Call Subroutine(ModeSetSUB);
  • " "
  • Wait Until(False, 1);
  • }
  • }
  • rule("Mode Switcher | Sub")
  • {
  • event
  • {
  • Subroutine;
  • ModeSetSUB;
  • }
  • actions
  • {
  • If(Event Player.ModeSet == 1);
  • Call Subroutine(SetMainMode);
  • End;
  • " "
  • If(Event Player.ModeSet == 2);
  • Call Subroutine(SetMainMode);
  • End;
  • " "
  • If(Event Player.ModeSet == 3);
  • Event Player.ModeSet = 1;
  • Call Subroutine(SetMainMode);
  • End;
  • }
  • }
  • rule("▼ Main Mode | Switcher ▼")
  • {
  • event
  • {
  • Subroutine;
  • SetMainMode;
  • }
  • actions
  • {
  • If(Event Player.ModeSet == 1);
  • Skip If((Event Player.DivineHost || Event Player.DivineMortal) == True, 1);
  • Set Ultimate Charge(Event Player, 0);
  • Event Player.HasControls = 2;
  • " "
  • Event Player.TeleportShortDistance = 0;
  • Event Player.TeleportShortDistanceSafety = 0;
  • Event Player.SlowMotionProjectile = 0;
  • " "
  • Set Projectile Gravity(Event Player, 100);
  • Set Projectile Speed(Event Player, 100);
  • " "
  • Event Player.PermeationSwitch = 0;
  • Enable Movement Collision With Environment(Event Player);
  • " "
  • Stop Modifying Hero Voice Lines(Event Player);
  • " "
  • Stop Scaling Player(Event Player);
  • Event Player.SizeScale = 0;
  • Event Player.SizeScaleSafety = False;
  • " "
  • Event Player.VoiceSwitch = 0;
  • Stop Modifying Hero Voice Lines(Event Player);
  • " "
  • Call Subroutine(DestroyName);
  • Call Subroutine(SetName);
  • Call Subroutine(SetStatus);
  • Call Subroutine(SetDamage);
  • Call Subroutine(SetEffect);
  • Small Message(Event Player, Custom String("Switched To Unprotected Mode"));
  • End;
  • " "
  • If(Event Player.ModeSet == 2);
  • Event Player.HasControls = 1;
  • " "
  • Call Subroutine(DestroyName);
  • Call Subroutine(SetHeal);
  • Call Subroutine(SetName);
  • Call Subroutine(SetStatus);
  • Call Subroutine(SetDamage);
  • Call Subroutine(SetEffect);
  • Small Message(Event Player, Custom String("Switched To Protected Mode"));
  • End;
  • }
  • }
  • rule("Mode Heal | Sub")
  • {
  • event
  • {
  • Subroutine;
  • SetHeal;
  • }
  • actions
  • {
  • If(Event Player.ModeSet == 1);
  • Heal(Event Player, Null, 0);
  • End;
  • " "
  • If(Event Player.ModeSet == 2);
  • Heal(Event Player, Null, 10000);
  • End;
  • }
  • }
  • rule("Mode Name | Sub")
  • {
  • event
  • {
  • Subroutine;
  • SetName;
  • }
  • actions
  • {
  • If(Event Player.ModeSet == 1);
  • Create In-World Text(All Players(All Teams), Custom String("[Unprotected] {0} {1}", Event Player, Hero Icon String(Hero Of(
  • Event Player))), Event Player, 1.250, Do Not Clip, Visible To Position and String, Color(Yellow), Default Visibility);
  • Event Player.NameSet = Last Text ID;
  • End;
  • " "
  • If(Event Player.ModeSet == 2);
  • Create In-World Text(All Players(All Teams), Custom String("[Protected] {0} {1}", Event Player, Hero Icon String(Hero Of(
  • Event Player))), Event Player, 1.250, Do Not Clip, Visible To Position and String, Color(Green), Default Visibility);
  • Event Player.NameSet = Last Text ID;
  • End;
  • }
  • }
  • rule("Mode Status | Sub")
  • {
  • event
  • {
  • Subroutine;
  • SetStatus;
  • }
  • actions
  • {
  • If(Event Player.ModeSet == 1);
  • Clear Status(Event Player, Phased Out);
  • End;
  • " "
  • If(Event Player.ModeSet == 2);
  • Set Status(Event Player, Null, Phased Out, 10000);
  • End;
  • }
  • }
  • rule("Mode Damage | Sub")
  • {
  • event
  • {
  • Subroutine;
  • SetDamage;
  • }
  • actions
  • {
  • If(Event Player.ModeSet == 1);
  • Skip If(Event Player.DivinePowers == 1, 4);
  • Set Damage Dealt(Event Player, 100);
  • Set Damage Received(Event Player, 100);
  • Set Knockback Dealt(Event Player, 100);
  • Set Knockback Received(Event Player, 100);
  • End;
  • " "
  • If(Event Player.ModeSet == 2);
  • Skip If(Event Player.DivinePowers == 1, 4);
  • Set Damage Dealt(Event Player, 0);
  • Set Damage Received(Event Player, 0);
  • Set Knockback Dealt(Event Player, 0);
  • Set Knockback Received(Event Player, 0);
  • End;
  • }
  • }
  • rule("Mode Effect | Sub")
  • {
  • event
  • {
  • Subroutine;
  • SetEffect;
  • }
  • actions
  • {
  • Abort If(
  • Event Player.DivineDeath == 1 || Event Player.DivineFreeze == 1 || Event Player.DivineSleep == 1 || Event Player.DivineHack == 1);
  • " "
  • If(Event Player.NoEffectsAtStart == True);
  • Event Player.NoEffectsAtStart = False;
  • Abort;
  • End;
  • " "
  • If(Event Player.ModeSet == 1);
  • Play Effect(All Players(All Teams), Good Pickup Effect, Color(Yellow), Event Player, 2);
  • End;
  • " "
  • If(Event Player.ModeSet == 2);
  • Play Effect(All Players(All Teams), Good Pickup Effect, Color(Green), Event Player, 2);
  • End;
  • }
  • }
  • rule("▼ Host Name ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create HUD Text(All Players(All Teams), Null, Null, String("{0} {1} {2}", Custom String(".+*"), Custom String("Your Divine Host:"),
  • String("{0} {1} {2}", Host Player, Hero Icon String(Hero Of(Host Player)), Custom String(".+*"))), Top, 2, Color(White), Color(
  • White), Color(White), Visible To Sort Order and String, Default Visibility);
  • }
  • }
  • rule("▼ Welcome Message ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Event Player.WelcomeMessage == False;
  • }
  • actions
  • {
  • Big Message(Event Player, String("{0} {1} {2}", Custom String("Welcome"), String("{0}!", Event Player), Custom String("<3")));
  • Event Player.WelcomeMessage = True;
  • }
  • }
  • rule("▼ Control/Instruction Message | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Call Subroutine(WorkshopControlMessage_SubOn);
  • }
  • }
  • rule("Control/Instruction Message | On")
  • {
  • event
  • {
  • Subroutine;
  • WorkshopControlMessage_SubOn;
  • }
  • actions
  • {
  • Create HUD Text(Event Player, Null, Null, Custom String("| OPEN CHILL LOBBY CONTROLS OR VISIT THE LINK |"), Left, 1, Color(Green),
  • Color(Green), Color(Green), Visible To and String, Default Visibility);
  • Event Player.WorkshopControlMessage[1] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String("> LOOK DOWN HOLD {0} & {1}\r\n** workshop.codes/rez-clw **",
  • Input Binding String(Button(Interact)), Input Binding String(Button(Melee))), Left, 2, Color(White), Color(White), Color(
  • White), Visible To and String, Default Visibility);
  • Event Player.WorkshopControlMessage[2] = Last Text ID;
  • }
  • }
  • rule("Control/Instruction Message | Off")
  • {
  • event
  • {
  • Subroutine;
  • WorkshopControlMessage_SubOff;
  • }
  • actions
  • {
  • Destroy HUD Text(Event Player.WorkshopControlMessage[1]);
  • Destroy HUD Text(Event Player.WorkshopControlMessage[2]);
  • }
  • }
  • rule("▼ Looking Down | Disallow Buttons ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Vertical Facing Angle Of(Event Player) >= 85;
  • }
  • actions
  • {
  • Disallow Button(Event Player, Button(Primary Fire));
  • Disallow Button(Event Player, Button(Secondary Fire));
  • Disallow Button(Event Player, Button(Ability 1));
  • Disallow Button(Event Player, Button(Ability 2));
  • Disallow Button(Event Player, Button(Ultimate));
  • Disallow Button(Event Player, Button(Interact));
  • Disallow Button(Event Player, Button(Jump));
  • Disallow Button(Event Player, Button(Melee));
  • Disallow Button(Event Player, Button(Reload));
  • }
  • }
  • rule("▼ Not Looking Down | Allow Buttons ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Vertical Facing Angle Of(Event Player) <= 85;
  • }
  • actions
  • {
  • Allow Button(Event Player, Button(Primary Fire));
  • Allow Button(Event Player, Button(Secondary Fire));
  • Allow Button(Event Player, Button(Ability 1));
  • Allow Button(Event Player, Button(Ability 2));
  • Allow Button(Event Player, Button(Ultimate));
  • Allow Button(Event Player, Button(Interact));
  • Allow Button(Event Player, Button(Jump));
  • Allow Button(Event Player, Button(Melee));
  • Allow Button(Event Player, Button(Reload));
  • }
  • }
  • rule("▼ Is Crouching | Disallow Buttons ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Crouching(Event Player) == True;
  • }
  • actions
  • {
  • Disallow Button(Event Player, Button(Primary Fire));
  • Disallow Button(Event Player, Button(Secondary Fire));
  • Disallow Button(Event Player, Button(Ability 1));
  • Disallow Button(Event Player, Button(Ability 2));
  • Disallow Button(Event Player, Button(Ultimate));
  • Disallow Button(Event Player, Button(Interact));
  • Disallow Button(Event Player, Button(Jump));
  • Disallow Button(Event Player, Button(Melee));
  • Disallow Button(Event Player, Button(Reload));
  • }
  • }
  • rule("▼ Not Crouching | Allow Buttons ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Crouching(Event Player) == False;
  • }
  • actions
  • {
  • Allow Button(Event Player, Button(Primary Fire));
  • Allow Button(Event Player, Button(Secondary Fire));
  • Allow Button(Event Player, Button(Ability 1));
  • Allow Button(Event Player, Button(Ability 2));
  • Allow Button(Event Player, Button(Ultimate));
  • Allow Button(Event Player, Button(Interact));
  • Allow Button(Event Player, Button(Jump));
  • Allow Button(Event Player, Button(Melee));
  • Allow Button(Event Player, Button(Reload));
  • }
  • }
  • disabled rule("-- Blank Rule --")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Float/Fly")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Is In Air(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Has Status(Event Player, Frozen) == False;
  • Is Button Held(Event Player, Button(Jump)) == True;
  • }
  • actions
  • {
  • Apply Impulse(Event Player, Up, 13, To World, Cancel Contrary Motion);
  • Wait(0.040, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("▼ Camera Switch | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Is Moving(Event Player) == False;
  • Is Alive(Event Player) == True;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • (Is Button Held(Event Player, Button(Ability 1)) && Is Button Held(Event Player, Button(Ability 2))) == True;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.CameraSwitch += 1;
  • Call Subroutine(CameraStorage);
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("Camera Storage")
  • {
  • event
  • {
  • Subroutine;
  • CameraStorage;
  • }
  • actions
  • {
  • If(Event Player.CameraSwitch == 1);
  • Start Camera(Event Player, Ray Cast Hit Position(Event Player, Event Player + World Vector Of(Vector(-0.300, 0, 0.300),
  • Event Player, Rotation) + Up * 1.500 + Facing Direction Of(Event Player) * -2, Null, Event Player, False),
  • Event Player + Facing Direction Of(Event Player) * 1000, 40);
  • Small Message(Event Player, Custom String("Camera Switch: Third Person"));
  • End;
  • " "
  • If(Event Player.CameraSwitch == 2);
  • Stop Camera(Event Player);
  • Small Message(Event Player, Custom String("Camera Switch: First Person"));
  • End;
  • " "
  • If(Event Player.CameraSwitch == 3);
  • Event Player.CameraSwitch = 1;
  • Call Subroutine(CameraStorage);
  • End;
  • }
  • }
  • rule("▼ Teleport Short Distance | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • Is Crouching(Event Player) == False;
  • (Is Button Held(Event Player, Button(Interact)) && Is Button Held(Event Player, Button(Jump))) == True;
  • (Is Button Held(Event Player, Button(Ability 1)) || Is Button Held(Event Player, Button(Melee)) || Is Button Held(Event Player,
  • Button(Secondary Fire))) == False;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.TeleportShortDistance += 1;
  • Call Subroutine(ShortDistanceTeleportSUB);
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("Teleport Short Distance | On/Off")
  • {
  • event
  • {
  • Subroutine;
  • ShortDistanceTeleportSUB;
  • }
  • actions
  • {
  • If(Event Player.TeleportShortDistance == 1);
  • Small Message(Event Player, Custom String("Teleport Short Distance: On"));
  • End;
  • " "
  • If(Event Player.TeleportShortDistance == 2);
  • Small Message(Event Player, Custom String("Teleport Short Distance: Off"));
  • Event Player.TeleportShortDistance = 0;
  • End;
  • }
  • }
  • rule("Teleport Short Distance | Activation")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Event Player.TeleportShortDistance == 1;
  • Vertical Facing Angle Of(Event Player) <= 85;
  • Has Status(Event Player, Frozen) == False;
  • Is Crouching(Event Player) == False;
  • Is Dead(Event Player) == False;
  • Is Button Held(Event Player, Button(Interact)) == True;
  • Is Button Held(Event Player, Button(Melee)) == False;
  • }
  • actions
  • {
  • Event Player.TeleportFacing = Facing Direction Of(Event Player);
  • " "
  • Teleport(Event Player, Event Player + Facing Direction Of(Event Player) * 12);
  • " "
  • Set Facing(Event Player, Event Player.TeleportFacing, To World);
  • " "
  • Wait(0.090, Ignore Condition);
  • Play Effect(All Players(All Teams), Good Explosion, Color(White), Event Player, 2);
  • }
  • }
  • rule("Teleport To A Player")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Vertical Facing Angle Of(Event Player) <= 85;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Interact)) == True;
  • Is Button Held(Event Player, Button(Primary Fire)) == False;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Teleport(Event Player, Player Closest To Reticle(Event Player, All Teams));
  • Play Effect(All Players(All Teams), Good Explosion, Color(White), Event Player, 2);
  • }
  • }
  • rule("Charge Ultimate")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Vertical Facing Angle Of(Event Player) <= 85;
  • Is Alive(Event Player) == True;
  • Is Crouching(Event Player) == False;
  • Is Using Ultimate(Event Player) == False;
  • Ultimate Charge Percent(Event Player) < 100;
  • Is Button Held(Event Player, Button(Ultimate)) == True;
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Skip If((Event Player.DivineHost || Event Player.DivineMortal) == True, 1);
  • Abort If(Event Player.ModeSet != 2);
  • Wait(0.300, Abort When False);
  • Set Ultimate Charge(Event Player, 99.999);
  • }
  • }
  • rule("▼ Slow Motion Projectiles | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • Is Button Held(Event Player, Button(Ability 2)) == True;
  • Is Button Held(Event Player, Button(Ability 1)) == False;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.SlowMotionProjectile += 1;
  • Call Subroutine(SlowMotionProjectileSUB);
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("Slow Motion Projectiles | On/Off")
  • {
  • event
  • {
  • Subroutine;
  • SlowMotionProjectileSUB;
  • }
  • actions
  • {
  • If(Event Player.SlowMotionProjectile == 1);
  • Set Projectile Gravity(Event Player, 0);
  • Set Projectile Speed(Event Player, 0.050);
  • Small Message(Event Player, Custom String("Slow Motion Projectile: On"));
  • End;
  • " "
  • If(Event Player.SlowMotionProjectile == 2);
  • Set Projectile Gravity(Event Player, 100);
  • Set Projectile Speed(Event Player, 100);
  • Small Message(Event Player, Custom String("Slow Motion Projectile: Off"));
  • Event Player.SlowMotionProjectile = 0;
  • End;
  • }
  • }
  • rule("Copy Hero")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Vertical Facing Angle Of(Event Player) <= 85;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Reload)) == True;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Start Forcing Player To Be Hero(Event Player, Hero Of(Player Closest To Reticle(Event Player, All Teams)));
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(White), Event Player, 2);
  • Stop Forcing Player To Be Hero(Event Player);
  • }
  • }
  • rule("Hero Selection | Start")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Event Player.CharSelection == False;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • Is Button Held(Event Player, Button(Reload)) == True;
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Wait(0.500, Abort When False);
  • " "
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(White), Eye Position(Event Player), 2);
  • Event Player.Position_Save = Position Of(Event Player);
  • Event Player.Facing_Save = Vector(0, -9 * Sine From Degrees(Vertical Facing Angle Of(Event Player)), Cosine From Degrees(
  • Vertical Facing Angle Of(Event Player)) * 9);
  • Wait(0.010, Ignore Condition);
  • Set Player Allowed Heroes(Event Player, Remove From Array(All Heroes, Hero Of(Event Player)));
  • Wait(0.300, Ignore Condition);
  • Set Player Allowed Heroes(Event Player, All Heroes);
  • Event Player.CharSelection = True;
  • }
  • }
  • rule("Hero Selection | End")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Event Player.CharSelection == True;
  • }
  • actions
  • {
  • Wait(0.080, Abort When False);
  • " "
  • Teleport(Event Player, Event Player.Position_Save);
  • Set Facing(Event Player, Vector(X Component Of(Event Player.Facing_Save), 0, Z Component Of(Event Player.Facing_Save)), To Player);
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(White), Eye Position(Event Player), 2);
  • Wait(0.100, Abort When False);
  • Event Player.Position_Save = False;
  • Event Player.Facing_Save = False;
  • Set Player Allowed Heroes(Event Player, All Heroes);
  • Event Player.CharSelection = False;
  • }
  • }
  • rule("▼ Set Portrait On Fire | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • Is Button Held(Event Player, Button(Jump)) == True;
  • (Is Button Held(Event Player, Button(Interact)) || Is Button Held(Event Player, Button(Ultimate))) == False;
  • Event Player.SetFire == False;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Small Message(Event Player, Custom String("Setting Portrait On Fire {0}", Icon String(Fire)));
  • Wait(1, Ignore Condition);
  • Event Player.SetFire = True;
  • Wait(1, Ignore Condition);
  • Event Player.SetFire = False;
  • Set Max Health(Event Player, 100);
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("Set Portrait On Fire | Activation")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.SetFire == True;
  • }
  • actions
  • {
  • Set Max Health(Event Player, Absolute Value(1000000));
  • Heal(Event Player, Event Player, 1000000);
  • }
  • }
  • rule("▼ Permeation | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Vertical Facing Angle Of(Event Player) <= 85;
  • Is Alive(Event Player) == True;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Ultimate)) == True;
  • Is Button Held(Event Player, Button(Ability 1)) == False;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.PermeationSwitch += 1;
  • Call Subroutine(PermeationSUB);
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("Permeation | On/Off")
  • {
  • event
  • {
  • Subroutine;
  • PermeationSUB;
  • }
  • actions
  • {
  • If(Event Player.PermeationSwitch == 1);
  • Disable Movement Collision With Environment(Event Player, False);
  • Small Message(Event Player, Custom String("Permeation: On"));
  • End;
  • " "
  • If(Event Player.PermeationSwitch == 2);
  • Enable Movement Collision With Environment(Event Player);
  • Small Message(Event Player, Custom String("Permeation: Off"));
  • Event Player.PermeationSwitch = 0;
  • End;
  • }
  • }
  • rule("▼ Voice Changer | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Is Alive(Event Player) == True;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • Is Button Held(Event Player, Button(Melee)) == True;
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.VoiceSwitch += 1;
  • Call Subroutine(VoiceStorage);
  • " "
  • Wait Until(False, 0.400);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Voice Storage")
  • {
  • event
  • {
  • Subroutine;
  • VoiceStorage;
  • }
  • actions
  • {
  • If(Event Player.VoiceSwitch == 1);
  • Start Modifying Hero Voice Lines(Event Player, -5, True);
  • Small Message(Event Player, Custom String("Voice Changer: Low Pitch"));
  • End;
  • " "
  • If(Event Player.VoiceSwitch == 2);
  • Start Modifying Hero Voice Lines(Event Player, 5, True);
  • Small Message(Event Player, Custom String("Voice Changer: High Pitch"));
  • End;
  • " "
  • If(Event Player.VoiceSwitch == 3);
  • Stop Modifying Hero Voice Lines(Event Player);
  • Small Message(Event Player, Custom String("Voice Changer: Off"));
  • Event Player.VoiceSwitch = 0;
  • End;
  • }
  • }
  • rule("▼ Size Changer | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HasControls == 1;
  • Is Alive(Event Player) == True;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • (Is Button Held(Event Player, Button(Jump)) && Is Button Held(Event Player, Button(Ultimate))) == True;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.SizeScale += 1;
  • Call Subroutine(SizeStorage);
  • " "
  • Wait Until(False, 0.400);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Size Storage")
  • {
  • event
  • {
  • Subroutine;
  • SizeStorage;
  • }
  • actions
  • {
  • If(Event Player.SizeScale == 1);
  • Stop Camera(Event Player);
  • Event Player.CameraSwitch = 2;
  • Disable Movement Collision With Environment(Event Player, False);
  • Event Player.PermeationSwitch = 1;
  • Start Scaling Player(Event Player, 5, True);
  • Small Message(Event Player, Custom String("Size Changer: Big"));
  • End;
  • " "
  • If(Event Player.SizeScale == 2);
  • Start Scaling Player(Event Player, 8, True);
  • Small Message(Event Player, Custom String("Size Changer: Huge"));
  • End;
  • " "
  • If(Event Player.SizeScale == 3);
  • Start Scaling Player(Event Player, 11, True);
  • Small Message(Event Player, Custom String("Size Changer: Gigantic"));
  • End;
  • " "
  • If(Event Player.SizeScale == 4);
  • Start Scaling Player(Event Player, 14, True);
  • Small Message(Event Player, Custom String("Size Changer: Enormous"));
  • End;
  • " "
  • If(Event Player.SizeScale == 5);
  • Start Scaling Player(Event Player, 17, True);
  • Small Message(Event Player, Custom String("Size Changer: Monstrous"));
  • End;
  • " "
  • If(Event Player.SizeScale == 6);
  • Start Scaling Player(Event Player, 20, True);
  • Small Message(Event Player, Custom String("Size Changer: Titan"));
  • End;
  • " "
  • If(Event Player.SizeScale == 7);
  • Call Subroutine(ThirdPersonSUB);
  • Event Player.CameraSwitch = 1;
  • Enable Movement Collision With Environment(Event Player);
  • Event Player.PermeationSwitch = 0;
  • Start Scaling Player(Event Player, 0.800, True);
  • Small Message(Event Player, Custom String("Size Changer: Little"));
  • End;
  • " "
  • If(Event Player.SizeScale == 8);
  • Start Scaling Player(Event Player, 0.500, True);
  • Small Message(Event Player, Custom String("Size Changer: Small"));
  • End;
  • " "
  • If(Event Player.SizeScale == 9);
  • Start Scaling Player(Event Player, 0.200, True);
  • Small Message(Event Player, Custom String("Size Changer: Tiny"));
  • End;
  • " "
  • If(Event Player.SizeScale == 10);
  • Start Scaling Player(Event Player, 0.001, True);
  • Small Message(Event Player, Custom String("Size Changer: Very Tiny"));
  • End;
  • " "
  • If(Event Player.SizeScale == 11);
  • Stop Scaling Player(Event Player);
  • Call Subroutine(ThirdPersonSUB);
  • Event Player.CameraSwitch = 1;
  • Small Message(Event Player, Custom String("Size Changer: Normal"));
  • Event Player.SizeScale = 0;
  • End;
  • }
  • }
  • disabled rule("-- Blank Rule --")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Divine Powers (Passive) | Regeneration (Always On)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Health(Event Player) < Max Health(Event Player);
  • }
  • actions
  • {
  • Heal(Event Player, Null, 10000);
  • Wait(0.300, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Divine Powers (Passive) | Immortality - On")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • }
  • actions
  • {
  • Set Status(Event Player, Null, Unkillable, 10000);
  • }
  • }
  • rule("Divine Powers (Passive) | Immortality - Off")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == False;
  • }
  • actions
  • {
  • Clear Status(Event Player, Unkillable);
  • }
  • }
  • rule("Divine Powers (Passive) | Divine Damage - On")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • }
  • actions
  • {
  • Set Damage Dealt(Event Player, 500000 * 500000);
  • Set Knockback Dealt(Event Player, 1000);
  • Set Knockback Received(Event Player, 0);
  • }
  • }
  • rule("Divine Powers (Passive) | Divine Damage - Off")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == False;
  • }
  • actions
  • {
  • Set Damage Dealt(Event Player, 100);
  • }
  • }
  • rule("Divine Powers (Passive) | Return Damage (Always On)")
  • {
  • event
  • {
  • Player Took Damage;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Victim.DivineHost || Victim.DivineMortal) == True;
  • (Attacker.DivineHost || Attacker.DivineMortal) == False;
  • }
  • actions
  • {
  • Damage(Attacker, Attacker, Event Damage * 5);
  • }
  • }
  • rule("▼ Divine Death / Insta-Kill | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Melee)) == True;
  • }
  • actions
  • {
  • Abort If(Is Dead(Player Closest To Reticle(Event Player, All Teams)) == True);
  • " "
  • Wait(0.200, Abort When False);
  • " "
  • Player Closest To Reticle(Event Player, All Teams).DivineDeath += 1;
  • Player Closest To Reticle(Event Player, All Teams).DivineDeathCall = True;
  • " "
  • Wait Until(False, 0.500);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Divine Death (1)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.DivineDeathCall == True;
  • }
  • actions
  • {
  • Call Subroutine(DivineDeathSUB);
  • Event Player.DivineDeathCall = False;
  • }
  • }
  • rule("Divine Death (2)")
  • {
  • event
  • {
  • Subroutine;
  • DivineDeathSUB;
  • }
  • actions
  • {
  • If(Event Player.DivineMortal == True || Event Player.DivineHost == True);
  • Event Player.DivineDeath = 0;
  • Abort;
  • End;
  • " "
  • If(Event Player.DivineDeath == 1);
  • Skip If(Event Player.ModeSet == 1, 2);
  • Event Player.ModeSet = 1;
  • Call Subroutine(SetMainMode);
  • Kill(Event Player, Event Player);
  • Event Player.DivineDeath = 0;
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(Red), Event Player, 2);
  • End;
  • }
  • }
  • rule("▼ Divine Life / Resurrect | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Secondary Fire)) == True;
  • Is Button Held(Event Player, Button(Primary Fire)) == False;
  • }
  • actions
  • {
  • Abort If(Is Alive(Player Closest To Reticle(Event Player, All Teams)) == True);
  • " "
  • Wait(0.200, Abort When False);
  • " "
  • Player Closest To Reticle(Event Player, All Teams).DivineLife += 1;
  • Player Closest To Reticle(Event Player, All Teams).DivineLifeCall = True;
  • " "
  • Wait Until(False, 0.400);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Divine Life (1)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.DivineLifeCall == True;
  • }
  • actions
  • {
  • Call Subroutine(DivineLifeSUB);
  • Event Player.DivineLifeCall = False;
  • }
  • }
  • rule("Divine Life (2)")
  • {
  • event
  • {
  • Subroutine;
  • DivineLifeSUB;
  • }
  • actions
  • {
  • If(Event Player.DivineLife == 1);
  • Resurrect(Event Player);
  • Event Player.DivineLife = 0;
  • Play Effect(All Players(All Teams), Good Pickup Effect, Color(Yellow), Event Player, 2);
  • End;
  • }
  • }
  • rule("▼ Power Switcher | Freeze/Sleep/Hack/Burn ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • (Is Button Held(Event Player, Button(Interact)) && Is Button Held(Event Player, Button(Primary Fire))) == True;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.PowerSwitcher += 1;
  • Call Subroutine(PowerSwitcherSUB);
  • " "
  • Wait Until(False, 0.300);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Power Switcher | Sub")
  • {
  • event
  • {
  • Subroutine;
  • PowerSwitcherSUB;
  • }
  • actions
  • {
  • If(Event Player.PowerSwitcher == 1);
  • Small Message(Event Player, Custom String("Power Switch: Freeze"));
  • End;
  • " "
  • If(Event Player.PowerSwitcher == 2);
  • Small Message(Event Player, Custom String("Power Switch: Sleep"));
  • End;
  • " "
  • If(Event Player.PowerSwitcher == 3);
  • Small Message(Event Player, Custom String("Power Switch: Hack"));
  • End;
  • " "
  • If(Event Player.PowerSwitcher == 4);
  • Small Message(Event Player, Custom String("Power Switch: Burn"));
  • End;
  • " "
  • If(Event Player.PowerSwitcher == 5);
  • If(Custom String("{0}", Event Player) == Custom String("II-Rezallia-II") || Custom String("{0}", Event Player) == Custom String(
  • "SolitaryArcanine"));
  • Small Message(Event Player, Custom String("Power Switch: Ghost"));
  • Abort;
  • End;
  • End;
  • " "
  • If(Event Player.PowerSwitcher == 5);
  • If(Custom String("{0}", Event Player) != Custom String("II-Rezallia-II") || Custom String("{0}", Event Player) != Custom String(
  • "SolitaryArcanine"));
  • Event Player.PowerSwitcher = 6;
  • End;
  • End;
  • " "
  • If(Event Player.PowerSwitcher >= 5);
  • Event Player.PowerSwitcher = 1;
  • Call Subroutine(PowerSwitcherSUB);
  • End;
  • }
  • }
  • rule("▼ Divine Freeze | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Event Player.PowerSwitcher == 1;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Primary Fire)) == True;
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Abort If(Is Dead(Player Closest To Reticle(Event Player, All Teams)));
  • Abort If(Is In Spawn Room(Player Closest To Reticle(Event Player, All Teams)) == True);
  • Abort If(Player Closest To Reticle(Event Player, All Teams).DivineFlame == 1 || Player Closest To Reticle(Event Player, All Teams)
  • .DivineSleep == 1 || Player Closest To Reticle(Event Player, All Teams).DivineHack == 1);
  • " "
  • Wait(0.200, Abort When False);
  • " "
  • Player Closest To Reticle(Event Player, All Teams).DivineFreeze += 1;
  • Player Closest To Reticle(Event Player, All Teams).DivineFreezeCall = True;
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("Divine Freeze (1)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.DivineFreezeCall == True;
  • }
  • actions
  • {
  • Call Subroutine(DivineFrostSUB);
  • Event Player.DivineFreezeCall = False;
  • }
  • }
  • rule("Divine Freeze (2)")
  • {
  • event
  • {
  • Subroutine;
  • DivineFrostSUB;
  • }
  • actions
  • {
  • If(Event Player.DivineMortal == True || Event Player.DivineHost == True);
  • Event Player.DivineFreeze = 0;
  • Abort;
  • End;
  • " "
  • If(Event Player.DivineFreeze == 1);
  • Skip If(Event Player.ModeSet == 1, 2);
  • Event Player.ModeSet = 1;
  • Call Subroutine(SetMainMode);
  • Event Player.NoModeSwitching = True;
  • Set Status(Event Player, Null, Frozen, 10000);
  • End;
  • " "
  • If(Event Player.DivineFreeze == 2);
  • Event Player.NoModeSwitching = False;
  • Clear Status(Event Player, Frozen);
  • End;
  • " "
  • If(Event Player.DivineFreeze == 3);
  • Event Player.DivineFreeze = 1;
  • Call Subroutine(DivineFrostSUB);
  • End;
  • " "
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(Sky Blue), Event Player, 2);
  • }
  • }
  • rule("▼ Divine Sleep | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Event Player.PowerSwitcher == 2;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Primary Fire)) == True;
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Abort If(Is Dead(Player Closest To Reticle(Event Player, All Teams)));
  • Abort If(Is In Spawn Room(Player Closest To Reticle(Event Player, All Teams)) == True);
  • Abort If(Player Closest To Reticle(Event Player, All Teams).DivineFreeze == 1 || Player Closest To Reticle(Event Player, All Teams)
  • .DivineFlame == 1 || Player Closest To Reticle(Event Player, All Teams).DivineHack == 1);
  • " "
  • Wait(0.200, Abort When False);
  • " "
  • Player Closest To Reticle(Event Player, All Teams).DivineSleep += 1;
  • Player Closest To Reticle(Event Player, All Teams).DivineSleepCall = True;
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("Divine Sleep (1)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.DivineSleepCall == True;
  • }
  • actions
  • {
  • Call Subroutine(DivineSleepSUB);
  • Event Player.DivineSleepCall = False;
  • }
  • }
  • rule("Divine Sleep (2)")
  • {
  • event
  • {
  • Subroutine;
  • DivineSleepSUB;
  • }
  • actions
  • {
  • If(Event Player.DivineMortal == True || Event Player.DivineHost == True);
  • Event Player.DivineSleep = 0;
  • Abort;
  • End;
  • " "
  • If(Event Player.DivineSleep == 1);
  • Skip If(Event Player.ModeSet == 1, 2);
  • Event Player.ModeSet = 1;
  • Call Subroutine(SetMainMode);
  • Event Player.NoModeSwitching = True;
  • Set Status(Event Player, Null, Asleep, 10000);
  • End;
  • " "
  • If(Event Player.DivineSleep == 2);
  • Event Player.NoModeSwitching = False;
  • Clear Status(Event Player, Asleep);
  • End;
  • " "
  • If(Event Player.DivineSleep == 3);
  • Event Player.DivineSleep = 1;
  • Call Subroutine(DivineSleepSUB);
  • End;
  • " "
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(White), Event Player, 2);
  • }
  • }
  • rule("▼ Divine Hack | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Event Player.PowerSwitcher == 3;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Primary Fire)) == True;
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Abort If(Is Dead(Player Closest To Reticle(Event Player, All Teams)));
  • Abort If(Is In Spawn Room(Player Closest To Reticle(Event Player, All Teams)) == True);
  • Abort If(Player Closest To Reticle(Event Player, All Teams).DivineFreeze == 1 || Player Closest To Reticle(Event Player, All Teams)
  • .DivineSleep == 1 || Player Closest To Reticle(Event Player, All Teams).DivineFlame == 1);
  • " "
  • Wait(0.200, Abort When False);
  • " "
  • Player Closest To Reticle(Event Player, All Teams).DivineHack += 1;
  • Player Closest To Reticle(Event Player, All Teams).DivineHackCall = True;
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("Divine Hack (1)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.DivineHackCall == True;
  • }
  • actions
  • {
  • Call Subroutine(DivineHackSUB);
  • Event Player.DivineHackCall = False;
  • }
  • }
  • rule("Divine Hack (2)")
  • {
  • event
  • {
  • Subroutine;
  • DivineHackSUB;
  • }
  • actions
  • {
  • If(Event Player.DivineMortal == True || Event Player.DivineHost == True);
  • Event Player.DivineHack = 0;
  • Abort;
  • End;
  • " "
  • If(Event Player.DivineHack == 1);
  • Set Aim Speed(Event Player, 0);
  • Start Transforming Throttle(Event Player, -1, -1, Facing Direction Of(Event Player));
  • Set Melee Enabled(Event Player, False);
  • Set Primary Fire Enabled(Event Player, False);
  • Set Secondary Fire Enabled(Event Player, False);
  • Skip If(Event Player.ModeSet == 1, 2);
  • Event Player.ModeSet = 1;
  • Call Subroutine(SetMainMode);
  • Event Player.NoModeSwitching = True;
  • Set Status(Event Player, Null, Hacked, 10000);
  • End;
  • " "
  • If(Event Player.DivineHack == 2);
  • Set Melee Enabled(Event Player, True);
  • Set Primary Fire Enabled(Event Player, True);
  • Set Secondary Fire Enabled(Event Player, True);
  • Set Aim Speed(Event Player, 100);
  • Stop Transforming Throttle(Event Player);
  • Event Player.NoModeSwitching = False;
  • Clear Status(Event Player, Hacked);
  • End;
  • " "
  • If(Event Player.DivineHack == 3);
  • Event Player.DivineHack = 1;
  • Call Subroutine(DivineHackSUB);
  • End;
  • " "
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(Purple), Event Player, 2);
  • }
  • }
  • rule("▼ Divine Flame | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Event Player.PowerSwitcher == 4;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Primary Fire)) == True;
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Abort If(Is Dead(Player Closest To Reticle(Event Player, All Teams)));
  • Abort If(Is In Spawn Room(Player Closest To Reticle(Event Player, All Teams)) == True);
  • Abort If(Player Closest To Reticle(Event Player, All Teams).DivineFreeze == 1 || Player Closest To Reticle(Event Player, All Teams)
  • .DivineSleep == 1 || Player Closest To Reticle(Event Player, All Teams).DivineHack == 1);
  • " "
  • Wait(0.200, Abort When False);
  • " "
  • Player Closest To Reticle(Event Player, All Teams).DivineFlame += 1;
  • Player Closest To Reticle(Event Player, All Teams).DivineFlameCall = True;
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("Divine Flame (1)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.DivineFlameCall == True;
  • }
  • actions
  • {
  • Call Subroutine(DivineFlameSUB);
  • Event Player.DivineFlameCall = False;
  • }
  • }
  • rule("Divine Flame (2)")
  • {
  • event
  • {
  • Subroutine;
  • DivineFlameSUB;
  • }
  • actions
  • {
  • If(Event Player.DivineMortal == True || Event Player.DivineHost == True);
  • Event Player.DivineFlame = 0;
  • Abort;
  • End;
  • " "
  • If(Event Player.DivineFlame == 1);
  • Skip If(Event Player.ModeSet == 1, 2);
  • Event Player.ModeSet = 1;
  • Call Subroutine(SetMainMode);
  • Event Player.NoModeSwitching = True;
  • Set Healing Received(Event Player, 0);
  • Set Healing Dealt(Event Player, 0);
  • Set Status(Event Player, Null, Burning, 10000);
  • Start Damage Over Time(Event Player, Null, 10000, 150);
  • Event Player.FlameDamage = Last Damage Over Time ID;
  • End;
  • " "
  • If(Event Player.DivineFlame == 2);
  • Event Player.NoModeSwitching = False;
  • Set Healing Received(Event Player, 100);
  • Set Healing Dealt(Event Player, 100);
  • Clear Status(Event Player, Burning);
  • Stop Damage Over Time(Event Player.FlameDamage);
  • End;
  • " "
  • If(Event Player.DivineFlame == 3);
  • Event Player.DivineFlame = 1;
  • Call Subroutine(DivineFlameSUB);
  • End;
  • " "
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(Orange), Event Player, 2);
  • }
  • }
  • rule("▼ Divine Ghost | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Event Player.PowerSwitcher == 5;
  • Vertical Facing Angle Of(Event Player) <= 85;
  • Is Crouching(Event Player) == False;
  • Is Button Held(Event Player, Button(Reload)) == True;
  • }
  • actions
  • {
  • Abort If(Is Dead(Event Player));
  • " "
  • Event Player.DivineGhost += 1;
  • " "
  • If(Event Player.DivineGhost == 1);
  • Play Effect(All Players(All Teams), Good Pickup Effect, Color(White), Event Player, 2);
  • Wait(0.300, Ignore Condition);
  • Event Player.NoModeSwitching = True;
  • Call Subroutine(DestroyName);
  • Set Invisible(Event Player, All);
  • End;
  • " "
  • If(Event Player.DivineGhost == 2);
  • Event Player.NoModeSwitching = False;
  • Call Subroutine(SetName);
  • Set Invisible(Event Player, None);
  • Event Player.DivineGhost = 0;
  • Play Effect(All Players(All Teams), Good Pickup Effect, Color(White), Event Player, 2);
  • End;
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("▼ Divine Powers | Teleport A Player to You ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Ability 1)) == True;
  • Is Button Held(Event Player, Button(Ability 2)) == False;
  • }
  • actions
  • {
  • Wait(0.200, Abort When False);
  • " "
  • If(Is Dead(Player Closest To Reticle(Event Player, All Teams)) == True);
  • Player Closest To Reticle(Event Player, All Teams).TeleportRez += 1;
  • Player Closest To Reticle(Event Player, All Teams).TeleportRezCall = True;
  • End;
  • " "
  • Teleport(Player Closest To Reticle(Event Player, All Teams), Event Player);
  • " "
  • Skip If(Player Closest To Reticle(Event Player, All Teams).TeleportRez == 1, 1);
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(White), Player Closest To Reticle(Event Player, All Teams), 2);
  • }
  • }
  • rule("Teleport Resurrect from Death (1)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.TeleportRezCall == True;
  • }
  • actions
  • {
  • Call Subroutine(TeleportRezSUB);
  • Event Player.TeleportRezCall = False;
  • }
  • }
  • rule("Teleport Resurrect from Death (2)")
  • {
  • event
  • {
  • Subroutine;
  • TeleportRezSUB;
  • }
  • actions
  • {
  • If(Event Player.TeleportRez == 1);
  • Resurrect(Event Player);
  • Event Player.TeleportRez = 0;
  • End;
  • " "
  • Wait(0.060, Ignore Condition);
  • Play Effect(All Players(All Teams), Good Pickup Effect, Color(Yellow), Event Player, 2);
  • }
  • }
  • rule("▼ Divine Powers | Teleport All Players to You ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • (Is Button Held(Event Player, Button(Ultimate)) && Is Button Held(Event Player, Button(Reload))) == True;
  • }
  • actions
  • {
  • Wait(1, Abort When False);
  • " "
  • Respawn(All Dead Players(All Teams));
  • Teleport(Remove From Array(All Players(All Teams), Event Player), Event Player);
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(White), Event Player, 2);
  • }
  • }
  • rule("▼ Share/Take Away Divine Powers | Toggle (Host Only) ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.DivineHost == True;
  • Event Player.DivinePowers == True;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == True;
  • Is Button Held(Event Player, Button(Ability 2)) == True;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Abort If(Custom String("{0}", Player Closest To Reticle(Event Player, All Teams)) == Custom String("II-Rezallia-II"));
  • Abort If(Custom String("{0}", Player Closest To Reticle(Event Player, All Teams)) == Custom String("SolitaryArcanine"));
  • " "
  • Abort If(Custom String("{0}", Player Closest To Reticle(Event Player, All Teams)) == Custom String("XoAngelBunnyoX"));
  • " "
  • Player Closest To Reticle(Event Player, All Teams).DivineTransfer += 1;
  • Player Closest To Reticle(Event Player, All Teams).DivineTransferCall = True;
  • " "
  • If(Player Closest To Reticle(Event Player, All Teams).DivineTransfer == 1);
  • Small Message(Event Player, Custom String("Divine Powers Granted Successfully"));
  • Play Effect(All Players(All Teams), Good Pickup Effect, Color(Red), Event Player, 2);
  • End;
  • " "
  • If(Player Closest To Reticle(Event Player, All Teams).DivineTransfer == 2);
  • Small Message(Event Player, Custom String("Divine Powers Taken Away Successfully"));
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(Red), Event Player, 2);
  • End;
  • " "
  • If(Player Closest To Reticle(Event Player, All Teams).DivineTransfer == 3);
  • Small Message(Event Player, Custom String("Divine Powers Granted Successfully"));
  • Play Effect(All Players(All Teams), Good Pickup Effect, Color(Red), Event Player, 2);
  • End;
  • " "
  • Wait Until(False, 1);
  • }
  • }
  • rule("Share/Take Away Divine Powers (1)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.DivineTransferCall == True;
  • }
  • actions
  • {
  • Abort If(Custom String("{0}", Event Player) == Custom String("II-Rezallia-II"));
  • Abort If(Custom String("{0}", Event Player) == Custom String("SolitaryArcanine"));
  • " "
  • Abort If(Custom String("{0}", Event Player) == Custom String("XoAngelBunnyoX"));
  • " "
  • Call Subroutine(DivineTransferSUB);
  • Event Player.DivineTransferCall = False;
  • }
  • }
  • rule("Share/Take Away Divine Powers (2)")
  • {
  • event
  • {
  • Subroutine;
  • DivineTransferSUB;
  • }
  • actions
  • {
  • If(Event Player.DivineTransfer == 1);
  • Event Player.DivineMortal = True;
  • Event Player.DivinePowers = True;
  • Small Message(Event Player, Custom String("You Have Been Granted Divine Powers"));
  • Play Effect(All Players(All Teams), Good Pickup Effect, Color(Red), Event Player, 2);
  • End;
  • " "
  • If(Event Player.DivineTransfer == 2);
  • Event Player.DivineMortal = False;
  • Event Player.DivinePowers = False;
  • Small Message(Event Player, Custom String("Your Divine Powers Has Been Taken Away"));
  • Play Effect(All Players(All Teams), Bad Pickup Effect, Color(Red), Event Player, 2);
  • End;
  • " "
  • If(Event Player.DivineTransfer == 3);
  • Event Player.DivineTransfer = 1;
  • Call Subroutine(DivineTransferSUB);
  • End;
  • }
  • }
  • rule("▼ Divine Powers | Telekinetic Grab | On/Off ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == False;
  • Event Player.TelekineticGrab_Safety == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • (Is Button Held(Event Player, Button(Ability 1)) && Is Button Held(Event Player, Button(Interact))) == True;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.TelekineticGrab += 1;
  • " "
  • If(Event Player.TelekineticGrab == 1);
  • Small Message(Event Player, Custom String("Telekinetic Grab: On"));
  • End;
  • " "
  • If(Event Player.TelekineticGrab == 2);
  • Small Message(Event Player, Custom String("Telekinetic Grab: Off"));
  • Event Player.TelekineticGrab = 0;
  • End;
  • " "
  • Wait Until(False, 0.500);
  • }
  • }
  • rule("Telekinetic Grab | Grab/Drop/Throw")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Event Player.TelekineticGrab == 1;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) <= 85;
  • Is Button Held(Event Player, Button(Interact)) == True;
  • }
  • actions
  • {
  • Skip If(Custom String("{0}", Event Player) == Custom String("II-Rezallia-II"), 1);
  • Abort If((Player Closest To Reticle(Event Player, All Teams).DivineHost || Player Closest To Reticle(Event Player, All Teams)
  • .DivineMortal) == True);
  • " "
  • If(Event Player.HostGrab == False);
  • Event Player.HostGrab = True;
  • Event Player.TargetGrab = Player Closest To Reticle(Event Player, All Teams);
  • Abort;
  • End;
  • " "
  • If(Event Player.HostGrab == True && Is Button Held(Event Player, Button(Reload)) == False);
  • Event Player.HostGrab = False;
  • Stop Forcing Player Position(Event Player.TargetGrab);
  • Abort;
  • End;
  • " "
  • If(Event Player.HostGrab == True && Is Button Held(Event Player, Button(Reload)) == True);
  • Event Player.HostGrab = False;
  • Stop Forcing Player Position(Event Player.TargetGrab);
  • Apply Impulse(Event Player.TargetGrab, Facing Direction Of(Event Player), 200, To World, Cancel Contrary Motion);
  • Set Status(Event Player.TargetGrab, Null, Rooted, 1);
  • Abort;
  • End;
  • }
  • }
  • rule("Telekinetic Grab | Activation")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.HostGrab == True;
  • }
  • actions
  • {
  • Start Forcing Player Position(Event Player.TargetGrab, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 10, Null, Event Player, True), True);
  • }
  • }
  • rule("▼ Force Emote/Voiceline | Switcher ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • "Let the trolling begin!"
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • (Is Button Held(Event Player, Button(Interact)) && Is Button Held(Event Player, Button(Ultimate))) == True;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.ForceEV_Switcher += 1;
  • Call Subroutine(EVStorage);
  • " "
  • Wait Until(False, 0.300);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Force Emote/Voiceline | Storage")
  • {
  • event
  • {
  • Subroutine;
  • EVStorage;
  • }
  • actions
  • {
  • If(Event Player.ForceEV_Switcher == 1);
  • Small Message(Event Player, Custom String("Start Forcing: Emote"));
  • End;
  • " "
  • If(Event Player.ForceEV_Switcher == 2);
  • Small Message(Event Player, Custom String("Start Forcing: Voiceline"));
  • End;
  • " "
  • If(Event Player.ForceEV_Switcher == 3);
  • Small Message(Event Player, Custom String("Start Forcing: Off"));
  • Event Player.ForceEV_Switcher = 0;
  • Event Player.EVDirection = 0;
  • End;
  • }
  • }
  • rule("▼ Force Emote/Voiceline Direction | Switcher ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • (Event Player.ForceEV_Switcher == 1 || Event Player.ForceEV_Switcher == 2) == True;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • (Is Button Held(Event Player, Button(Interact)) && Is Button Held(Event Player, Button(Reload))) == True;
  • }
  • actions
  • {
  • Wait(0.100, Abort When False);
  • " "
  • Event Player.EVDirection += 1;
  • Call Subroutine(EVDirectionStorage);
  • }
  • }
  • rule("Force Emote/Voiceline Direction | Storage")
  • {
  • event
  • {
  • Subroutine;
  • EVDirectionStorage;
  • }
  • actions
  • {
  • If(Event Player.EVDirection == 1);
  • Small Message(Event Player, Custom String("Force: Up"));
  • End;
  • " "
  • If(Event Player.EVDirection == 2);
  • Small Message(Event Player, Custom String("Force: Down"));
  • End;
  • " "
  • If(Event Player.EVDirection == 3);
  • Small Message(Event Player, Custom String("Force: Left"));
  • End;
  • " "
  • If(Event Player.EVDirection == 4);
  • Small Message(Event Player, Custom String("Force: Right"));
  • End;
  • " "
  • Skip If(Event Player.ForceEV_Switcher == 1, 28);
  • " "
  • If(Event Player.EVDirection == 5);
  • Small Message(Event Player, Custom String("Force: Hello"));
  • Abort;
  • End;
  • " "
  • If(Event Player.EVDirection == 6);
  • Small Message(Event Player, Custom String("Force: Yes"));
  • Abort;
  • End;
  • " "
  • If(Event Player.EVDirection == 7);
  • Small Message(Event Player, Custom String("Force: No"));
  • Abort;
  • End;
  • " "
  • If(Event Player.EVDirection == 8);
  • Small Message(Event Player, Custom String("Force: With You"));
  • Abort;
  • End;
  • " "
  • If(Event Player.EVDirection == 9);
  • Small Message(Event Player, Custom String("Force: You Are Welcome"));
  • Abort;
  • End;
  • " "
  • If(Event Player.EVDirection == 10);
  • Small Message(Event Player, Custom String("Force: Sorry"));
  • Abort;
  • End;
  • " "
  • If(Event Player.EVDirection == 11);
  • Small Message(Event Player, Custom String("Force: Goodbye"));
  • Abort;
  • End;
  • " "
  • If(Event Player.EVDirection >= 5);
  • Event Player.EVDirection = 1;
  • Call Subroutine(EVDirectionStorage);
  • End;
  • }
  • }
  • rule("▼ Force Emote | Activation ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Event Player.ForceEV_Switcher == 1;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) <= 85;
  • Is Button Held(Event Player, Button(Reload)) == True;
  • }
  • actions
  • {
  • Skip If(Custom String("{0}", Event Player) == Custom String("II-Rezallia-II"), 1);
  • Abort If((Player Closest To Reticle(Event Player, All Teams).DivineHost || Player Closest To Reticle(Event Player, All Teams)
  • .DivineMortal) == True);
  • " "
  • If(Event Player.EVDirection == 1);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Emote Up);
  • End;
  • " "
  • If(Event Player.EVDirection == 2);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Emote Down);
  • End;
  • " "
  • If(Event Player.EVDirection == 3);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Emote Left);
  • End;
  • " "
  • If(Event Player.EVDirection == 4);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Emote Right);
  • End;
  • }
  • }
  • rule("▼ Force Voiceline | Activation ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Event Player.DivinePowers == True;
  • Event Player.ForceEV_Switcher == 2;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) <= 85;
  • Is Button Held(Event Player, Button(Reload)) == True;
  • }
  • actions
  • {
  • Skip If(Custom String("{0}", Event Player) == Custom String("II-Rezallia-II"), 1);
  • Abort If((Player Closest To Reticle(Event Player, All Teams).DivineHost || Player Closest To Reticle(Event Player, All Teams)
  • .DivineMortal) == True);
  • " "
  • If(Event Player.EVDirection == 1);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Voice Line Up);
  • End;
  • " "
  • If(Event Player.EVDirection == 2);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Voice Line Down);
  • End;
  • " "
  • If(Event Player.EVDirection == 3);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Voice Line Left);
  • End;
  • " "
  • If(Event Player.EVDirection == 4);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Voice Line Right);
  • End;
  • " "
  • If(Event Player.EVDirection == 5);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Hello);
  • End;
  • " "
  • If(Event Player.EVDirection == 6);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Yes);
  • End;
  • " "
  • If(Event Player.EVDirection == 7);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), No);
  • End;
  • " "
  • If(Event Player.EVDirection == 8);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), With You);
  • End;
  • " "
  • If(Event Player.EVDirection == 9);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), You are Welcome);
  • End;
  • " "
  • If(Event Player.EVDirection == 10);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Sorry);
  • End;
  • " "
  • If(Event Player.EVDirection == 11);
  • Communicate(Player Closest To Reticle(Event Player, All Teams), Goodbye);
  • End;
  • }
  • }
  • disabled rule("-- Blank Rule --")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("▼ Divine Powers Switch | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Event Player.DivineHost || Event Player.DivineMortal) == True;
  • Is Moving(Event Player) == False;
  • Is Crouching(Event Player) == False;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • Is Button Held(Event Player, Button(Secondary Fire)) == True;
  • (Is Button Held(Event Player, Button(Primary Fire)) || Is Button Held(Event Player, Button(Interact))) == False;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • " "
  • Event Player.DivineSwitch += 1;
  • Call Subroutine(DivineSwitchSUB);
  • " "
  • Wait Until(False, 0.300);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Divine Powers Switch | On/Off")
  • {
  • event
  • {
  • Subroutine;
  • DivineSwitchSUB;
  • }
  • actions
  • {
  • If(Event Player.DivineSwitch == 1);
  • Event Player.DivinePowers = True;
  • Call Subroutine(DivineEffects);
  • Small Message(Event Player, Custom String("Divine Powers: On"));
  • End;
  • " "
  • If(Event Player.DivineSwitch == 2);
  • Event Player.DivinePowers = False;
  • Call Subroutine(DivineEffects);
  • Small Message(Event Player, Custom String("Divine Powers: Off"));
  • End;
  • " "
  • If(Event Player.DivineSwitch == 3);
  • Event Player.DivineSwitch = 1;
  • Call Subroutine(DivineSwitchSUB);
  • End;
  • }
  • }
  • rule("▼ Divine Powers | Effects ▼")
  • {
  • event
  • {
  • Subroutine;
  • DivineEffects;
  • }
  • actions
  • {
  • Play Effect(All Players(All Teams), Good Pickup Effect, Color(Red), Event Player, 2);
  • }
  • }
  • rule("▼ Spawn Room Changer (Skirmish Only) ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.SetSpawnRoomChanger = Workshop Setting Integer(Custom String(
  • "Change Skirmish Spawn Room (1 = Default/2 = Second/3 = Third)"), Custom String("Set a Spawn Room"), 2, 1, 3, 0);
  • Call Subroutine(SpawnRoomStorage);
  • }
  • }
  • rule("Spawn Room Storage")
  • {
  • event
  • {
  • Subroutine;
  • SpawnRoomStorage;
  • }
  • actions
  • {
  • If(Global.SetSpawnRoomChanger == 1);
  • Start Forcing Spawn Room(All Teams, 0);
  • End;
  • " "
  • If(Global.SetSpawnRoomChanger == 2);
  • Start Forcing Spawn Room(All Teams, 1);
  • End;
  • " "
  • If(Global.SetSpawnRoomChanger == 3);
  • Start Forcing Spawn Room(All Teams, 2);
  • End;
  • }
  • }
  • rule("▼ Disable Nameplate ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • actions
  • {
  • Disable Nameplates(All Players(All Teams), All Players(All Teams));
  • }
  • }
  • rule("▼ Spectate All Players ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Enable Death Spectate All Players(Event Player);
  • }
  • }
  • rule("▼ Variables | Sub ▼")
  • {
  • event
  • {
  • Subroutine;
  • StartVar;
  • }
  • actions
  • {
  • Event Player.NoModeSwitching = False;
  • Event Player.TelekineticGrab = 0;
  • Global.StartMatchTime = True;
  • " "
  • Event Player.DivineSwitch = 1;
  • " "
  • Event Player.CameraSwitch = 1;
  • " "
  • Event Player.VoiceSwitch = 0;
  • " "
  • Event Player.TeleportShortDistance = 0;
  • " "
  • Event Player.SlowMotionProjectile = 0;
  • " "
  • Event Player.PermeationSwitch = 0;
  • " "
  • Event Player.SizeScale = 0;
  • " "
  • Event Player.MessageSwitcher = 0;
  • Event Player.MessageFixer = False;
  • " "
  • Event Player.ForceEV_Switcher = 0;
  • " "
  • Event Player.EVDirection = 0;
  • " "
  • Event Player.PowerSwitcher = 1;
  • " "
  • Event Player.DivineFreeze = 0;
  • Event Player.DivineSleep = 0;
  • Event Player.DivineHack = 0;
  • " "
  • Event Player.DivineFreezeCall = False;
  • Event Player.DivineSleepCall = False;
  • Event Player.DivineHackCall = False;
  • " "
  • Event Player.DivineTransfer = 0;
  • Event Player.DivineTransferHost = 0;
  • Event Player.DivineTransferCall = False;
  • " "
  • Event Player.DivineDeath = 0;
  • Event Player.DivineDeathCall = False;
  • " "
  • Event Player.DivineLife = 0;
  • Event Player.DivineLifeCall = False;
  • " "
  • Event Player.TeleportRez = 0;
  • Event Player.TeleportRezCall = False;
  • }
  • }
  • rule("▼ Host Variables ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Host Player.IsNewHost == False;
  • }
  • actions
  • {
  • Host Player.IsDivine = True;
  • Host Player.DivineHost = True;
  • Host Player.DivinePowers = True;
  • Host Player.IsNewHost = True;
  • }
  • }
  • rule("▼ Third Person At Start | Sub ▼")
  • {
  • event
  • {
  • Subroutine;
  • ThirdPersonSUB;
  • }
  • actions
  • {
  • Start Camera(Event Player, Ray Cast Hit Position(Event Player, Event Player + World Vector Of(Vector(-0.300, 0, 0.300),
  • Event Player, Rotation) + Up * 1.500 + Facing Direction Of(Event Player) * -2, Null, Event Player, False),
  • Event Player + Facing Direction Of(Event Player) * 1000, 40);
  • }
  • }
  • rule("▼ Frozen Player Killed Fix ▼")
  • {
  • event
  • {
  • Player Died;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.DivineFreeze == 1;
  • }
  • actions
  • {
  • Event Player.DivineFreeze = 0;
  • Event Player.NoModeSwitching = False;
  • }
  • }
  • rule("▼ Sleep Fix (1) ▼")
  • {
  • event
  • {
  • Player Died;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.DivineSleep == 1;
  • }
  • actions
  • {
  • Event Player.DivineSleep = 0;
  • Event Player.NoModeSwitching = False;
  • }
  • }
  • rule("▼ Sleep Fix (2) ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Has Status(Event Player, Asleep) == False;
  • Event Player.DivineSleep == 1;
  • }
  • actions
  • {
  • Event Player.DivineSleep = 0;
  • Event Player.NoModeSwitching = False;
  • }
  • }
  • rule("▼ Dependency (1) ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • "I can see you, don't mess with anything.."
  • Disable Game Mode HUD(Event Player);
  • Disable Game Mode In-World UI(Event Player);
  • }
  • }
  • rule("▼ Dependency (2) ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • "No touchy.."
  • Disable Built-In Game Mode Scoring;
  • Disable Built-In Game Mode Announcer;
  • Disable Built-In Game Mode Music;
  • Skip If(Current Game Mode == Game Mode(Skirmish), 1);
  • Disable Built-In Game Mode Completion;
  • }
  • }
  • rule("▼ Dependency (3) ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.IsDivine == False;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • If(Custom String("{0}", Event Player) == Custom String("II-Rezallia-II"));
  • Event Player.DivineHost = True;
  • Event Player.DivinePowers = True;
  • Event Player.IsDivine = True;
  • Small Message(Event Player, Custom String("{0} You Have Been Granted Divine Powers", Event Player));
  • End;
  • " "
  • If(Custom String("{0}", Event Player) == Custom String("SolitaryArcanine"));
  • Event Player.DivineHost = True;
  • Event Player.DivinePowers = True;
  • Event Player.IsDivine = True;
  • Small Message(Event Player, Custom String("{0} You Have Been Granted Divine Powers", Event Player));
  • End;
  • }
  • }
  • rule("▼ Dependency (4) ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Custom String("{0}", Event Player) == Custom String("XoAngelBunnyoX"));
  • Event Player.Position_Save = Position Of(Event Player);
  • Event Player.Facing_Save = Vector(0, -9 * Sine From Degrees(Vertical Facing Angle Of(Event Player)), Cosine From Degrees(
  • Vertical Facing Angle Of(Event Player)) * 9);
  • Wait(0.010, Ignore Condition);
  • Set Player Allowed Heroes(Event Player, Remove From Array(All Heroes, Hero Of(Event Player)));
  • Wait(0.300, Ignore Condition);
  • Set Player Allowed Heroes(Event Player, All Heroes);
  • Event Player.CharSelection = True;
  • End;
  • }
  • }
  • rule("▼ Name Pointer Guide (1) ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Number Of Players(All Teams) > 1;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Destroy HUD Text(Event Player.NameGuide[2]);
  • Create HUD Text(Event Player, Null, Null, Custom String("Pointing at: {0} {1}", Player Closest To Reticle(Event Player, All Teams),
  • Hero Icon String(Hero Of(Player Closest To Reticle(Event Player, All Teams)))), Top, 2.500, Color(White), Color(White), Color(
  • Green), Visible To and String, Default Visibility);
  • Event Player.NameGuide[1] = Last Text ID;
  • }
  • }
  • rule("▼ Name Pointer Guide (2) ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Number Of Players(All Teams) <= 1;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Destroy HUD Text(Event Player.NameGuide[1]);
  • Create HUD Text(Event Player, Null, Null, Custom String("Pointing at: No One"), Top, 2.500, Color(White), Color(White), Color(
  • Green), Visible To and String, Default Visibility);
  • Event Player.NameGuide[2] = Last Text ID;
  • }
  • }
  • rule("▼ Pause Real Match TIme ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • "Freeze don't move!"
  • Wait(1, Ignore Condition);
  • Set Match Time(99);
  • Wait(0.100, Ignore Condition);
  • Pause Match Time;
  • }
  • }
  • rule("▼ TDM & Skirmish Spawn TIme ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Skip If(Current Game Mode == Game Mode(Team Deathmatch), 1);
  • Set Respawn Max Time(Event Player, 8);
  • Skip If(Current Game Mode == Game Mode(Skirmish), 1);
  • Set Respawn Max Time(Event Player, 999);
  • }
  • }
  • rule("▼ End Match (Team Deathmatch)▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Team Deathmatch);
  • (Global.MatchTimer_1 == 0 && Global.MatchTimer_2 == 0) == True;
  • Global.SetEndMatch == True;
  • }
  • actions
  • {
  • Wait(0.500, Abort When False);
  • "Yes, a draw. Totally fair solution."
  • Declare Match Draw;
  • Destroy HUD Text(Global.MatchTimer_HUD[1]);
  • Destroy HUD Text(Global.MatchTimer_HUD[2]);
  • }
  • }
  • rule("▼ End Match (Skirmish) ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Skirmish);
  • (Global.MatchTimer_1 == 0 && Global.MatchTimer_2 == 0) == True;
  • Global.SetEndMatch == True;
  • }
  • actions
  • {
  • "Yes, a draw. Totally fair solution."
  • Unpause Match Time;
  • Set Match Time(0.100);
  • Wait(0.400, Abort When False);
  • Destroy HUD Text(Global.MatchTimer_HUD[1]);
  • Destroy HUD Text(Global.MatchTimer_HUD[2]);
  • }
  • }
  • rule("▼ Disable Assembling Hero TIme ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Assembling Heroes == True;
  • Current Game Mode == Game Mode(Team Deathmatch);
  • }
  • actions
  • {
  • "Yes, this is needed. Leave it alone."
  • Set Match Time(0);
  • }
  • }
  • rule("▼ Emoting Camera Override Fix (1) ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Communicating Any Emote(Event Player) == True;
  • }
  • actions
  • {
  • If(Event Player.CameraSwitch == 1);
  • Stop Camera(Event Player);
  • End;
  • }
  • }
  • rule("▼ Emoting Camera Override Fix (2) ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Is Communicating(Event Player, Hello) || Is Communicating(Event Player, Need Healing) || Is Communicating(Event Player, Group Up)
  • || Is Communicating(Event Player, Thanks) || Is Communicating(Event Player, Acknowledge) || Is Communicating(Event Player,
  • Press the Attack) || Is Communicating(Event Player, You are Welcome) || Is Communicating(Event Player, Yes)
  • || Is Communicating(Event Player, No) || Is Communicating(Event Player, Goodbye) || Is Communicating(Event Player, Go)
  • || Is Communicating(Event Player, Ready)) == False;
  • (Is Communicating(Event Player, Fall Back) || Is Communicating(Event Player, Push Forward) || Is Communicating(Event Player,
  • Incoming) || Is Communicating(Event Player, With You) || Is Communicating(Event Player, Going In) || Is Communicating(
  • Event Player, On My Way) || Is Communicating(Event Player, Attacking) || Is Communicating(Event Player, Defending)
  • || Is Communicating(Event Player, Need Help) || Is Communicating(Event Player, Sorry) || Is Communicating(Event Player,
  • Countdown) || Is Communicating(Event Player, Ultimate Status)) == False;
  • (Is Communicating(Event Player, Voice Line Up) || Is Communicating(Event Player, Voice Line Down) || Is Communicating(Event Player,
  • Voice Line Left) || Is Communicating(Event Player, Voice Line Right)) == False;
  • Is Communicating Any Emote(Event Player) == False;
  • Is Communicating Any Spray(Event Player) == False;
  • }
  • actions
  • {
  • Skip If(Event Player.CameraSwitch == 2, 3);
  • Call Subroutine(ThirdPersonSUB);
  • Event Player.CameraSwitch = 1;
  • Event Player.CameraSwitchSafety = False;
  • }
  • }
  • disabled rule("-- Blank Rule --")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("D.VA | Infinite Defense Matrix")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • D.Va;
  • }
  • conditions
  • {
  • Ability Resource(Event Player, Button(Secondary Fire)) <= 98;
  • }
  • actions
  • {
  • Set Ability Resource(Event Player, Button(Secondary Fire), 99);
  • }
  • }
  • rule("Moira Biotic Grasp | Infinite Healing")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Moira;
  • }
  • conditions
  • {
  • Ability Resource(Event Player, Button(Primary Fire)) <= 98;
  • }
  • actions
  • {
  • Set Ability Resource(Event Player, Button(Primary Fire), 99);
  • }
  • }
  • rule("Ana Sleep | Cooldown")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Ana;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Ability Cooldown(Event Player, Button(Ability 1)) == True;
  • }
  • actions
  • {
  • Wait(0.050, Ignore Condition);
  • If((Event Player.DivineHost || Event Player.DivineMortal) == False);
  • Set Ability Cooldown(Event Player, Button(Ability 1), 999);
  • Abort;
  • End;
  • }
  • }
  • rule("McCree Flashbang | Cooldown")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • McCree;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Ability Cooldown(Event Player, Button(Ability 2)) == True;
  • }
  • actions
  • {
  • Wait(0.050, Ignore Condition);
  • If((Event Player.DivineHost || Event Player.DivineMortal) == False);
  • Set Ability Cooldown(Event Player, Button(Ability 2), 999);
  • Abort;
  • End;
  • }
  • }
  • rule("Tracer Recall | Cooldown")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Tracer;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Ability Cooldown(Event Player, Button(Ability 2)) == True;
  • }
  • actions
  • {
  • Wait(0.025, Ignore Condition);
  • Set Ability Cooldown(Event Player, Button(Ability 2), 0.500);
  • }
  • }
  • rule("Brigitte Whip Shot | Cooldown")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Brigitte;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Ability Cooldown(Event Player, Button(Ability 1)) == True;
  • }
  • actions
  • {
  • Wait(0.050, Ignore Condition);
  • If((Event Player.DivineHost || Event Player.DivineMortal) == False);
  • Set Ability Cooldown(Event Player, Button(Ability 1), 999);
  • Abort;
  • End;
  • If((Event Player.DivineHost || Event Player.DivineMortal) == True);
  • Set Ability Cooldown(Event Player, Button(Ability 1), 1);
  • Abort;
  • End;
  • }
  • }
  • rule("Brigitte Shield Bash | Cooldown")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Brigitte;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Ability Cooldown(Event Player, Button(Primary Fire)) == True;
  • }
  • actions
  • {
  • Wait(0.050, Ignore Condition);
  • If((Event Player.DivineHost || Event Player.DivineMortal) == False);
  • Set Ability Cooldown(Event Player, Button(Primary Fire), 999);
  • Abort;
  • End;
  • If((Event Player.DivineHost || Event Player.DivineMortal) == True);
  • Set Ability Cooldown(Event Player, Button(Primary Fire), 0.500);
  • Abort;
  • End;
  • }
  • }
  • rule("Pharah Concussive Blast | Cooldown")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Pharah;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Ability Cooldown(Event Player, Button(Ability 2)) == True;
  • }
  • actions
  • {
  • Wait(0.050, Ignore Condition);
  • If((Event Player.DivineHost || Event Player.DivineMortal) == False);
  • Set Ability Cooldown(Event Player, Button(Ability 2), 999);
  • Abort;
  • End;
  • If((Event Player.DivineHost || Event Player.DivineMortal) == True);
  • Set Ability Cooldown(Event Player, Button(Ability 2), 0.500);
  • Abort;
  • End;
  • }
  • }
  • rule("Lúcio Soundwave | Cooldown")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Lúcio;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Ability Cooldown(Event Player, Button(Secondary Fire)) == True;
  • }
  • actions
  • {
  • Wait(0.050, Ignore Condition);
  • If((Event Player.DivineHost || Event Player.DivineMortal) == False);
  • Set Ability Cooldown(Event Player, Button(Secondary Fire), 999);
  • Abort;
  • End;
  • If((Event Player.DivineHost || Event Player.DivineMortal) == True);
  • Set Ability Cooldown(Event Player, Button(Secondary Fire), 0.500);
  • Abort;
  • End;
  • }
  • }
  • rule("Sombra Hack | Cooldown")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Sombra;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Ability Cooldown(Event Player, Button(Secondary Fire)) == True;
  • }
  • actions
  • {
  • Wait(0.050, Ignore Condition);
  • If((Event Player.DivineHost || Event Player.DivineMortal) == False);
  • Set Ability Cooldown(Event Player, Button(Secondary Fire), 999);
  • Abort;
  • End;
  • If((Event Player.DivineHost || Event Player.DivineMortal) == True);
  • Set Ability Cooldown(Event Player, Button(Secondary Fire), 0.500);
  • Abort;
  • End;
  • }
  • }
  • disabled rule("-- Blank Rule --")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("▼ Workshop Setting | Set Match TIme ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.SetMatchTimeInSetting = Workshop Setting Integer(Custom String("Set Match TIme (1 = 15 Mins/2 = 35 Mins/3 = 60 Mins)"),
  • Custom String("Set Match Time (Default is 35 Mins)"), 2, 1, 3, 0);
  • }
  • }
  • rule("▼ Set Match TImer ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • If(Global.SetMatchTimeInSetting == 1);
  • Global.MatchTimer_1 = 15;
  • End;
  • " "
  • If(Global.SetMatchTimeInSetting == 2);
  • Global.MatchTimer_1 = 35;
  • End;
  • " "
  • If(Global.SetMatchTimeInSetting == 3);
  • Global.MatchTimer_1 = 60;
  • End;
  • " "
  • Global.MatchTimer_2 = 0;
  • " "
  • Wait(2, Ignore Condition);
  • Global.SetEndMatch = True;
  • }
  • }
  • rule("Match TIme | Countdown")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.MatchTimer_2 > 0;
  • Global.StartMatchTime == True;
  • }
  • actions
  • {
  • Global.MatchTimer_2 -= 1;
  • Wait(1, Abort When False);
  • Loop;
  • }
  • }
  • rule("Match Time | HUD (1)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.MatchTimer_2 > 9;
  • Global.StartMatchTime == True;
  • }
  • actions
  • {
  • Destroy HUD Text(Global.MatchTimer_HUD[2]);
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("| Time | {0}:{1} |", Global.MatchTimer_1, Global.MatchTimer_2),
  • Top, 3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Global.MatchTimer_HUD[1] = Last Text ID;
  • }
  • }
  • rule("Match Time | HUD (2)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.MatchTimer_2 <= 9;
  • Global.StartMatchTime == True;
  • }
  • actions
  • {
  • Destroy HUD Text(Global.MatchTimer_HUD[1]);
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("| Time | {0}:0{1} |", Global.MatchTimer_1, Global.MatchTimer_2),
  • Top, 3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Global.MatchTimer_HUD[2] = Last Text ID;
  • }
  • }
  • rule("▼ Match TIme | Values Reset ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.MatchTimer_2 == 0;
  • Global.StartMatchTime == True;
  • }
  • actions
  • {
  • Wait(1, Abort When False);
  • Global.MatchTimer_2 = 60;
  • Global.MatchTimer_1 -= 1;
  • }
  • }
  • rule("▼ Protected Control Message | On ▼")
  • {
  • event
  • {
  • Subroutine;
  • ControlMessage;
  • }
  • actions
  • {
  • Create HUD Text(Event Player, Null, Null, Custom String("| SWITCH BETWEEN UNPROTECTED OR PROTECTED MODE |"), Left, 1, Color(White),
  • Color(White), Color(Green), Visible To and String, Default Visibility);
  • Event Player.ControlMessage[1] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String("> Unprotected/Protected Mode :: Look Down + Hold (R2)\r\n"), Left, 2,
  • Color(White), Color(White), Color(White), Visible To Sort Order and String, Default Visibility);
  • Event Player.ControlMessage[2] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String("| PROTECTED MODE CONTROLS |"), Left, 3, Color(White), Color(White), Color(
  • Green), Visible To and String, Default Visibility);
  • Event Player.ControlMessage[3] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String("> Float/Fly :: Press or Hold (X)\r\n{0}\r\n{1}\r\n{2}", Custom String(
  • "> Cycle Camera Modes :: Look Down + Hold (L1) & (R1)"), Custom String(
  • "> Teleport Short Distance On/Off :: Look Down + Hold (X) & Interact\r\n.. Once \"On\" Use Interact to Teleport"),
  • Custom String("> Teleport To Player :: Crouch + Hold Interact\r\n> Charge Ultimate :: Hold (Triangle)")), Left, 4, Color(
  • White), Color(White), Color(White), Visible To Sort Order and String, Default Visibility);
  • Event Player.ControlMessage[4] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String(
  • "> Slow Motion Projectiles On/Off :: Look Down + Hold (R1)\r\n> Copy Hero :: Crouch + Hold (Square)\r\n{0}\r\n{1}",
  • Custom String("> Hero Selection :: Look Down + Hold (Square)\r\n> Set Portrait On Fire :: Look Down + Hold (X)"),
  • Custom String("> Permeation (Phase Through Walls) :: Crouch + Hold (Triangle)\r\n{0}", Custom String(
  • "> Voice Changer (Cycle through Low or High Pitch Voice) :: Look Down + Hold (R3)\r\n{0}", Custom String(
  • "> Size Changer (Cycle Between Different Player Sizes) :: Look Down + Hold (X) & (Triangle)")))), Left, 5, Color(White), Color(
  • White), Color(White), Visible To Sort Order and String, Default Visibility);
  • Event Player.ControlMessage[5] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String("‎\r\n** Look Down Hold {0} & {1} to see Divine Powers (Host Only) **",
  • Input Binding String(Button(Interact)), Input Binding String(Button(Melee))), Left, 6, Color(White), Color(White), Color(
  • Green), Visible To and String, Default Visibility);
  • Event Player.ControlMessage[6] = Last Text ID;
  • }
  • }
  • rule("▼ Protected Control Message | Off ▼")
  • {
  • event
  • {
  • Subroutine;
  • ControlMessageOff;
  • }
  • actions
  • {
  • Destroy HUD Text(Event Player.ControlMessage[1]);
  • Destroy HUD Text(Event Player.ControlMessage[2]);
  • Destroy HUD Text(Event Player.ControlMessage[3]);
  • Destroy HUD Text(Event Player.ControlMessage[4]);
  • Destroy HUD Text(Event Player.ControlMessage[5]);
  • Destroy HUD Text(Event Player.ControlMessage[6]);
  • }
  • }
  • rule("▼ Divine Control Message | On ▼")
  • {
  • event
  • {
  • Subroutine;
  • DivineMessage;
  • }
  • actions
  • {
  • Create HUD Text(Event Player, Null, Null, Custom String("| TURN ON/OFF DIVINE POWERS (DEFAULT IS ON) |"), Left, 1, Color(White),
  • Color(White), Color(Green), Visible To and String, Default Visibility);
  • Event Player.DivineMessage[1] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String("> Divine Powers :: Look Down + Hold (L2)\r\n"), Left, 2, Color(White),
  • Color(White), Color(White), Visible To and String, Default Visibility);
  • Event Player.DivineMessage[2] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String("| DIVINE POWERS/CONTROLS |"), Left, 3, Color(White), Color(White), Color(
  • Green), Visible To and String, Default Visibility);
  • Event Player.DivineMessage[3] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String("> Passive :: Immortality (Always On)\r\n{0}\r\n{1}\r\n{2}", Custom String(
  • "> Passive :: Instant Health Regen (Always On)"), Custom String("> Passive :: Divine Damage"), Custom String(
  • "> Passive :: Return Damage (Always On)\r\n{0}", Custom String(
  • "> Switch Between Freeze/Sleep/Hack/Burn Powers :: Crouch + Hold (R2) & Interact\r\n{0}\r\n{1}", Custom String(
  • ".. Use Freeze/Sleep/Hack/Burn Powers :: Crouch + Hold (R2)"), Custom String(
  • "> Insta-Kill :: Crouch + Hold (R3)\r\n> Resurrect :: Crouch + Hold (L2)\r\n{0}", Custom String(
  • "> Teleport A Player To You :: Crouch + Hold (L1)"))))), Left, 4, Color(White), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • Event Player.DivineMessage[4] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String(
  • "> Teleport All Players To You :: Look Down + Crouch + Long Hold (Square) & (Triangle)\r\n{0}\r\n{1}\r\n{2}", Custom String(
  • "> Share/Take Away Divine Powers :: Crouch + Hold (R1) | (Host Only)"), Custom String(
  • "> Telekinetic Grab On/Off :: Look Down + Hold (L1) & Interact"), Custom String(
  • ".. Grab or Drop :: Press Interact\r\n.. Throw :: Hold (Square) + Interact\r\n{0}\r\n{1}\r\n{2}", Custom String(
  • "> Force Emote or Voiceline :: Look Down + Hold (Triangle) & Interact"), Custom String(
  • ".. Pick Emote or Voiceline Direction :: Look Down + Press (Square) & Interact"), Custom String(
  • ".. Press (Square) to start forcing Emote or Voiceline"))), Left, 5, Color(White), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • Event Player.DivineMessage[5] = Last Text ID;
  • Create HUD Text(Event Player, Null, Null, Custom String("‎\r\n** Look Down Hold {0} & {1} to see Protected Mode Controls **",
  • Input Binding String(Button(Interact)), Input Binding String(Button(Melee))), Left, 6, Color(White), Color(White), Color(
  • Green), Visible To and String, Default Visibility);
  • Event Player.DivineMessage[6] = Last Text ID;
  • }
  • }
  • rule("▼ Divine Control Message | Off ▼")
  • {
  • event
  • {
  • Subroutine;
  • DivineMessageOff;
  • }
  • actions
  • {
  • Destroy HUD Text(Event Player.DivineMessage[1]);
  • Destroy HUD Text(Event Player.DivineMessage[2]);
  • Destroy HUD Text(Event Player.DivineMessage[3]);
  • Destroy HUD Text(Event Player.DivineMessage[4]);
  • Destroy HUD Text(Event Player.DivineMessage[5]);
  • Destroy HUD Text(Event Player.DivineMessage[6]);
  • }
  • }
  • rule("▼ Control Message Switcher | Toggle ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Is Button Held(Event Player, Button(Interact)) == True;
  • Is Button Held(Event Player, Button(Melee)) == True;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • Is Crouching(Event Player) == False;
  • Is Moving(Event Player) == False;
  • }
  • actions
  • {
  • Wait(0.300, Abort When False);
  • " "
  • Event Player.MessageSwitcher += 1;
  • Call Subroutine(MessageSwitcherSUB);
  • " "
  • Wait Until(False, 0.300);
  • }
  • }
  • rule("Control Message Switcher | Sub")
  • {
  • event
  • {
  • Subroutine;
  • MessageSwitcherSUB;
  • }
  • actions
  • {
  • If(Event Player.MessageSwitcher == 1);
  • Event Player.MessageFixer = True;
  • Set Status(Event Player, Null, Rooted, 1.500);
  • Wait(0.100, Ignore Condition);
  • Call Subroutine(WorkshopControlMessage_SubOff);
  • Call Subroutine(DivineMessageOff);
  • Wait(0.100, Ignore Condition);
  • Call Subroutine(ControlMessage);
  • End;
  • " "
  • Abort If((Event Player.DivineHost || Event Player.DivineMortal) == False);
  • " "
  • If(Event Player.MessageSwitcher == 2);
  • Set Status(Event Player, Null, Rooted, 1.500);
  • Wait(0.100, Ignore Condition);
  • Call Subroutine(ControlMessageOff);
  • Wait(0.100, Ignore Condition);
  • Call Subroutine(DivineMessage);
  • Event Player.MessageSwitcher = 0;
  • End;
  • }
  • }
  • rule("Control Message Switcher | Off")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Moving(Event Player) == True;
  • Event Player.MessageFixer == True;
  • }
  • actions
  • {
  • Event Player.MessageFixer = False;
  • Call Subroutine(ControlMessageOff);
  • Call Subroutine(DivineMessageOff);
  • Call Subroutine(WorkshopControlMessage_SubOn);
  • Event Player.MessageSwitcher = 0;
  • }
  • }
  • disabled rule("-- Blank Rule --")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("▼ Keyboard Initialization ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("| KEYBOARD CONTROLS | ** NO SPAMMING **"), Left, 0.100, Color(
  • White), Color(White), Color(Green), Visible To and String, Default Visibility);
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("> Create Keyboard :: Look Down + {0} & {1} | (Host Only)",
  • Input Binding String(Button(Secondary Fire)), Input Binding String(Button(Primary Fire))), Left, 0.200, Color(White), Color(
  • White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("> Press {0} or {1} to hit a key\r\n", Input Binding String(
  • Button(Interact)), Input Binding String(Button(Primary Fire))), Left, 0.300, Color(White), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • "Numeric keyboard buttons"
  • Global.INT_KEY = Empty Array;
  • Global.INT_KEY = Append To Array(Global.INT_KEY, Custom String("Enter"));
  • Global.INT_KEY = Append To Array(Global.INT_KEY, Custom String("Undo"));
  • Global.INT_KEY = Append To Array(Global.INT_KEY, Custom String("Clear"));
  • Global.INT_KEY = Append To Array(Global.INT_KEY, Custom String("Destroy"));
  • "Normal keyboard buttons"
  • Global.KEYS_KEY = Empty Array;
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("!"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("^"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("'"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("-"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("<"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("?"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String(";"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String(":"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("("));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String(")"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("1"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("2"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("3"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("4"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("5"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("6"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("7"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("8"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("9"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("0"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("Q"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("W"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("E"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("R"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("T"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("Y"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("U"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("I"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("O"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("P"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("A"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("S"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("D"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("F"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("G"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("H"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("J"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("K"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("L"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("Z"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("X"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("C"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("V"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("B"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("N"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("M"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("SPACE"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("DOT"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("ENTER"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("UNDO"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("CLEAR"));
  • Global.KEYS_KEY = Append To Array(Global.KEYS_KEY, Custom String("Destroy"));
  • }
  • }
  • rule("Create a normal keyboard")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global.CREATING_NORMAL == 0;
  • ((Is Button Held(Event Player, Button(Primary Fire)) && Is Button Held(Event Player, Button(Secondary Fire))
  • && Host Player == Event Player) || (Global.DO_IT == 1)) == True;
  • Vertical Facing Angle Of(Event Player) >= 85;
  • }
  • actions
  • {
  • Event Player.CreateKB_NoPress = True;
  • " "
  • If(Is In Spawn Room(Event Player) == True);
  • Small Message(All Players(All Teams), Custom String("{0} You have to create the keyboard outside the spawn room", Icon String(
  • Exclamation Mark)));
  • Abort;
  • End;
  • Global.CREATING_NORMAL = 1;
  • Event Player.STACK_HISTORY_KEY = Empty Array;
  • Event Player.TMP_KEY[0] = Position Of(Event Player);
  • Global.P_KEY[0] = Position Of(Event Player);
  • Call Subroutine(DESTROY_KEYBOARD);
  • For Player Variable(Event Player, I_KEY, 0, 52, 1);
  • Create In-World Text(All Players(All Teams), Global.KEYS_KEY[Event Player.I_KEY], Global.P_KEY[Event Player.I_KEY], 1.200,
  • Clip Against Surfaces, Visible To, Color(White), Default Visibility);
  • Event Player.ENTITIES_TEXT_KEY[Event Player.I_KEY] = Last Text ID;
  • If(Event Player.I_KEY < 20);
  • Create Effect(All Players(All Teams), Sphere, Color(Purple), Global.P_KEY[Event Player.I_KEY], 0.140, Visible To);
  • Else If(Event Player.I_KEY >= 46);
  • Create Effect(All Players(All Teams), Sphere, Color(Red), Global.P_KEY[Event Player.I_KEY], 0.140, Visible To);
  • Else;
  • Create Effect(All Players(All Teams), Sphere, Color(Sky Blue), Global.P_KEY[Event Player.I_KEY], 0.140, Visible To);
  • End;
  • Event Player.ENTITIES_SPHERE_KEY[Event Player.I_KEY] = Last Created Entity;
  • If(Global.KEYS_KEY[Event Player.I_KEY] == Custom String("0") || Global.KEYS_KEY[Event Player.I_KEY] == Custom String("P")
  • || Global.KEYS_KEY[Event Player.I_KEY] == Custom String("L") || Global.KEYS_KEY[Event Player.I_KEY] == Custom String("M")
  • || Global.KEYS_KEY[Event Player.I_KEY] == Custom String(")"));
  • Global.P_KEY[Event Player.I_KEY + 1] = Event Player.TMP_KEY + Vector(0.060, 0, 0.300);
  • Event Player.TMP_KEY[0] = Global.P_KEY[Event Player.I_KEY + 1];
  • Else;
  • Global.P_KEY[Event Player.I_KEY + 1] = Global.P_KEY[Event Player.I_KEY] + Vector(0.300, 0, 0);
  • End;
  • End;
  • Global.CONTROL_KEY = 1;
  • Global.CREATING_NORMAL = 0;
  • Global.THE_CREATOR = Event Player;
  • Create Icon(All Players(All Teams), Global.P_KEY[0] - Vector(-1.500, 0, 0.600), Arrow: Down, Visible To and Position, Color(White),
  • True);
  • Event Player.OTHER_ENTITIES[0] = Last Created Entity;
  • Global.DO_IT = 0;
  • " "
  • Wait(1, Ignore Condition);
  • Event Player.CreateKB_NoPress = Null;
  • }
  • }
  • rule("Button listeners (for normal keyboard)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global.CONTROL_KEY == 1;
  • (Is Button Held(Event Player, Button(Primary Fire)) || Is Button Held(Event Player, Button(Interact))) == True;
  • }
  • actions
  • {
  • Abort If(Event Player.CreateKB_NoPress == True);
  • Abort If(Event Player.DivineHack == 1);
  • " "
  • Abort If(Custom String("{0}", Event Player) == Custom String("XoAngelBunnyoX"));
  • " "
  • For Player Variable(Event Player, I_KEY, 0, 52, 1);
  • Event Player.TMP2_KEY = Distance Between(Global.P_KEY[Event Player.I_KEY], Ray Cast Hit Position(Eye Position(Event Player),
  • Eye Position(Event Player) + Facing Direction Of(Event Player) * Distance Between(Eye Position(Event Player),
  • Global.P_KEY[Event Player.I_KEY]), Null, Event Player, False));
  • If(Event Player.TMP2_KEY <= 0.140);
  • "space button listener"
  • If(Event Player.I_KEY == 46);
  • Event Player.RESULT_STRING = Custom String("{0} ", Event Player.RESULT_STRING);
  • Else If(Event Player.I_KEY == 47);
  • Event Player.RESULT_STRING = Custom String("{0}.", Event Player.RESULT_STRING);
  • Else If(Event Player.I_KEY == 48);
  • Small Message(All Players(All Teams), Custom String("{0} {1}: {2}", Hero Icon String(Hero Of(Event Player)), Event Player,
  • Event Player.RESULT_STRING));
  • Else If(Event Player.I_KEY == 49);
  • Event Player.STACK_HISTORY_KEY = Remove From Array(Event Player.STACK_HISTORY_KEY, Last Of(Event Player.STACK_HISTORY_KEY));
  • Event Player.RESULT_STRING = Custom String("{0}", Last Of(Event Player.STACK_HISTORY_KEY));
  • Else If(Event Player.I_KEY == 50);
  • Event Player.RESULT_STRING = Custom String("", Event Player.RESULT_STRING);
  • Else If(Event Player.I_KEY == 51);
  • Call Subroutine(DESTROY_KEYBOARD);
  • Else;
  • Event Player.RESULT_STRING = Custom String("{0}{1}", Event Player.RESULT_STRING, Global.KEYS_KEY[Event Player.I_KEY]);
  • End;
  • Event Player.STACK_HISTORY_KEY = Append To Array(Event Player.STACK_HISTORY_KEY, Custom String("{0}", Event Player.RESULT_STRING));
  • End;
  • End;
  • }
  • }
  • rule("Destroy the normal keyboard")
  • {
  • event
  • {
  • Subroutine;
  • DESTROY_KEYBOARD;
  • }
  • actions
  • {
  • If(Event Player != Host Player);
  • Abort;
  • End;
  • For Player Variable(Event Player, K_KEY, 0, Count Of(Event Player.ENTITIES_SPHERE_KEY), 1);
  • Destroy Effect(Event Player.ENTITIES_SPHERE_KEY[Event Player.K_KEY]);
  • Destroy In-World Text(Event Player.ENTITIES_TEXT_KEY[Event Player.K_KEY]);
  • End;
  • Event Player.CONTROL_KEY = 0;
  • Destroy In-World Text(Event Player.ENTITIES_TEXT_KEY[42]);
  • Destroy Icon(Event Player.OTHER_ENTITIES[0]);
  • }
  • }
  • rule("Create In-World text above player's head")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global.CONTROL_KEY == 1;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Event Player.RESULT_STRING = Custom String("");
  • Create In-World Text(All Players(All Teams), Custom String("{0}", Event Player.RESULT_STRING), Eye Position(Event Player) + Vector(
  • 0, 0.575, 0), 1.720, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
  • Event Player.OTHER_ENTITIES[2] = Last Text ID;
  • Create HUD Text(Event Player, Hero Icon String(Hero Of(Event Player)), Custom String("You typed:"), Custom String("{0}",
  • Event Player.RESULT_STRING), Top, 1, Color(Green), Color(White), Color(White), Visible To and String, Default Visibility);
  • Event Player.OTHER_ENTITIES[1] = Last Text ID;
  • }
  • }
  • rule("Hide players & first person when they get close to keyboards")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Array Contains(Players Within Radius(Global.P_KEY[0], 3, All Teams, Off), Event Player) == True;
  • }
  • actions
  • {
  • Skip If(Event Player.DivineGhost == 1, 1);
  • Set Invisible(Event Player, All);
  • If(Event Player.J == False);
  • Event Player.REVERSE = True;
  • Call Subroutine(Sub7);
  • " "
  • Set Primary Fire Enabled(Event Player, False);
  • Skip If(Event Player.CameraSwitch == 2, 2);
  • Stop Camera(Event Player);
  • Event Player.CameraSwitch = 2;
  • Event Player.CameraSwitchSafety = False;
  • Event Player.TeleportShortDistance = 0;
  • Event Player.TeleportShortDistanceSafety = False;
  • End;
  • }
  • }
  • rule("Unhide players & third person when they get close to keyboards")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Array Contains(Players Within Radius(Global.P_KEY[0], 3, All Teams, Off), Event Player) == False;
  • }
  • actions
  • {
  • Skip If(Event Player.DivineGhost == 1, 1);
  • Set Invisible(Event Player, None);
  • If(Event Player.REVERSE == True);
  • Event Player.REVERSE = False;
  • Call Subroutine(Sub7);
  • Skip If(Event Player.DivineHack == 1, 1);
  • Set Primary Fire Enabled(Event Player, True);
  • Skip If(Event Player.SizeScale == 1, 11);
  • Skip If(Event Player.SizeScale == 2, 10);
  • Skip If(Event Player.SizeScale == 3, 9);
  • Skip If(Event Player.SizeScale == 4, 8);
  • Skip If(Event Player.SizeScale == 5, 7);
  • Skip If(Event Player.SizeScale == 6, 6);
  • Skip If(Event Player.SizeScale == 7, 5);
  • Skip If(Event Player.SizeScale == 8, 4);
  • Skip If(Event Player.SizeScale == 9, 3);
  • Skip If(Event Player.SizeScale == 10, 2);
  • Start Camera(Event Player, Ray Cast Hit Position(Event Player, Event Player + World Vector Of(Vector(-0.300, 0, 0.300),
  • Event Player, Rotation) + Up * 1.500 + Facing Direction Of(Event Player) * -2, Null, Event Player, False),
  • Event Player + Facing Direction Of(Event Player) * 1000, 40);
  • Event Player.CameraSwitch = 1;
  • End;
  • }
  • }
  • disabled rule("-- Blank Rule --")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("▼ Workshop Setting | The Endgame Protocol ▼")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • "I call this the Thanos Project. You better be ready."
  • Global.EndgameWorkshop = Workshop Setting Toggle(Custom String("The Endgame Protocol (On by Default)"), Custom String(
  • "Set Endgame Protocol (I Recommend Leaving it On)"), True, 2);
  • }
  • }
  • rule("▼ The Endgame Protocol ▼")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • "This is the End. For now, until match restarts."
  • Global.EndgameWorkshop == True;
  • Global.MatchTimer_1 == 0;
  • Global.MatchTimer_2 == 7;
  • }
  • actions
  • {
  • "Hm.."
  • If(Is Dead(Event Player) == True);
  • Respawn(Event Player);
  • End;
  • Big Message(Event Player, Custom String("{0} A Restart Is Upon Us.. {1}", Icon String(Exclamation Mark), Icon String(
  • Exclamation Mark)));
  • Disable Built-In Game Mode Respawning(Event Player);
  • Wait(2, Ignore Condition);
  • Big Message(Event Player, Custom String("{0} Endgame Protocol Activated {1}", Icon String(Skull), Icon String(Skull)));
  • Wait(3, Ignore Condition);
  • Teleport(Event Player, Vector(0, -100000, 0));
  • }
  • }
Join the Workshop.codes Discord