summaryrefslogtreecommitdiff
path: root/csrc/cards.c
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2018-09-23 11:29:39 +0800
committerIru Cai <mytbk920423@gmail.com>2018-09-23 11:29:39 +0800
commit3680eaeddd230bf4bb7f63402973b9255323e6ad (patch)
tree174ddb1905f3492d9e9385dc7abcff5c64420b5a /csrc/cards.c
parentd1a9ea8213f2d7cef08e0083ee23af9b3ee8a9e8 (diff)
downloadrich4-3680eaeddd230bf4bb7f63402973b9255323e6ad.tar.xz
tortoise walking card
Diffstat (limited to 'csrc/cards.c')
-rw-r--r--csrc/cards.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/csrc/cards.c b/csrc/cards.c
index 5479a35..bffd2d9 100644
--- a/csrc/cards.c
+++ b/csrc/cards.c
@@ -903,3 +903,46 @@ int angel_card()
// 0x4436d9
return ebp;
}
+
+int tortoise_walking_card()
+{
+ if (players[current_player].who_plays == 1) {
+ edi = fcn.00446ae8(0xe0c0010);
+ } else {
+ edi = fcn.0041e6f2(0);
+ }
+ if (edi == 0)
+ return 0;
+
+ esi = ebx = fcn.0040d293(edi);
+ int selected_player = fcn.0040d293(edi);
+ consume_a_card(current_player, 30);
+ ebp = current_player;
+ if (selected_player != current_player) {
+ int c = players[current_player].character;
+ player_say(current_player, 3, card_strings[c][0][29]);
+ }
+ if (players[current_player].who_plays != 1) {
+ sub.WINMM.dll_timeGetTime_669(0,
+ players[current_player].f8, players[current_player].f10,
+ players[selected_player].f8, players[selected_player].f10, 100);
+ }
+
+ if (selected_player >= 4) {
+ special_players[selected_player].days_tortoise_walking = 3;
+ return edi;
+ }
+
+ if (selected_player == current_player) {
+ int c = players[current_player].character;
+ player_say(current_player, 3, card_strings[c][1][29]);
+ players[current_player].days_tortoise_walking = 2;
+ return edi;
+ } else {
+ int c = players[selected_player].character;
+ player_say(selected_player, 2, card_strings[c][2][29]);
+ players[selected_player].days_tortoise_walking = 3;
+ fcn_41d546();
+ return edi;
+ }
+}