summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--csrc/fortune.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/csrc/fortune.c b/csrc/fortune.c
index 47a1231..1735263 100644
--- a/csrc/fortune.c
+++ b/csrc/fortune.c
@@ -324,6 +324,57 @@ void bank_reject_a_month(int a0)
}
}
+void sell_all_the_stock(int a0)
+{
+ static const char *str_sell = "#0194\xc5\xdc\xbd\xe6\xa9\xd2\xa6\xb3\xaa\xd1\xb2\xbc\xa8\x44\xb2{";
+
+ if (a0 == 0) {
+ draw_some_text(fortune_panel + 0x18, str_sell, 24, 330, 0);
+ graph_st_overlay(fortune_panel + 0x18, dword [current_player * 0x34 + 0x498eb0]+0x24, 390, 344);
+ } else {
+ dw_48c5b0 = fcn.0044b896(0, 1);
+ player_action_2(0, 0, 3);
+ if (dw_48c5b0 == 1) {
+ fcn.00440cac(0x48c5b8, 1500);
+ return;
+ } else {
+ for (int i = 0; i < 12; i++) {
+ esi = dword [current_player * 96 + i * 8 + 0x4971a0];
+ if (esi == 0)
+ continue;
+ fcn.00428e23(current_player, i, esi, 1);
+ }
+ fcn.0041d433(current_player);
+ int c = players[current_player].character;
+ ecx = [c * 108 + 0x48085e];
+ player_say(current_player, 2, ecx);
+ fcn.00436b0a(0);
+ }
+ }
+}
+
+void sell_all_cards_and_tools(int a0)
+{
+ static const char *str_sell = "#0217\xc5\xdc\xbd\xe6\xa9\xd2\xa6\xb3\xa5\x64\xa4\xf9\xb9\x44\xa8\xe3";
+
+ if (a0 == 0) {
+ draw_some_text(fortune_panel + 0x18, str_sell, 24, 330, 0);
+ graph_st_overlay(fortune_panel + 0x18, dword [current_player * 0x34 + 0x498eb0] + 0x24, 390, 344);
+ } else {
+ dw_48c5b0 = fcn.0044b896(1, 1);
+ player_action_2(0, 0, 3);
+ if (dw_48c5b0 == 1) {
+ fcn.00440cac(0x48c5b8, 1500);
+ } else {
+ players[current_player].points += fcn.00445b3f(current_player);
+ players[current_player].points += fcn.00441f21(current_player);
+ fcn.0041d433(current_player);
+ int c = players[current_player].character;
+ player_say(current_player, 2, dword [c * 108 + 0x480856]);
+ }
+ }
+}
+
fortune_call fortune_call_table[] = {
break_down_a_house,
remove_a_land,