diff options
-rw-r--r-- | src/cmd6.cc | 154 | ||||
-rw-r--r-- | src/cmd6.hpp | 17 | ||||
-rw-r--r-- | src/cmd7.cc | 1 | ||||
-rw-r--r-- | src/dungeon.cc | 1 | ||||
-rw-r--r-- | src/externs.h | 16 | ||||
-rw-r--r-- | src/object1.cc | 1 |
6 files changed, 98 insertions, 92 deletions
diff --git a/src/cmd6.cc b/src/cmd6.cc index 52a0ccf7..0cd052e2 100644 --- a/src/cmd6.cc +++ b/src/cmd6.cc @@ -6,6 +6,8 @@ * included in all such copies. */ +#include "cmd6.hpp" + #include "angband.h" #include "cave.hpp" #include "cmd1.hpp" @@ -2553,84 +2555,9 @@ void do_cmd_quaff_potion(void) /* - * Drink from a fountain - */ -void do_cmd_drink_fountain(void) -{ - cave_type *c_ptr = &cave[p_ptr->py][p_ptr->px]; - - bool_ ident; - - int tval, sval, pval = 0; - - int i; - - char ch; - - - /* Is the fountain empty? */ - if (c_ptr->special2 <= 0) - { - msg_print("The fountain is dried out."); - return; - } - - /* We quaff or we fill ? */ - if (!get_com("Do you want to [Q]uaff or [F]ill from the fountain? ", &ch)) - { - return; - } - - if ((ch == 'F') || (ch == 'f')) - { - do_cmd_fill_bottle(); - - return; - } - - else if ((ch == 'Q') || (ch == 'q')) - { - if (c_ptr->special <= SV_POTION_LAST) - { - tval = TV_POTION; - sval = c_ptr->special; - } - else - { - tval = TV_POTION2; - sval = c_ptr->special - SV_POTION_LAST; - } - - for (i = 0; i < max_k_idx; i++) - { - object_kind *k_ptr = &k_info[i]; - - if (k_ptr->tval != tval) continue; - if (k_ptr->sval != sval) continue; - - pval = k_ptr->pval; - - break; - } - - ident = quaff_potion(tval, sval, pval, 0); - - c_ptr->special2--; - - if (c_ptr->special2 <= 0) - { - cave_set_feat(p_ptr->py, p_ptr->px, FEAT_EMPTY_FOUNTAIN); - } - - if (ident) c_ptr->info |= CAVE_IDNT; - } -} - - -/* * Fill an empty bottle */ -void do_cmd_fill_bottle(void) +static void do_cmd_fill_bottle(void) { cave_type *c_ptr = &cave[p_ptr->py][p_ptr->px]; @@ -2713,6 +2640,81 @@ void do_cmd_fill_bottle(void) /* + * Drink from a fountain + */ +void do_cmd_drink_fountain(void) +{ + cave_type *c_ptr = &cave[p_ptr->py][p_ptr->px]; + + bool_ ident; + + int tval, sval, pval = 0; + + int i; + + char ch; + + + /* Is the fountain empty? */ + if (c_ptr->special2 <= 0) + { + msg_print("The fountain is dried out."); + return; + } + + /* We quaff or we fill ? */ + if (!get_com("Do you want to [Q]uaff or [F]ill from the fountain? ", &ch)) + { + return; + } + + if ((ch == 'F') || (ch == 'f')) + { + do_cmd_fill_bottle(); + + return; + } + + else if ((ch == 'Q') || (ch == 'q')) + { + if (c_ptr->special <= SV_POTION_LAST) + { + tval = TV_POTION; + sval = c_ptr->special; + } + else + { + tval = TV_POTION2; + sval = c_ptr->special - SV_POTION_LAST; + } + + for (i = 0; i < max_k_idx; i++) + { + object_kind *k_ptr = &k_info[i]; + + if (k_ptr->tval != tval) continue; + if (k_ptr->sval != sval) continue; + + pval = k_ptr->pval; + + break; + } + + ident = quaff_potion(tval, sval, pval, 0); + + c_ptr->special2--; + + if (c_ptr->special2 <= 0) + { + cave_set_feat(p_ptr->py, p_ptr->px, FEAT_EMPTY_FOUNTAIN); + } + + if (ident) c_ptr->info |= CAVE_IDNT; + } +} + + +/* * Curse the players armor */ bool_ curse_armor(void) diff --git a/src/cmd6.hpp b/src/cmd6.hpp new file mode 100644 index 00000000..b979645c --- /dev/null +++ b/src/cmd6.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include "angband.h" + +extern void set_stick_mode(object_type *o_ptr); +extern void unset_stick_mode(void); +extern void do_cmd_eat_food(void); +extern void do_cmd_quaff_potion(void); +extern void do_cmd_read_scroll(void); +extern void do_cmd_aim_wand(void); +extern void do_cmd_use_staff(void); +extern void do_cmd_zap_rod(void); +extern const char *activation_aux(object_type *o_ptr, bool_ desc, int item); +extern void do_cmd_activate(void); +extern void do_cmd_cut_corpse(void); +extern void do_cmd_cure_meat(void); +extern void do_cmd_drink_fountain(void); diff --git a/src/cmd7.cc b/src/cmd7.cc index 9446cd46..3b26c83c 100644 --- a/src/cmd7.cc +++ b/src/cmd7.cc @@ -12,6 +12,7 @@ #include "cave.hpp" #include "cmd1.hpp" #include "cmd5.hpp" +#include "cmd6.hpp" #include "hooks.h" #include "mimic.hpp" #include "quark.h" diff --git a/src/dungeon.cc b/src/dungeon.cc index 813c7250..dd4142c0 100644 --- a/src/dungeon.cc +++ b/src/dungeon.cc @@ -14,6 +14,7 @@ #include "cmd3.hpp" #include "cmd4.hpp" #include "cmd5.hpp" +#include "cmd6.hpp" #include "cmd7.hpp" #include "corrupt.hpp" #include "gods.hpp" diff --git a/src/externs.h b/src/externs.h index 59c19356..2f7be555 100644 --- a/src/externs.h +++ b/src/externs.h @@ -462,22 +462,6 @@ extern const char *get_version_string(); /* birth.c */ extern bool_ no_begin_screen; -/* cmd6.c */ -extern void set_stick_mode(object_type *o_ptr); -extern void unset_stick_mode(void); -extern void do_cmd_eat_food(void); -extern void do_cmd_quaff_potion(void); -extern void do_cmd_read_scroll(void); -extern void do_cmd_aim_wand(void); -extern void do_cmd_use_staff(void); -extern void do_cmd_zap_rod(void); -extern const char *activation_aux(object_type *o_ptr, bool_ desc, int item); -extern void do_cmd_activate(void); -extern void do_cmd_cut_corpse(void); -extern void do_cmd_cure_meat(void); -extern void do_cmd_drink_fountain(void); -extern void do_cmd_fill_bottle(void); - /* cmd7.c */ extern void do_cmd_create_boulder(void); extern int rune_exec(rune_spell *spell, int cost); diff --git a/src/object1.cc b/src/object1.cc index dc80962a..b5b25c59 100644 --- a/src/object1.cc +++ b/src/object1.cc @@ -9,6 +9,7 @@ #include "angband.h" #include "cave.hpp" #include "cmd2.hpp" +#include "cmd6.hpp" #include "hooks.h" #include "lua_bind.hpp" #include "mimic.hpp" |