Return to post
settings
{
main
{
Description: "Rock, Paper, Sigma. Use Primary Fire, Ability 1, or Ability 2 to queue up that ability. Melee an enemy to 1v1 them - both your abilities are unleashed after 3 seconds, the winner survives: Spheres beat Rock, Rock beats Grasp, Grasp beats Spheres. Designed for DM but works in any mode; try Elimination for a tourney or Control/CTF for madness. Mode by Puppetsquid. Code: D1VM2"
}
lobby
{
Match Voice Chat: Enabled
Return To Lobby: Never
}
modes
{
Deathmatch
{
enabled maps
{
Horizon Lunar Colony
Lijiang Control Center
Lijiang Garden
Lijiang Control Center Lunar New Year
Lijiang Garden Lunar New Year
Lijiang Night Market Lunar New Year
}
}
General
{
Game Mode Start: Immediately
Hero Limit: Off
}
}
heroes
{
General
{
Sigma
{
Accretion Cooldown Time: 0%
Experimental Barrier Cooldown Time: 0%
Kinetic Grasp Cooldown Time: 0%
Ultimate Generation - Combat Gravitic Flux: 0%
Ultimate Generation - Passive Gravitic Flux: 0%
Ultimate Generation Gravitic Flux: 10%
}
enabled heroes
{
Sigma
}
}
}
}
variables
{
player:
0: target
1: choice
2: damageMod
3: isAttacking
4: countdown
5: shrinksize
6: worldTexts
7: succd
8: dir
9: icons
11: preventspam
}
rule("Skip Assemble")
{
event
{
Ongoing - Global;
}
conditions
{
Is Assembling Heroes == True;
}
actions
{
Set Match Time(1);
}
}
rule("Force Sigma on Join")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Start Forcing Player To Be Hero(Event Player, Hero(Sigma));
}
}
rule("Sigma Setup")
{
event
{
Ongoing - Each Player;
All;
Sigma;
}
actions
{
Event Player.target = String("Hello");
disabled Set Secondary Fire Enabled(Event Player, False);
Set Ultimate Ability Enabled(Event Player, False);
Start Damage Modification(All Players(All Teams), Event Player, 0.001, Receivers Damagers and Damage Percent);
Event Player.damageMod = Last Damage Modification ID;
Set Max Health(Event Player, 1.250);
Set Melee Enabled(Event Player, False);
Event Player.choice = Button(Ability 2);
Disallow Button(Event Player, Button(Primary Fire));
Disallow Button(Event Player, Button(Ability 1));
Disallow Button(Event Player, Button(Ability 2));
Create In-World Text(Event Player, Ability Icon String(Hero(Sigma), Event Player.choice), Update Every Frame(Eye Position(
Event Player) + Direction From Angles(Horizontal Facing Angle Of(Event Player), Vertical Facing Angle Of(Event Player) + 10)),
2, Do Not Clip, Visible To Position and String, Color(White), Default Visibility);
Event Player.worldTexts = Last Created Entity;
Create In-World Text(Event Player.target, Ability Icon String(Hero(Sigma), Event Player.choice), Eye Position(Event Player), 2,
Do Not Clip, Visible To Position and String, Color(Red), Default Visibility);
Modify Player Variable(Event Player, worldTexts, Append To Array, Last Created Entity);
Set Move Speed(Event Player, 130);
Create Icon(Event Player.target != String("Hello") ? Remove From Array(All Players(All Teams), Append To Array(Event Player,
Event Player.target)) : Null, Event Player, Recycle, Visible To and Position, Color(White), False);
Event Player.icons = Last Created Entity;
Start Scaling Barriers(Event Player, 0.100, True);
disabled Create In-World Text(Event Player.countdown > 0 ? All Players(All Teams) : Null, Event Player.countdown, (Position Of(Event Player)
+ Position Of(Event Player.target)) * 0.500, 1, Do Not Clip, Visible To Position and String, Color(White), Default Visibility);
disabled Create In-World Text(Event Player.countdown > 0 ? All Players(All Teams) : Null, Event Player.countdown, Up + (Position Of(
Event Player) + Position Of(Event Player.target)) * 0.500, 2, Do Not Clip, Visible To Position and String, Color(White),
Default Visibility);
Create In-World Text(Event Player.countdown > 0 ? All Players(All Teams) : Null, Event Player.countdown, Update Every Frame(Up + (
Position Of(Event Player) + Position Of(Event Player.target)) * 0.500), 2, Do Not Clip, Visible To Position and String, Color(
White), Default Visibility);
Modify Player Variable(Event Player, worldTexts, Append To Array, Last Created Entity);
disabled Create In-World Text(Event Player.countdown > 0 ? All Players(All Teams) : Null, Event Player.countdown, Update Every Frame(
Position Of(Event Player)), 2, Do Not Clip, Visible To Position and String, Color(White), Default Visibility);
}
}
rule("Option choosing 0")
{
event
{
Ongoing - Each Player;
All;
Sigma;
}
conditions
{
Event Player.isAttacking != True;
Is Button Held(Event Player, Button(Primary Fire)) == True;
}
actions
{
Event Player.choice = Button(Primary Fire);
If(Event Player.target == String("Hello"));
Set Melee Enabled(Event Player, True);
Press Button(Event Player, Button(Melee));
Wait(0.250, Ignore Condition);
Set Melee Enabled(Event Player, False);
Else;
Event Player.preventspam += 0.250;
Wait(Event Player.preventspam, Ignore Condition);
End;
}
}
rule("Option choosing 1")
{
event
{
Ongoing - Each Player;
All;
Sigma;
}
conditions
{
Event Player.isAttacking != True;
Is Button Held(Event Player, Button(Ability 1)) == True;
}
actions
{
Set Ability Cooldown(Event Player, Button(Ability 1), 0);
Event Player.choice = Button(Ability 1);
If(Event Player.target == String("Hello"));
Set Melee Enabled(Event Player, True);
Press Button(Event Player, Button(Melee));
Wait(0.250, Ignore Condition);
Set Melee Enabled(Event Player, False);
Else;
Event Player.preventspam += 0.250;
Wait(Event Player.preventspam, Ignore Condition);
End;
}
}
rule("Option choosing 2")
{
event
{
Ongoing - Each Player;
All;
Sigma;
}
conditions
{
Event Player.isAttacking != True;
Is Button Held(Event Player, Button(Ability 2)) == True;
}
actions
{
Set Ability Cooldown(Event Player, Button(Ability 2), 0);
Event Player.choice = Button(Ability 2);
If(Event Player.target == String("Hello"));
Set Melee Enabled(Event Player, True);
Press Button(Event Player, Button(Melee));
Wait(0.250, Ignore Condition);
Set Melee Enabled(Event Player, False);
Else;
Event Player.preventspam += 0.250;
Wait(Event Player.preventspam, Ignore Condition);
End;
}
}
rule("Start 1v1")
{
event
{
Player Dealt Knockback;
All;
Sigma;
}
conditions
{
Event Ability == Button(Melee);
Event Player.target == String("Hello");
Victim.target == String("Hello");
}
actions
{
Event Player.target = Victim;
Victim.target = Event Player;
}
}
rule("Enter 1v1")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.target != String("Hello");
Has Spawned(Event Player) == True;
Is Alive(Event Player) == True;
}
actions
{
Disallow Button(Event Player, Button(Primary Fire));
Disallow Button(Event Player, Button(Ability 1));
Disallow Button(Event Player, Button(Ability 2));
Set Secondary Fire Enabled(Event Player, False);
disabled Start Facing(Event Player, Direction Towards(Eye Position(Event Player), Eye Position(Event Player.target)), Max(50,
Distance Between(Facing Direction Of(Event Player), Direction Towards(Eye Position(Event Player), Eye Position(
Event Player.target))) * 250), To World, Direction and Turn Rate);
Start Facing(Event Player, Direction Towards(Eye Position(Event Player), Eye Position(Event Player.target)), Distance Between(
Start Facing(Event Player, Direction Towards(Eye Position(Event Player), Eye Position(Event Player.target)), Max(0,
Distance Between(Facing Direction Of(Event Player), Direction Towards(Eye Position(Event Player), Eye Position(
Event Player.target))) * 250), To World, Direction and Turn Rate);
disabled Start Facing(Event Player, Direction Towards(Eye Position(Event Player), Eye Position(Event Player.target)), Min((
3 - Event Player.countdown) * 50, Distance Between(Facing Direction Of(Event Player), Direction Towards(Eye Position(
Event Player), Eye Position(Event Player.target))) * 250), To World, Direction and Turn Rate);
disabled Start Facing(Event Player, Direction Towards(Eye Position(Event Player), Eye Position(Event Player.target)), Distance Between(
Facing Direction Of(Event Player), Direction Towards(Eye Position(Event Player), Eye Position(Event Player.target))) * 250,
To World, Direction and Turn Rate);
Wait(0.500, Ignore Condition);
Communicate(Event Player, Countdown);
Event Player.countdown = 3;
disabled Small Message(Event Player, Custom String("3"));
Wait(1, Ignore Condition);
Set Move Speed(Event Player, 100);
Event Player.countdown = 2;
Wait(1, Ignore Condition);
Event Player.countdown = 1;
Wait(0.500, Ignore Condition);
Stop Facing(Event Player);
Start Facing(Event Player, Update Every Frame(Direction Towards(Eye Position(Event Player), Eye Position(Event Player.target))),
100, To World, Direction and Turn Rate);
Set Move Speed(Event Player, 50);
Wait(0.500, Ignore Condition);
disabled Small Message(Event Player, Custom String("1"));
Event Player.countdown = 0;
disabled Set Move Speed(Event Player, 50);
Event Player.isAttacking = True;
If(Event Player.choice == Event Player.target.choice);
Set Status(Event Player, Event Player.target, Stunned, 0.500);
Set Status(Event Player.target, Event Player, Stunned, 0.500);
Else;
Wait((Event Player.choice == Button(Primary Fire)) * 0.125, Ignore Condition);
Allow Button(Event Player, Event Player.choice);
Press Button(Event Player, Event Player.choice);
Wait Until(!(Is Firing Primary(Event Player) || Is Using Ability 1(Event Player) || Is Using Ability 2(Event Player)), 3);
Wait((Event Player.choice == Button(Primary Fire)) * 1, Ignore Condition);
Disallow Button(Event Player, Event Player.choice);
End;
Event Player.isAttacking = False;
Set Ability Cooldown(Event Player, Button(Ability 1), 0);
Set Ability Cooldown(Event Player, Button(Ability 2), 0);
Stop Facing(Event Player);
Event Player.target = String("Hello");
Event Player.target.target = String("Hello");
If(Player Carrying Flag(Team Of(Event Player)) == Event Player);
Set Move Speed(Event Player, 120);
Else;
Set Move Speed(Event Player, 130);
End;
Set Secondary Fire Enabled(Event Player, True);
Event Player.preventspam = 0;
}
}
rule("Death By Ability")
{
event
{
Player Received Knockback;
All;
All;
}
conditions
{
Attacker != Event Player;
Attacker == Event Player.target;
Event Ability != Button(Melee);
}
actions
{
Kill(Event Player, Attacker);
}
}
rule("Death By Succ")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.target != String("Hello");
Is Firing Primary(Event Player) == True;
Is Using Ability 1(Event Player.target) == True;
Is In Line of Sight(Eye Position(Event Player), Eye Position(Event Player.target), Barriers Do Not Block LOS) == True;
}
actions
{
Event Player.succd = True;
Wait(0.500, Ignore Condition);
Event Player.shrinksize = 1;
Start Scaling Player(Event Player, Event Player.shrinksize, True);
Chase Player Variable At Rate(Event Player, shrinksize, 0.100, 2, Destination and Rate);
While(Event Player.shrinksize > 0.100);
Apply Impulse(Event Player, Direction Towards(Event Player, World Vector Of(Vector(0, 2, 1), Event Player.target,
Rotation And Translation)), (1 - Event Player.shrinksize) * 50, To World, Cancel Contrary Motion);
Wait(0.016, Ignore Condition);
End;
Kill(Event Player, Event Player.target);
Wait(1, Ignore Condition);
Stop Scaling Player(Event Player);
Event Player.succd = False;
disabled Event Player.shrinksize = Max(0.100, Event Player.shrinksize - 0.100);
}
}
rule("Clear Effects On Leave")
{
event
{
Player Left Match;
All;
All;
}
actions
{
Destroy In-World Text(Event Player.worldTexts[2]);
Destroy In-World Text(Event Player.worldTexts[1]);
Destroy In-World Text(Event Player.worldTexts[0]);
Stop Damage Modification(Event Player.damageMod);
Destroy Icon(Event Player.icons);
If(Number Of Players(All Teams) < 4);
Start Forcing Player Outlines(All Players(All Teams), All Players(All Teams), True, Color(Red), Always);
Else;
Stop Forcing Player Outlines(Event Player, All Players(All Teams));
End;
}
}
rule("Moon Jump")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Button(Jump)) == True;
Is Button Held(Event Player, Button(Crouch)) != True;
}
actions
{
While(Is Button Held(Event Player, Button(Jump)));
Apply Impulse(Event Player, Vector(0, 1, 0), 0.300, To World, Incorporate Contrary Motion);
disabled Apply Impulse(Event Player, Vector(0, 1, 0), Max(0.100 - Absolute Value(Vertical Speed Of(Event Player)) * 0.100, 0), To World,
Cancel Contrary Motion);
Wait(0.025, Ignore Condition);
End;
}
}
rule("Self Flux")
{
event
{
Ongoing - Each Player;
All;
Sigma;
}
conditions
{
Event Player.succd != True;
disabled Is On Ground(Event Player) != True;
Is Firing Secondary(Event Player) == True;
Has Status(Event Player, Knocked Down) != True;
disabled Is Jumping(Event Player) != True;
}
actions
{
If(Is On Ground(Event Player));
Apply Impulse(Event Player, Up, 10, To World, Cancel Contrary Motion);
Wait(0.500, Abort When False);
End;
disabled Set Move Speed(Event Player, 50);
disabled Skip If(Is Button Held(Event Player, Button(Jump)), 3);
disabled Abort If Condition Is False;
disabled Wait(0.025, Ignore Condition);
disabled Loop If Condition Is True;
While(Is Button Held(Event Player, Button(Secondary Fire)));
Event Player.dir = Normalize(Vector(Speed Of In Direction(Event Player, Left), 0, Speed Of In Direction(Event Player, Forward)));
Apply Impulse(Event Player, Event Player.dir * -1, Min(0.200, Speed Of In Direction(Event Player, Event Player.dir)), To World,
Incorporate Contrary Motion);
disabled Apply Impulse(Event Player, Left, Speed Of In Direction(Event Player, Left) * -0.500, To World, Incorporate Contrary Motion);
disabled Apply Impulse(Event Player, Forward, Speed Of In Direction(Event Player, Forward) * -0.100, To World, Incorporate Contrary Motion);
Apply Impulse(Event Player, Up, Speed Of In Direction(Event Player, Up) * -0.250, To World, Incorporate Contrary Motion);
Wait(0.016, Ignore Condition);
Abort If Condition Is False;
End;
disabled Set Move Speed(Event Player, 100);
disabled Abort If(Is On Ground(Event Player));
}
}
rule("General GUI")
{
event
{
Ongoing - Global;
}
actions
{
Create HUD Text(All Players(All Teams), Null, Null, Custom String("Rock, Paper, Sigma"), Right, -13, Color(White), Color(White),
Color(White), Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Custom String("1v1 battles: {0} to {1}", Ability Icon String(Hero(Sigma), Button(
Melee)), String("Start")), Custom String(""), Right, -12, Color(White), Color(White), Color(White), Visible To and String,
Default Visibility);
Create HUD Text(All Players(All Teams), Null, Custom String("Moonjump [{1}] || Float [{0}]", Input Binding String(Button(
Secondary Fire)), Input Binding String(Button(Jump))), Custom String(""), Right, -11, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String("----------------------------------------"), Right, -9, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String("{0} > {1} > {2} > {0}", Ability Icon String(Hero(Sigma), Button(
Primary Fire)), Ability Icon String(Hero(Sigma), Button(Ability 2)), Ability Icon String(Hero(Sigma), Button(Ability 1))),
Right, -8, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String("----------------------------------------"), Right, -6, Color(
White), Color(White), Color(White), Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Custom String("-- Mode by Puppetsquid --"), Null, Right, -5, Color(White), Color(
White), Color(White), Visible To and String, Default Visibility);
}
}
rule("Melee Jump")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Meleeing(Event Player) == True;
Player Carrying Flag(Team Of(Event Player)) != Event Player;
}
actions
{
Apply Impulse(Event Player, Facing Direction Of(Event Player), 10, To World, Incorporate Contrary Motion);
}
}
disabled rule("double jump")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is In Air(Event Player) == True;
}
actions
{
While(Is Button Held(Event Player, Button(Jump)));
Wait(0.100, Ignore Condition);
Abort If(Is On Ground(Event Player));
End;
While(!Is Button Held(Event Player, Button(Jump)));
Wait(0.100, Ignore Condition);
Abort If(Is On Ground(Event Player));
End;
Apply Impulse(Event Player, Normalize(Vector(Speed Of In Direction(Event Player, Left), 0.250, Speed Of In Direction(Event Player,
Forward))) + 0, 12, To World, Cancel Contrary Motion);
}
}
rule("Remove Movespeed on Flag")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Player Carrying Flag(Team Of(Event Player)) == Event Player;
}
actions
{
Set Move Speed(Event Player, 120);
Set Secondary Fire Enabled(Event Player, False);
}
}
rule("Retrieve barrier")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Firing Secondary(Event Player) == True;
}
actions
{
Wait Until(!Is Firing Secondary(Event Player), 99999);
Wait(0.250, Ignore Condition);
Press Button(Event Player, Button(Secondary Fire));
}
}
rule("Remove Movespeed on Flag")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Player Carrying Flag(Team Of(Event Player)) != Event Player;
}
actions
{
Set Move Speed(Event Player, 130);
Set Secondary Fire Enabled(Event Player, True);
}
}
rule("Moon Jump")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Button(Jump)) != True;
Is Button Held(Event Player, Button(Crouch)) == True;
Altitude Of(Event Player) > 2;
}
actions
{
Apply Impulse(Event Player, Vector(0, 1, 0), -0.300, To World, Incorporate Contrary Motion);
Wait(0.025, Ignore Condition);
Loop If Condition Is True;
}
}
disabled rule("outlines")
rule("outlines")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Current Game Mode == Game Mode(Deathmatch);
}
actions
{
Start Forcing Player Outlines(All Players(All Teams), All Players(All Teams), True, Color(Red), Always);
If(Number Of Players(All Teams) < 4);
Start Forcing Player Outlines(All Players(All Teams), All Players(All Teams), True, Color(Red), Always);
Else;
Stop Forcing Player Outlines(Event Player, All Players(All Teams));
End;
}
}
rule("Death Do Us Part")
{
event
{
Player Dealt Final Blow;
All;
All;
}
conditions
{
Victim == Event Player.target;
}
actions
{
Stop Facing(Event Player);
Set Move Speed(Event Player, 100);
}
}
rule("Random pick")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Alive(Event Player) == True;
Has Spawned(Event Player) == True;
Throttle Of(Event Player) == Vector(0, 0, 0);
}
actions
{
Wait(5, Abort When False);
While(Throttle Of(Event Player) == Vector(0, 0, 0));
Wait(Random Real(0.250, 3), Abort When False);
Event Player.choice = Random Value In Array(Array(Button(Primary Fire), Button(Ability 1), Button(Ability 2)));
End;
}
}
rule("closest spawnpoint")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Alive(Event Player) == True;
Current Game Mode == Game Mode(Deathmatch);
}
actions
{
Teleport(Event Player, Sorted Array(Spawn Points(All Teams), Distance Between(Current Array Element, Closest Player To(
Current Array Element, All Teams)))[Number Of Living Players(All Teams)]);
}
}
disabled rule("reset spam")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Button(Primary Fire)) != True;
Is Button Held(Event Player, Button(Ability 1)) != True;
Is Button Held(Event Player, Button(Ability 2)) != True;
}
actions
{
Wait(3, Abort When False);
Event Player.preventspam = 0;
}
}
rule("Spam Control 1")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Button(Primary Fire)) == True;
Event Player.target != String("Hello");
}
actions
{
Event Player.preventspam += 0.100;
}
}
rule("Spam Control 2")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Button(Ability 1)) == True;
Event Player.target != String("Hello");
}
actions
{
Event Player.preventspam += 0.100;
}
}
rule("Spam Control 3")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Button(Ability 2)) == True;
Event Player.target != String("Hello");
}
actions
{
Event Player.preventspam += 0.100;
}
}
rule("Fix shield cooldown")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Ability Cooldown(Event Player, Button(Secondary Fire)) > 0;
}
actions
{
Set Ability Cooldown(Event Player, Button(Secondary Fire), 0);
}
}