summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorDavid Ploog <dploog@users.sourceforge.net>2009-10-09 21:04:35 +0200
committerDavid Ploog <dploog@users.sourceforge.net>2009-10-09 21:04:35 +0200
commitb65e32d753043c19426027815381223482730038 (patch)
treea45afcdbd3a66673d0fe6f9079c9d2cf74615bf9 /crawl-ref
parentb003a3c41f8f100877480cdd639f5de80c82cc6e (diff)
parentf3cb0b5b9e11e177a06ff9cd6621380329b024cc (diff)
downloadcrawl-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.txt42
-rw-r--r--crawl-ref/source/Crawl.xcodeproj/project.pbxproj60
-rw-r--r--crawl-ref/source/mon-util.cc2
-rw-r--r--crawl-ref/source/monstuff.cc7
-rw-r--r--crawl-ref/source/mstuff2.cc72
-rw-r--r--crawl-ref/source/mstuff2.h3
-rw-r--r--crawl-ref/source/player.cc12
-rw-r--r--crawl-ref/source/tilepick.cc1
-rw-r--r--crawl-ref/source/tilereg.cc1
-rw-r--r--crawl-ref/source/util/includes.sh3
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'