Fun gamemode I made

About a year ago me and my friend played 1v1’s against each other during work and we’ve found that some characters are not fit for it and also get boring very quickly so I started making changes and then more changes and quickly became just making characters op but in a fun and engaging way, I’ve recently came back to it and I guess because of many changes somethings just don’t work anymore so I’d be glad for some help and thought I’d also share what kinda changes im talking about.

Cassidy:
Max Health:500

Damage Dealt:80%
*Max ammo 3.

*Cassidy now has a stamina bar and a trickshot bar and no longer has cooldown on shift.

*SHIFT costs 25 stamina.

*Last bullet creates a “heated” effect on Cassidy’s revolver and deals extra damage and heals Cassidy for flat amount and grants 25 stamina.

*Cassidy no longer reloads simply by SHIFT - he first has to press R (to be in the animation of the reload) for SHIFT to reload the gun - this helps incase you want to fan the hammer for 2 bullets → roll → shoot the last bullet for extra damage/heal. the last bullet also deals a small knockback on the victim just to give that feeling of it.

*Cassidy has a trickshot bar that he can now fill it up by doing unique trickshots each time if no damage is dealt for a while or Cassidy takes damage the bar depletes healing Cassidy over the depletion.

*Trickshots include ROLL/BIRD/JUMP/Nade shot which is shots after Shift/Enemy is in the air/Cassidy jumped/, unique colored text appears for the player for each unique succesful shot. trickshots also deal 5% of max health of the victim (which is less if you consider the fact that cassidy deals 20% less damage.

*Cassidy grenade now pulls enemies and sometimes lifts them a little off the floor (this is for the purpose of making JUMP shot somewhat applicable)

*Cassidy heals from ult damage.

[The problem]
Cassidy has a variable C which tracks Cassidy’s current ammo, Fan the hammer uses alot of ammo very quickly, too quick for variable C to update and keep track of.

If Cassidy rolls his current ammo should be variable C.
Say I have max 3 ammo I use fan the hammer twice and time my roll to when I have ammo = 1 for some reason after the roll I have ammo = 2 though it should keep it as 1.

here’s the code

rule(“Updates variable C [Cassidy]”)
{
event
{
Ongoing - Each Player;
All;
Cassidy;
}

		conditions
	{
		
		Ammo(Event Player, 0) < 3;
		(Is Firing Primary(Event Player) || Is Firing Secondary(Event Player)) == True;
	}

		actions
	{
		Event Player.C = Ammo(Event Player, 0);
	}
}

rule(“Doesn’t reload when vault if not actively reloading [Cassidy]”)
{
event
{
Ongoing - Each Player;
All;
Cassidy;
}

		conditions
	{
		Is Reloading(Event Player) == False;
		Is Using Ability 1(Event Player) == True;
		Ammo(Event Player, 0) != 0;
	}

		actions
	{
		Wait(0.035, Abort When False);
		Set Ammo(Event Player, 0, Event Player.C);
		Loop If Condition Is True;
	}
}

I know it might be difficult to help out of the box with these type of things, I’ll be glad to answer any questions if I confused anyone.

Thanks in advance for any help.

so far I made (imo) interesting changes to (from most to least):
Hanzo - (his shift is now an arrow you shoot that leaves a mark (be it enemy or ground) if Hanzo collides with the mark he’s catapulted upwards along with his target and deals massive damage, it was so fun to work on).

WidowMaker
Junkerqueen
Moira

Genji

Roadhog

Reinhardt

Brigitte

Doomfist

Tracer

Ana

Zenyatta

Baptiste

Mercy

Mei

Ramata

1 Like

try instead doing

rule(“Updates variable C [Cassidy]”)
{
event
{
Ongoing - Each Player;
All;
Cassidy;
}

		conditions
	{
		
		Ammo(Event Player, 0) != Event Player.C;
		Is Using Ability 1(Event Player) == False;
	}

		actions
	{
		Event Player.C = Ammo(Event Player, 0);
        Loop If Condition is True;
	}
}
1 Like