From 1ec85725d1e87db172a4cab09f8b2710ddc83a4b Mon Sep 17 00:00:00 2001 From: dshaligram Date: Sun, 15 Apr 2007 07:24:00 +0000 Subject: Shield blocks are much harder vs invisible attackers. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1316 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/fight.cc | 5 ++++- crawl-ref/source/mapdef.h | 43 ------------------------------------------- 2 files changed, 4 insertions(+), 44 deletions(-) diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index c8fe040218..0362cad36d 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -2503,7 +2503,10 @@ bool melee_attack::attack_shield_blocked(bool verbose) const int con_block = random2(attacker->shield_bypass_ability(to_hit) + defender->shield_block_penalty()); - const int pro_block = defender->shield_bonus(); + int pro_block = defender->shield_bonus(); + + if (attacker->invisible() && !defender->can_see_invisible()) + pro_block /= 3; if (pro_block >= con_block) { diff --git a/crawl-ref/source/mapdef.h b/crawl-ref/source/mapdef.h index 238df8957a..8a9762e3fa 100644 --- a/crawl-ref/source/mapdef.h +++ b/crawl-ref/source/mapdef.h @@ -375,49 +375,6 @@ private: const std::string &s, bool fixed)); }; -class monster_chance -{ -public: - int mclass; - int level; - int rarity; -}; - -class level_def -{ -public: - // The range of levels to which this def applies. - level_range range; - - // Can be empty, in which case the default colours are applied. - std::string floor_colour, rock_colour; - std::string tags; - - // The probability of requesting a random vault. - int p_vault; - - // The probability of requesting a random minivault. - int p_minivault; - - // If non-empty, any upstair will go straight to this level. - std::string upstair_targ, downstair_targ; - - std::vector monsters; -}; - -class dungeon_def -{ -public: - std::string idstr; - int id; - std::string short_desc, full_desc; - - std::vector level_specs; - -public: - const level_def &specs(int subdepth); -}; - std::string escape_string(std::string in, const std::string &toesc, const std::string &escapewith); -- cgit v1.2.3-54-g00ecf