diff options
author | David Ploog <dploog@users.sourceforge.net> | 2009-10-09 21:04:35 +0200 |
---|---|---|
committer | David Ploog <dploog@users.sourceforge.net> | 2009-10-09 21:04:35 +0200 |
commit | b65e32d753043c19426027815381223482730038 (patch) | |
tree | a45afcdbd3a66673d0fe6f9079c9d2cf74615bf9 /crawl-ref | |
parent | b003a3c41f8f100877480cdd639f5de80c82cc6e (diff) | |
parent | f3cb0b5b9e11e177a06ff9cd6621380329b024cc (diff) | |
download | crawl-ref-b65e32d753043c19426027815381223482730038.tar.gz crawl-ref-b65e32d753043c19426027815381223482730038.zip |
Merge branch 'master' of ssh://dploog@crawl-ref.git.sourceforge.net/gitroot/crawl-ref/crawl-ref
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/docs/changelog.txt | 42 | ||||
-rw-r--r-- | crawl-ref/source/Crawl.xcodeproj/project.pbxproj | 60 | ||||
-rw-r--r-- | crawl-ref/source/mon-util.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/monstuff.cc | 7 | ||||
-rw-r--r-- | crawl-ref/source/mstuff2.cc | 72 | ||||
-rw-r--r-- | crawl-ref/source/mstuff2.h | 3 | ||||
-rw-r--r-- | crawl-ref/source/player.cc | 12 | ||||
-rw-r--r-- | crawl-ref/source/tilepick.cc | 1 | ||||
-rw-r--r-- | crawl-ref/source/tilereg.cc | 1 | ||||
-rw-r--r-- | crawl-ref/source/util/includes.sh | 3 |
10 files changed, 145 insertions, 58 deletions
diff --git a/crawl-ref/docs/changelog.txt b/crawl-ref/docs/changelog.txt index 07c95eca40..9a759f63d1 100644 --- a/crawl-ref/docs/changelog.txt +++ b/crawl-ref/docs/changelog.txt @@ -41,6 +41,48 @@ Stone Soup 0.6 * Tiles: added clickable spells display (toggle with '_' command). * All spectral things can use stairs again. + +Stone Soup 0.5.2 (20091008) +--------------------------- + +Disclaimer: These are merely the highlights, not an exhaustive list of changes. + +* Fixed tiles crashes with certain resolutions. +* Fixed Mac build sometimes not finding the graphics files. +* Fixed NSLayoutManager crash with OSX. +* OSX executables no longer require installation of fink. +* DCSS now builds on FreeBSD straight out of the box. +* DCSS now uses git for version control. +* Fixed Lee's Rapid Deconstruction having no effect at low levels. +* Fixed weird beam tiles for unknown beam types. +* Fixed Xom's infinite teleportation journeys. +* Fixed disconnected pan vaults. +* Fixed missile +1 enchantment not reducing mulch rate. +* Fixed some issues with melded equipment. +* Fixed casting of spells on slot 'I' being impossible. +* Fixed temporary unlinked item bug. +* Fixed monsters being unable to pick up or carry healing potions. +* Fixed mummy monsters drinking potions. +* Fixed stationary monsters floundering in shallow water. +* Fixed minivaults sometimes being placed without overlapping floor squares. +* Fixed friendly fire among monsters. +* Fixed insane damage dealt by Pain card. +* Fixed clawed butchering both removing gloves and unwielding weapon. +* Fixed submerged shapeshifters not unsubmerging properly. +* Fixed monster mephitic cloud not working against the player properly. +* Removed entry vaults with lethal fog generators for now. +* Get rid of out of depth eels in fountains. +* Greatly tweak ice cave vaults. +* Some other vault tweaks. +* All worms except brain worm and all wasps are now mindless. +* Demonspawn Troggies don't get Channeling anymore. +* Z does not show spell list automatically anymore. +* Added an option "darken_beyond_range" (defaults to true) for spell ranges. +* Default "force_more_message = You fall through a shaft" to true. +* Reintroduced out of sight mouseover descriptions for Tiles. +* Replaced post-explosion -More- prompt with a delay. +* In the ASCII version, colour silenced grids cyan. + Stone Soup 0.5.1 (20090728) --------------------------- diff --git a/crawl-ref/source/Crawl.xcodeproj/project.pbxproj b/crawl-ref/source/Crawl.xcodeproj/project.pbxproj index 6b5b69956f..bbdc9a1904 100644 --- a/crawl-ref/source/Crawl.xcodeproj/project.pbxproj +++ b/crawl-ref/source/Crawl.xcodeproj/project.pbxproj @@ -386,6 +386,11 @@ D2AE25F90DA262DD00E15489 /* crawl in Copy Wrapper Script */ = {isa = PBXBuildFile; fileRef = D2AE25EE0DA2624E00E15489 /* crawl */; }; D2F272350DA1C5AD00445FE9 /* dat in Resources */ = {isa = PBXBuildFile; fileRef = D2F271FE0DA1C5AD00445FE9 /* dat */; }; D2F2725B0DA1C61600445FE9 /* docs in Resources */ = {isa = PBXBuildFile; fileRef = D2F2723F0DA1C61600445FE9 /* docs */; }; + E14D930F107FA77200E3F5FE /* los.cc in Sources */ = {isa = PBXBuildFile; fileRef = E14D930A107FA77200E3F5FE /* los.cc */; }; + E14D9310107FA77200E3F5FE /* losparam.cc in Sources */ = {isa = PBXBuildFile; fileRef = E14D930B107FA77200E3F5FE /* losparam.cc */; }; + E14D9311107FA77200E3F5FE /* mon-los.cc in Sources */ = {isa = PBXBuildFile; fileRef = E14D930C107FA77200E3F5FE /* mon-los.cc */; }; + E14D9312107FA77200E3F5FE /* ray.cc in Sources */ = {isa = PBXBuildFile; fileRef = E14D930D107FA77200E3F5FE /* ray.cc */; }; + E14D9313107FA77200E3F5FE /* sha256.cc in Sources */ = {isa = PBXBuildFile; fileRef = E14D930E107FA77200E3F5FE /* sha256.cc */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -908,6 +913,11 @@ D2F271F80DA1C58C00445FE9 /* Crawl-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Crawl-Info.plist"; sourceTree = "<group>"; }; D2F271FE0DA1C5AD00445FE9 /* dat */ = {isa = PBXFileReference; lastKnownFileType = folder; path = dat; sourceTree = "<group>"; }; D2F2723F0DA1C61600445FE9 /* docs */ = {isa = PBXFileReference; lastKnownFileType = folder; name = docs; path = ../docs; sourceTree = SOURCE_ROOT; }; + E14D930A107FA77200E3F5FE /* los.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = los.cc; sourceTree = "<group>"; }; + E14D930B107FA77200E3F5FE /* losparam.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = losparam.cc; sourceTree = "<group>"; }; + E14D930C107FA77200E3F5FE /* mon-los.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "mon-los.cc"; sourceTree = "<group>"; }; + E14D930D107FA77200E3F5FE /* ray.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ray.cc; sourceTree = "<group>"; }; + E14D930E107FA77200E3F5FE /* sha256.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sha256.cc; sourceTree = "<group>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -957,6 +967,11 @@ 08FB7794FE84155DC02AAC07 /* Crawl */ = { isa = PBXGroup; children = ( + E14D930A107FA77200E3F5FE /* los.cc */, + E14D930B107FA77200E3F5FE /* losparam.cc */, + E14D930C107FA77200E3F5FE /* mon-los.cc */, + E14D930D107FA77200E3F5FE /* ray.cc */, + E14D930E107FA77200E3F5FE /* sha256.cc */, C6A0FF2B0290797F04C91782 /* Documentation */, D25C91990FF037A000D9E8AD /* Frameworks */, 7B3B07610BD13B1700F2980E /* Libraries */, @@ -1737,6 +1752,11 @@ D274AC5A0FE66EFC00C9C1AE /* spl-mis.cc in Sources */, D2A72B2A101173C000E1A883 /* artefact.cc in Sources */, B07818DF1075D979008C3B64 /* sqldbm.cc in Sources */, + E14D930F107FA77200E3F5FE /* los.cc in Sources */, + E14D9310107FA77200E3F5FE /* losparam.cc in Sources */, + E14D9311107FA77200E3F5FE /* mon-los.cc in Sources */, + E14D9312107FA77200E3F5FE /* ray.cc in Sources */, + E14D9313107FA77200E3F5FE /* sha256.cc in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1961,13 +1981,13 @@ GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_VALUE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET_i386 = 10.4; - MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + MACOSX_DEPLOYMENT_TARGET_i386 = 10.5; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.5; MACOSX_DEPLOYMENT_TARGET_x86_64 = 10.5; PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; - SDKROOT_i386 = /Developer/SDKs/MacOSX10.4u.sdk; - SDKROOT_ppc = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; + SDKROOT_i386 = /Developer/SDKs/MacOSX10.5.sdk; + SDKROOT_ppc = /Developer/SDKs/MacOSX10.5.sdk; SDKROOT_x86_64 = /Developer/SDKs/MacOSX10.5.sdk; WARNING_CFLAGS = ""; }; @@ -2091,13 +2111,13 @@ GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_VALUE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET_i386 = 10.4; - MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + MACOSX_DEPLOYMENT_TARGET_i386 = 10.5; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.5; MACOSX_DEPLOYMENT_TARGET_x86_64 = 10.5; PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; - SDKROOT_i386 = /Developer/SDKs/MacOSX10.4u.sdk; - SDKROOT_ppc = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; + SDKROOT_i386 = /Developer/SDKs/MacOSX10.5.sdk; + SDKROOT_ppc = /Developer/SDKs/MacOSX10.5.sdk; SDKROOT_x86_64 = /Developer/SDKs/MacOSX10.5.sdk; WARNING_CFLAGS = ""; }; @@ -2159,13 +2179,13 @@ GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_VALUE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET_i386 = 10.4; - MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + MACOSX_DEPLOYMENT_TARGET_i386 = 10.5; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.5; MACOSX_DEPLOYMENT_TARGET_x86_64 = 10.5; PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; - SDKROOT_i386 = /Developer/SDKs/MacOSX10.4u.sdk; - SDKROOT_ppc = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; + SDKROOT_i386 = /Developer/SDKs/MacOSX10.5.sdk; + SDKROOT_ppc = /Developer/SDKs/MacOSX10.5.sdk; SDKROOT_x86_64 = /Developer/SDKs/MacOSX10.5.sdk; WARNING_CFLAGS = ""; }; @@ -2222,13 +2242,13 @@ GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_VALUE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET_i386 = 10.4; - MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + MACOSX_DEPLOYMENT_TARGET_i386 = 10.5; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.5; MACOSX_DEPLOYMENT_TARGET_x86_64 = 10.5; PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; - SDKROOT_i386 = /Developer/SDKs/MacOSX10.4u.sdk; - SDKROOT_ppc = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; + SDKROOT_i386 = /Developer/SDKs/MacOSX10.5.sdk; + SDKROOT_ppc = /Developer/SDKs/MacOSX10.5.sdk; SDKROOT_x86_64 = /Developer/SDKs/MacOSX10.5.sdk; WARNING_CFLAGS = ""; }; diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc index 90abce1842..a52cb91523 100644 --- a/crawl-ref/source/mon-util.cc +++ b/crawl-ref/source/mon-util.cc @@ -8037,7 +8037,7 @@ bool monsters::mutate() // (very) ugly thing. if (type == MONS_UGLY_THING || type == MONS_VERY_UGLY_THING) { - ugly_thing_energy_mutate(this); + ugly_thing_mutate(this); return (true); } diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index de0534aeb7..226abf2fcd 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -5811,9 +5811,10 @@ static bool _handle_special_ability(monsters *monster, bolt & beem) { case MONS_UGLY_THING: case MONS_VERY_UGLY_THING: - // A (very) ugly thing's proximity to others of its kind can - // mutate it into a different (very) ugly thing. - used = ugly_thing_proximity_mutate(monster); + // A (very) ugly thing's proximity to you if you're glowing, or + // to others of its kind, can mutate it into a different (very) + // ugly thing. + used = ugly_thing_mutate(monster, true); break; case MONS_ORC_KNIGHT: diff --git a/crawl-ref/source/mstuff2.cc b/crawl-ref/source/mstuff2.cc index a4ad05224b..26d76393ab 100644 --- a/crawl-ref/source/mstuff2.cc +++ b/crawl-ref/source/mstuff2.cc @@ -2484,50 +2484,72 @@ bool orange_statue_effects(monsters *mons) return (false); } -void ugly_thing_energy_mutate(monsters *ugly) +bool ugly_thing_mutate(monsters *ugly, bool proximity) { - simple_monster_message(ugly, - " basks in the mutagenic energy and changes!"); - ugly->uglything_mutate(); -} + bool success = false; -bool ugly_thing_proximity_mutate(monsters *ugly) -{ - if (one_chance_in(9)) + std::string src = ""; + + if (!proximity) + success = true; + else if (one_chance_in(8)) { - int mutate_chance = 0; + int you_mutate_chance = 0; + int mon_mutate_chance = 0; for (adjacent_iterator ri(ugly->pos()); ri; ++ri) { - monsters *ugly_near = monster_at(*ri); - - if (ugly_near == NULL) - continue; - - if (ugly_near->type == MONS_UGLY_THING - || ugly_near->type == MONS_VERY_UGLY_THING) + if (you.pos() == *ri) + you_mutate_chance = get_contamination_level(); + else { - if (coinflip()) - mutate_chance++; + monsters *ugly_near = monster_at(*ri); + + if (ugly_near == NULL) + continue; - if (ugly_near->type == MONS_VERY_UGLY_THING) + if (ugly_near->type == MONS_UGLY_THING + || ugly_near->type == MONS_VERY_UGLY_THING) { if (coinflip()) - mutate_chance++; + mon_mutate_chance++; + + if (ugly_near->type == MONS_VERY_UGLY_THING) + { + if (coinflip()) + mon_mutate_chance++; + } } } } - if (!one_chance_in(mutate_chance + 1)) + you_mutate_chance = std::min(16, you_mutate_chance); + mon_mutate_chance = std::min(16, mon_mutate_chance); + + if (!one_chance_in(you_mutate_chance + mon_mutate_chance + 1)) { - simple_monster_message(ugly, - " basks in the mutagenic energy from its kin and changes!"); - ugly->uglything_mutate(); + const bool proximity_you = + (you_mutate_chance > mon_mutate_chance) ? true : + (you_mutate_chance == mon_mutate_chance) ? coinflip() + : false; - return (true); + src = proximity_you ? " from you" : " from its kin"; + + success = true; } } + if (success) + { + simple_monster_message(ugly, + make_stringf(" basks in the mutagenic energy%s and changes!", + src.c_str()).c_str()); + + ugly->uglything_mutate(); + + return (true); + } + return (false); } diff --git a/crawl-ref/source/mstuff2.h b/crawl-ref/source/mstuff2.h index 4265c75e30..0529d03c86 100644 --- a/crawl-ref/source/mstuff2.h +++ b/crawl-ref/source/mstuff2.h @@ -27,8 +27,7 @@ bool monster_random_space(const monsters *monster, coord_def& target, bool monster_random_space(monster_type mon, coord_def& target, bool forbid_sanctuary = false); void monster_teleport(monsters *monster, bool instan, bool silent = false); -void ugly_thing_energy_mutate(monsters *ugly); -bool ugly_thing_proximity_mutate(monsters *ugly); +bool ugly_thing_mutate(monsters *ugly, bool proximity = false); bool orc_battle_cry(monsters *chief); bool orange_statue_effects(monsters *mons); bool silver_statue_effects(monsters *mons); diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 72bf5841b7..3f31de9ebc 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -5284,15 +5284,15 @@ int get_contamination_level() if (glow > 60) return (glow / 20 + 2); if (glow > 40) - return 4; + return (4); if (glow > 25) - return 3; + return (3); if (glow > 15) - return 2; + return (2); if (glow > 5) - return 1; + return (1); - return 0; + return (0); } // controlled is true if the player actively did something to cause @@ -7320,7 +7320,7 @@ bool player::can_see(const actor *target) const bool player::backlit(bool check_haloed) const { - return (get_contamination_level() >= 1 || duration[DUR_BACKLIGHT] + return (get_contamination_level() > 0 || duration[DUR_BACKLIGHT] || (check_haloed ? haloed() : false)); } diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc index 67fae5303a..5373fd9284 100644 --- a/crawl-ref/source/tilepick.cc +++ b/crawl-ref/source/tilepick.cc @@ -17,6 +17,7 @@ REVISION("$Rev$"); #include "items.h" #include "itemprop.h" #include "kills.h" +#include "los.h" #include "macro.h" #include "monstuff.h" #include "mon-util.h" diff --git a/crawl-ref/source/tilereg.cc b/crawl-ref/source/tilereg.cc index 17b6a75002..e71b52d284 100644 --- a/crawl-ref/source/tilereg.cc +++ b/crawl-ref/source/tilereg.cc @@ -17,6 +17,7 @@ REVISION("$Rev$"); #include "it_use2.h" #include "item_use.h" #include "items.h" +#include "los.h" #include "macro.h" #include "message.h" #include "misc.h" diff --git a/crawl-ref/source/util/includes.sh b/crawl-ref/source/util/includes.sh index f2583ed87a..69b40037f8 100644 --- a/crawl-ref/source/util/includes.sh +++ b/crawl-ref/source/util/includes.sh @@ -105,7 +105,8 @@ cleanup () /^quiver.h it_use2.cc$/d; /^quiver.h output.cc$/d; /^ghost.h kills.cc$/d; - /^cmd-\(name\|keys\)\.h macro.cc$/d; + /^cmd-name.h macro.cc$/d; + /^cmd-keys.h macro.cc$/d; /^mon-spll.h mon-util.cc$/d; /^AppHdr.h /d; / artefact.cc/d' |