Return to post
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));
}
}