Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Level script - fixed alliances #776

Open
Loobinex opened this Issue May 29, 2017 · 0 comments

Comments

Projects
None yet
1 participant
@Loobinex
Copy link

Loobinex commented May 29, 2017

In KeeperFX this is the current script command to create alliances:

ALLY_PLAYERS(PLAYER1,PLAYER2,1)

Setting it to '0' breaks the alliance, setting it to 1 creates the alliance. However, setting up the alliance between a player and a computer player, this still allows the player to break the alliance whenever he wants, and reset it whenever he wants. This allows a player to take some rooms/creatures from his ally, and there's nothing a mapmaker can do about this. (preceding the command with a NEXT_COMMAND_REUSABLE command only makes it a bit more inconvenient).
It would be a nice addition if the mapmaker could opt for an alliance that could not be broken. A suggestion is to use the current command, and use the parameter '2' for this option.

Additionally, it would be very nice to allow a mapmaker to allow a player to break the alliance, but not reset it. (So if the player decides to betray his ally, he needs to live with the consequences.)
I think the most optimal way to unlock this feature would be by adding a new script variable 'ALLIANCES_BROKEN' that counts for each player how many times an alliance he had is terminated (by either player). To be used like this:

IF(PLAYER1,ALLIANCES_BROKEN >= 1)
	ALLY_PLAYERS(PLAYER0,PLAYER1,0)
	QUICK_OBJECTIVE(1,"Blue will not accept this, prepare for battle.",PLAYER1)
ENDIF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.