Handicap

This script give possibility to play game with default rules, but give some handicap to opponent. You can select how much Flux each player gain every round and also how much Glory.

int[] gPlayerFluxHandicap(2);
int[] gPlayerGloryHandicap(2);

Player[] gPlayer(2);

const int FluxCode = 1000;
const int GloryCode = 0;

const int PlayerMult = 100;

void configGame()
{
}

void beforeStart()
{
}

void showFluxHandicap(int player)
{
	DlgBox box = createDialog("Flux per round for player" + (player + 1), "You can increase or decrease flux per round income. If you don't know what is this choose default option.");
	box.addOption("0",           "", FluxCode - 2 + player * PlayerMult);
	box.addOption("1",           "", FluxCode - 1 + player * PlayerMult);
	box.addOption("2 (default)", "", FluxCode + 0 + player * PlayerMult);
	box.addOption("3",           "", FluxCode + 1 + player * PlayerMult);
	box.addOption("4",           "", FluxCode + 2 + player * PlayerMult);
	box.show(getPlayer(0));
}

void showGloryHandicap(int player)
{
	DlgBox box = createDialog("Glory per round for player" + (player + 1), "You can increase or decrease Glory per round income. If you don't know what is this choose default option.");
	box.addOption("-1",          "", GloryCode - 1 + player * PlayerMult);
	box.addOption("0 (default)", "", GloryCode + 0 + player * PlayerMult);
	box.addOption("1",           "", GloryCode + 1 + player * PlayerMult);
	box.show(getPlayer(0));
}

void afterStart()
{
	gPlayer[0] = getPlayer(0);
	gPlayer[1] = getPlayer(1);
	gPlayerFluxHandicap[0] = 0;
	gPlayerGloryHandicap[0] = 0;
	gPlayerFluxHandicap[1] = 0;
	gPlayerGloryHandicap[1] = 0;
	showFluxHandicap(0);
	showGloryHandicap(0);
	showFluxHandicap(1);
	showGloryHandicap(1);
}

void onDialogResponse(Player player, int resp)
{
	if (resp > FluxCode - 100)
	{
		// setting Flux
		int playerId = (resp - FluxCode + 5) / PlayerMult;
		gPlayerFluxHandicap[playerId] = resp - FluxCode - playerId * PlayerMult;
	}
	else
	{
		// setting glory
		int playerId = (resp - GloryCode + 5) / PlayerMult;
		gPlayerGloryHandicap[playerId] = resp - GloryCode - playerId * PlayerMult;
	}
}

void onNewRound()
{
	Player nullPlayer;
	statusMsg(nullPlayer, gPlayerFluxHandicap[0] + " " + gPlayerGloryHandicap[0] + " " + gPlayerFluxHandicap[1] + " " + gPlayerGloryHandicap[1]);

	gPlayer[0].addFlux(gPlayerFluxHandicap[0]);
	gPlayer[0].addGlory(gPlayerGloryHandicap[0]);
	gPlayer[1].addFlux(gPlayerFluxHandicap[1]);
	gPlayer[1].addGlory(gPlayerGloryHandicap[1]);
}