diff options
author | Nathan Vance <nathav63@gmail.com> | 2015-04-21 15:12:21 -0400 |
---|---|---|
committer | Nathan Vance <nathav63@gmail.com> | 2015-04-21 15:12:21 -0400 |
commit | 310d54db9cc665ee3a6d015ff7cfa23ebe9f4d83 (patch) | |
tree | b13e2368da08464945b0d201a769222b544faf14 /special_actions.c | |
parent | UI bug fixes (diff) | |
download | 7w-310d54db9cc665ee3a6d015ff7cfa23ebe9f4d83.tar.gz 7w-310d54db9cc665ee3a6d015ff7cfa23ebe9f4d83.tar.bz2 7w-310d54db9cc665ee3a6d015ff7cfa23ebe9f4d83.zip |
Bug fixes
Diffstat (limited to 'special_actions.c')
-rw-r--r-- | special_actions.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/special_actions.c b/special_actions.c index 6680434..925fe42 100644 --- a/special_actions.c +++ b/special_actions.c @@ -28,6 +28,10 @@ void Halicarnassus(int player) int bottom = 0; while(discards[numcards++] != -1 && numcards < 50); numcards /= 2; + if(numcards == 0) { + postmessage("No cards in the discard pile. Sucks to suck."); + return; + } while(1) { view_refresh(focus, cursor, player, 1); switch(io_getkey()) { @@ -70,16 +74,22 @@ void Halicarnassus(int player) } } +static int hal = 0; +static int oly = 0; + void special_action(int player, int wonder, int stage) { if(wonder == 8) { //Halicarnassus - if(stage == 2 || stage == 4 || stage == 5 || stage == 6) + if(stage == 2 && hal == 0 || stage == 4 && hal == 0 || stage == 5 && hal == 1 || stage == 6 && hal == 2) { if(data_isai(player)); else Halicarnassus(player); + hal++; + } } if(wonder == 7) { //Olympia - if(stage == 2) { + if(stage == 2 && ! oly) { data_setfreebuild(player); + oly = 1; } } } |