, level(level)
, power(power)
{
- this->decide_skip();
+}
+
+void AbstractWeaponEnchanter::decide_skip()
+{
+ if (this->power == 0) {
+ this->should_skip = true;
+ }
+}
+
+void AbstractWeaponEnchanter::apply_magic()
+{
if (this->should_skip) {
return;
}
+ this->prepare_application();
+}
+
+void AbstractWeaponEnchanter::prepare_application()
+{
auto tohit1 = static_cast<short>(randint1(5) + m_bonus(5, this->level));
auto todam1 = static_cast<short>(randint1(5) + m_bonus(5, this->level));
auto tohit2 = static_cast<short>(m_bonus(10, this->level));
}
}
}
-
-void AbstractWeaponEnchanter::decide_skip()
-{
- if (this->power == 0) {
- this->should_skip = true;
- }
-}
{
}
-void HaftedEnchanter::decide_skip()
-{
- AbstractWeaponEnchanter::decide_skip();
- this->should_skip |= this->o_ptr->sval == SV_DEATH_SCYTHE;
-}
-
void HaftedEnchanter::give_ego_index()
{
while (true) {
HaftedEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
protected:
- void decide_skip() override;
void sval_enchant() override{};
void give_ego_index() override;
void give_high_ego_index() override{};