Back to home

Mccree's Highest Noon

3CWEA
click to copy
This game is archived.
If you with to unarchive it, click the "restore" button in the options menu.

Category:
Custom game mode

Author:
Critscan

Rating:
4

Version:
1.0.1

Posted:
23 days ago

Last updated:
14 days ago

Tags:
mccree high noon high noon mccree's highest noon

Share this workshop!

Options

The classic with some workshop twists. Headshots are 2 points, while long-range headshots are 3, and give you 2 seconds of invulnerability! Slot 0 picks score requirements, recommended scores for each map are selected by default. Made by Critscan#1908

variables
{
	global:
		26: winningscore

	player:
		3: Dink
		26: bonussphere
		28: winningsetting
}

rule("host sees settings")
{
	event
	{
		Ongoing - Each Player;
		All;
		Slot 0;
	}

	conditions
	{
		Is Game In Progress == False;
	}

	actions
	{
		Skip If(Or(Or(Compare(Current Map, ==, Map(Ilios Lighthouse)), Compare(Current Map, ==, Map(Nepal Shrine))), Compare(Current Map,
			==, Map(Ilios Ruins))), 2);
		Set Global Variable(winningscore, 100);
		Skip(1);
		Set Global Variable(winningscore, 50);
		Create HUD Text(Players In Slot(0, All Teams), Custom String("score req? (secondary fire to switch) = {0}", Global Variable(
			winningscore), Null, Null), Null, Null, Top, 10000, Turquoise, White, White, Visible To and String, Default Visibility);
		Set Player Variable(Players In Slot(0, All Teams), winningsetting, Last Text ID);
	}
}

rule("cycle score setting backwards")
{
	event
	{
		Ongoing - Global;
	}

	conditions
	{
		Is Game In Progress == False;
		Is Button Held(Players In Slot(0, All Teams), Secondary Fire) == True;
	}

	actions
	{
		Skip If(Compare(Global Variable(winningscore), !=, 25), 2);
		Set Global Variable(winningscore, 100);
		Abort;
		Skip If(Compare(Global Variable(winningscore), !=, 100), 2);
		Set Global Variable(winningscore, 75);
		Abort;
		Skip If(Compare(Global Variable(winningscore), !=, 75), 2);
		Set Global Variable(winningscore, 50);
		Abort;
		Skip If(Compare(Global Variable(winningscore), !=, 50), 2);
		Set Global Variable(winningscore, 25);
		Abort;
	}
}

rule("no standy andy ult")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Is In Air(Event Player) == False;
		Is Using Ultimate(Event Player) == True;
	}

	actions
	{
		Set Status(Event Player, Null, Stunned, 3);
		Disallow Button(Event Player, Primary Fire);
		Big Message(Event Player, Custom String("That noon doesn't look very high", Null, Null, Null));
		Set Ultimate Charge(Event Player, 0);
		Wait(3, Ignore Condition);
		Kill(Event Player, Null);
	}
}

rule("no standy andy")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Is In Air(Event Player) == False;
		Is Firing Primary(Event Player) == True;
	}

	actions
	{
		Set Status(Event Player, Null, Stunned, 3);
		Disallow Button(Event Player, Primary Fire);
		Big Message(Event Player, Custom String("No standy andy's allowed, jump!", Null, Null, Null));
		Set Ultimate Charge(Event Player, 0);
		Wait(3, Ignore Condition);
		Kill(Event Player, Null);
	}
}

rule("standy andy reset")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Is In Air(Event Player) == True;
	}

	actions
	{
		Allow Button(Event Player, Primary Fire);
	}
}

rule("skip hero assembly")
{
	event
	{
		Ongoing - Global;
	}

	conditions
	{
		Is Assembling Heroes == True;
	}

	actions
	{
		Set Match Time(5);
	}
}

rule("disable normie stuff")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Is Game In Progress == True;
	}

	actions
	{
		Disable Built-In Game Mode Announcer;
		Disable Built-In Game Mode Completion;
		Disable Built-In Game Mode Scoring;
		Destroy HUD Text(Player Variable(Event Player, winningsetting));
	}
}

rule("one hit one noon")
{
	event
	{
		Player Dealt Final Blow;
		All;
		All;
	}

	conditions
	{
		Is Using Ultimate(Event Player) == False;
	}

	actions
	{
		Set Ultimate Charge(Event Player, 100);
	}
}

rule("elimination score")
{
	event
	{
		Player Dealt Final Blow;
		All;
		All;
	}

	conditions
	{
		Event Was Critical Hit == False;
	}

	actions
	{
		Abort If Condition Is False;
		Set Player Score(Event Player, Add(Score Of(Event Player), 1));
	}
}

rule("headshot")
{
	event
	{
		Player Dealt Final Blow;
		All;
		All;
	}

	conditions
	{
		Event Was Critical Hit == True;
		Distance Between(Event Player, Victim) < 100;
	}

	actions
	{
		Abort If Condition Is False;
		Set Player Score(Event Player, Add(Score Of(Event Player), 2));
		Create HUD Text(Event Player, Custom String("* * * DINK * * *", Null, Null, Null), Null, Null, Top, 10000, Yellow, White, White,
			Visible To and String, Default Visibility);
		Set Player Variable(Event Player, Dink, Last Text ID);
		Wait(1, Ignore Condition);
		Destroy HUD Text(Player Variable(Event Player, Dink));
	}
}

rule("long-range headshot")
{
	event
	{
		Player Dealt Final Blow;
		All;
		All;
	}

	conditions
	{
		Event Was Critical Hit == True;
		Distance Between(Event Player, Victim) >= 100;
	}

	actions
	{
		Abort If Condition Is False;
		Set Player Score(Event Player, Add(Score Of(Event Player), 3));
		Big Message(All Players(All Teams), Custom String("What a shot!!", Null, Null, Null));
		Set Player Variable(Event Player, Dink, Last Created Entity);
		Set Status(Event Player, Null, Invincible, 2);
		Create Effect(All Players(All Teams), Light Shaft, Yellow, Event Player, 1.500, Visible To Position and Radius);
		Set Player Variable(Event Player, bonussphere, Last Created Entity);
		Wait(2, Ignore Condition);
		Destroy Effect(Player Variable(Event Player, bonussphere));
	}
}

rule("victory hud")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Is Game In Progress == True;
	}

	actions
	{
		Create HUD Text(Event Player, Custom String("{0} score = Victory", Global Variable(winningscore), Null, Null), Null, Null, Top,
			900, Green, White, White, Visible To and String, Default Visibility);
	}
}

rule("victory condition")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Score Of(Event Player) >= Global Variable(winningscore);
		Is Game In Progress == True;
	}

	actions
	{
		Declare Player Victory(Event Player);
	}
}

Changelog

14 days ago 1.0.1

-shortened stun/punishment length before killing player when they try to be a standy andy to 1 second, down from 3 seconds.

3CWEA
click to copy
23 days ago 1.0.0

This revision contains no notes

6VCMH
click to copy