3 #include "object-enchant/tr-types.h"
4 #include "system/angband.h"
9 bool potion_smash_effect(PlayerType *player_ptr, MONSTER_IDX who, POSITION y, POSITION x, short bi_id);
10 PERCENTAGE breakage_chance(PlayerType *player_ptr, ItemEntity *o_ptr, bool has_archer_bonus, SPELL_IDX snipe_type);
14 ObjectBreaker(tr_type ignore_flg);
17 virtual ~ObjectBreaker() = default;
18 bool can_destroy(ItemEntity *o_ptr) const;
19 virtual bool hates(ItemEntity *o_ptr) const = 0;
25 class BreakerAcid : public ObjectBreaker {
28 virtual ~BreakerAcid() = default;
29 bool hates(ItemEntity *o_ptr) const;
32 class BreakerElec : public ObjectBreaker {
35 virtual ~BreakerElec() = default;
36 bool hates(ItemEntity *o_ptr) const;
39 class BreakerFire : public ObjectBreaker {
42 virtual ~BreakerFire() = default;
43 bool hates(ItemEntity *o_ptr) const;
46 class BreakerCold : public ObjectBreaker {
49 virtual ~BreakerCold() = default;
50 bool hates(ItemEntity *o_ptr) const;