From cc9ba6c05755e235c14daa555bbd037813f91a6e Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Thu, 11 Dec 2008 11:31:22 +0000 Subject: * Nerf harpies a bit: they are now slower and have no bite attack (which didn't make sense anyway). * Also list player god in the saved game selection menu. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7808 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/docs/changes.stone_soup | 9 --------- crawl-ref/settings/init.txt | 5 +++-- crawl-ref/source/externs.h | 2 ++ crawl-ref/source/mon-data.h | 6 +++--- crawl-ref/source/monstuff.cc | 34 +++++++++++++++++++--------------- crawl-ref/source/player.cc | 20 ++++++++++++-------- crawl-ref/source/rltiles/dc-dngn.txt | 2 +- crawl-ref/source/tags.cc | 34 +++++++++++++++++----------------- 8 files changed, 57 insertions(+), 55 deletions(-) diff --git a/crawl-ref/docs/changes.stone_soup b/crawl-ref/docs/changes.stone_soup index 647ae56a63..6714f0cebf 100644 --- a/crawl-ref/docs/changes.stone_soup +++ b/crawl-ref/docs/changes.stone_soup @@ -20,7 +20,6 @@ Monsters * Make vampiric draining alert and anger its target. * Fixed draconians being able to strike 3 times per turn with their weapons. * Account for randart shields when scanning monsters' inventories for randarts. -* Properly allow monsters to pick up and use ammo that doesn't need launchers. * Fixed monsters getting stuck in deep water after entering it while confused. * Zombies/skeletons no longer drown, but will still avoid water. * Make abominations resist poison. @@ -34,20 +33,14 @@ Interface * Change exclusion commands to e, E, Ctrl-E (was Ctrl-X, x, Ctrl-E). * Switch off autopickup and autoswap if you see a monster turn invisible. * Shops now use shopping cart behaviour. -* All 't' commands now take a turn. * Wizard commands can now be used from the wizard help screen. * With a full pack, check entire list of selected items to allow for merging. -* Added an aptitudes hotkey for the book/weapon choice submenus. * Added an option to make menu colours apply to shops. * Greatly improved the monster view command ('V'). * Purchases and donations are now noted. -* Fixed recharged wands not being inscribed with zap counts. -* Fixed auto-swapping rings and amulets taking twice as long as normal. -* Only sharp weapons are now offered for butchering. * The database search now also prints armour base AC/EV and weapon plusses. * Add spells and books to book/spell descriptions when searching the database. * Allow wishing for specific fixed and randarts in wizard mode ('o' command). -* Fixed =f inscription preventing wielding of stones. * Add food item based hunger descriptions to spells. Levels @@ -58,7 +51,6 @@ Levels * The Orcish Mines are now completely interconnected via the branch bottom. * Ghosts may no longer appear in the Ecumenic Temple. * Traps now remember how much ammunition they have. -* Properly disable traps in the Abyss. * Branch descriptions now mention depth and whether they contain a rune. * Fixed KMONS not accepting comma-separated list of alternative monsters. * Tweaked most of the oklob vaults to make them less dangerous. @@ -91,7 +83,6 @@ Characters * Draining of the experience pool is now reduced by life protection. * Player and monster naga no longer flounder or lose stealth in shallow water. * Secondary unarmed attacks now wake sleeping monsters. -* Fixed bats being capable of opening/closing doors. * Pure spellcasters don't start with a knife anymore. * Tweak starting choice restrictions. diff --git a/crawl-ref/settings/init.txt b/crawl-ref/settings/init.txt index 15738aff8c..e807442450 100644 --- a/crawl-ref/settings/init.txt +++ b/crawl-ref/settings/init.txt @@ -180,6 +180,7 @@ runrest_ignore_message = safely over a trap runrest_ignore_message = You feel.*sick runrest_ignore_poison = 2:30 runrest_ignore_monster = fish:2 +runrest_ignore_monster = shark:2 runrest_ignore_monster = butterfly:1 # runrest_ignore_monster = swamp worm:3 @@ -266,8 +267,8 @@ include = menu_colours.txt menu_colour = pickup:green:god gift # Highlight (partly) selected items -menu_colour = inventory:white:\w \+ \w -menu_colour = inventory:white:\w \# \w +menu_colour = inventory:white:\w \+\s +menu_colour = inventory:white:\w \#\s # Colouring of messages include = messages.txt diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h index f70b4376c7..4be82a7c62 100644 --- a/crawl-ref/source/externs.h +++ b/crawl-ref/source/externs.h @@ -1136,6 +1136,8 @@ struct player_save_info bool wizard; species_type species; std::string class_name; + god_type religion; + player_save_info operator=(const player& rhs); bool operator<(const player_save_info& rhs) const; std::string short_desc() const; diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h index 422064a433..a3116488fa 100644 --- a/crawl-ref/source/mon-data.h +++ b/crawl-ref/source/mon-data.h @@ -2160,11 +2160,11 @@ static monsterentry mondata[] = { M_FLIES | M_WARM_BLOOD | M_BATTY, MR_RES_POISON, 1000, 12, MONS_HARPY, MONS_HARPY, MH_NATURAL, -3, - { {AT_BITE, AF_PLAIN, 10}, {AT_CLAW, AF_PLAIN, 8}, - {AT_CLAW, AF_STEAL_FOOD, 5}, AT_NO_ATK }, + { {AT_CLAW, AF_PLAIN, 10}, {AT_CLAW, AF_STEAL_FOOD, 8}, + AT_NO_ATK, AT_NO_ATK }, { 7, 3, 5, 0 }, 2, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SCREECH, I_NORMAL, - HT_LAND, 30, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_MEDIUM + HT_LAND, 25, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_MEDIUM }, // ice beast ('I') diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 513388d10a..ca69ef8926 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -1762,7 +1762,7 @@ static bool _is_poly_power_unsuitable( poly_power_type power, } } -// if targetc == RANDOM_MONSTER, then relpower indicates the desired +// If targetc == RANDOM_MONSTER, then relpower indicates the desired // power of the new monster, relative to the current monster. // Relaxation still takes effect when needed, no matter what relpower // says. @@ -1820,25 +1820,29 @@ bool monster_polymorph(monsters *monster, monster_type targetc, // Messaging. bool can_see = you.can_see(monster); - if (mons_is_shapeshifter(monster)) - str_polymon = " changes into "; - else if (targetc == MONS_PULSATING_LUMP) - str_polymon = " degenerates into "; - else - str_polymon = " evaporates and reforms as "; - - if (!can_see) - str_polymon += "something you cannot see!"; + if (monster->type == MONS_OGRE && targetc == MONS_TWO_HEADED_OGRE) + str_polymon = " grows a second head!"; else { - str_polymon += mons_type_name(targetc, DESC_NOCAP_A); + if (mons_is_shapeshifter(monster)) + str_polymon = " changes into "; + else if (targetc == MONS_PULSATING_LUMP) + str_polymon = " degenerates into "; + else + str_polymon = " evaporates and reforms as "; + + if (!can_see) + str_polymon += "something you cannot see!"; + else + { + str_polymon += mons_type_name(targetc, DESC_NOCAP_A); - if (targetc == MONS_PULSATING_LUMP) - str_polymon += " of flesh"; + if (targetc == MONS_PULSATING_LUMP) + str_polymon += " of flesh"; - str_polymon += "!"; + str_polymon += "!"; + } } - bool player_messaged = simple_monster_message(monster, str_polymon.c_str()); // Even if the monster transforms from one type that can behold the diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index ef3d1a5f66..5dbd7003eb 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -5788,19 +5788,20 @@ void player::init() player_save_info player_save_info::operator=(const player& rhs) { - name = rhs.your_name; - experience = rhs.experience; + name = rhs.your_name; + experience = rhs.experience; experience_level = rhs.experience_level; - wizard = rhs.wizard; - species = rhs.species; - class_name = rhs.class_name; - return *this; + wizard = rhs.wizard; + species = rhs.species; + class_name = rhs.class_name; + religion = rhs.religion; + return (*this); } bool player_save_info::operator<(const player_save_info& rhs) const { - return experience < rhs.experience || - (experience == rhs.experience && name < rhs.name); + return experience < rhs.experience + || (experience == rhs.experience && name < rhs.name); } std::string player_save_info::short_desc() const @@ -5810,6 +5811,9 @@ std::string player_save_info::short_desc() const << species_name(species, experience_level) << ' ' << class_name; + if (religion != GOD_NO_GOD) + desc << " of " << god_name(religion); + #ifdef WIZARD if (wizard) desc << " (WIZ)"; diff --git a/crawl-ref/source/rltiles/dc-dngn.txt b/crawl-ref/source/rltiles/dc-dngn.txt index 40ffda2fb2..1fc9b95cd3 100644 --- a/crawl-ref/source/rltiles/dc-dngn.txt +++ b/crawl-ref/source/rltiles/dc-dngn.txt @@ -378,7 +378,7 @@ shop_jewellery SHOP_JEWELLERY shop_potions SHOP_POTIONS %back none %shrink 1 -dngn_abandoned_shop ABANDONED_SHOP +dngn_abandoned_shop DNGN_ABANDONED_SHOP %sdir dc-dngn dngn_enter_labyrinth DNGN_ENTER_LABYRINTH diff --git a/crawl-ref/source/tags.cc b/crawl-ref/source/tags.cc index 98eb7be697..9f1bae2103 100644 --- a/crawl-ref/source/tags.cc +++ b/crawl-ref/source/tags.cc @@ -1261,24 +1261,24 @@ static void tag_read_you(reader &th, char minorVersion) unmarshallCString(th, you.your_name, 30); - you.religion = static_cast(unmarshallByte(th)); - you.piety = unmarshallByte(th); - you.rotting = unmarshallByte(th); - you.symbol = unmarshallByte(th); - you.colour = unmarshallByte(th); - you.pet_target = unmarshallShort(th); - - you.max_level = unmarshallByte(th); - you.where_are_you = static_cast( unmarshallByte(th) ); - you.char_direction = static_cast(unmarshallByte(th)); - you.your_level = unmarshallByte(th); - you.is_undead = static_cast(unmarshallByte(th)); - you.special_wield = unmarshallByte(th); - you.berserk_penalty = unmarshallByte(th); - you.sage_bonus_skill = static_cast(unmarshallShort(th)); + you.religion = static_cast(unmarshallByte(th)); + you.piety = unmarshallByte(th); + you.rotting = unmarshallByte(th); + you.symbol = unmarshallByte(th); + you.colour = unmarshallByte(th); + you.pet_target = unmarshallShort(th); + + you.max_level = unmarshallByte(th); + you.where_are_you = static_cast( unmarshallByte(th) ); + you.char_direction = static_cast(unmarshallByte(th)); + you.your_level = unmarshallByte(th); + you.is_undead = static_cast(unmarshallByte(th)); + you.special_wield = unmarshallByte(th); + you.berserk_penalty = unmarshallByte(th); + you.sage_bonus_skill = static_cast(unmarshallShort(th)); you.sage_bonus_degree = unmarshallLong(th); - you.level_type = static_cast( unmarshallByte(th) ); - you.level_type_name = unmarshallString(th); + you.level_type = static_cast( unmarshallByte(th) ); + you.level_type_name = unmarshallString(th); if (minorVersion >= TAG_MINOR_LUADGN) { -- cgit v1.2.3-54-g00ecf