Not sure if this has been done before, but I made a script that allows you to edit the ultimate charge rate multiplier for each player while a game is going.

Code:

Game Settings Code: 1834M

Text Import rule("Set Default Ultimate Charge Rate"){event{Ongoing - Each Player;All;All;}actions{Set Player Variable(Event Player, B, 1);}}rule("Update Ultimate Tracker"){event{Ongoing - Each Player;All;All;}actions{Set Player Variable At Index(Event Player, A, 2, False);Set Player Variable At Index(Event Player, A, 1, Value In Array(Player Variable(Event Player, A), 0));Set Player Variable At Index(Event Player, A, 0, Ultimate Charge Percent(Event Player));Set Player Variable At Index(Event Player, A, 3, Max(0, Subtract(Value In Array(Player Variable(Event Player, A), 0),Value In Array(Player Variable(Event Player, A), 1))));Skip If(Compare(Value In Array(Player Variable(Event Player, A), 0), ==, Value In Array(Player Variable(Event Player, A), 1)), 1);Set Player Variable At Index(Event Player, A, 2, True);Wait(0, Ignore Condition);Loop;}}rule("Increase Ult Charge Rate"){event{Ongoing - Each Player;All;All;}conditions{Value In Array(Player Variable(Event Player, A), 2) == True;Player Variable(Event Player, B) != 1;}actions{Set Ultimate Charge(Event Player, Add(Ultimate Charge Percent(Event Player), Multiply(Subtract(Player Variable(Event Player, B),1), Value In Array(Player Variable(Event Player, A), 3))));Skip If(Compare(Player Variable(Event Player, B), >, 1), 5);Skip If(Compare(Value In Array(Global Variable(A), 3), >=, 2), 4);Set Player Variable At Index(Event Player, A, 4, Add(Value In Array(Player Variable(Event Player, A), 4), 1));Skip If(Compare(Value In Array(Player Variable(Event Player, A), 4), <, Round To Integer(Divide(1, Player Variable(Event Player,B)), To Nearest)), 2);Set Ultimate Charge(Event Player, Add(Ultimate Charge Percent(Event Player), 0.500));Set Player Variable At Index(Event Player, A, 4, 0);}}







Player Variable A is used to track the values needed for this to work (you can change any of these variables to any other variables if you need to, but you will have to go through and change it everywhere it’s referenced in the script). And Player Variable B is used to store the actual multiplier (1.0 being 100% charge rate, 2.0 being 200%, 0.5 being 50%, etc.) Decimal values less than 1 will work, but the ult charge percent will look a little glitchy and, with the right timing, a player will be able to use their ultimate when their charge is at 99%, but I don’t think that’s a really big issue.