diff --git a/CHANGELOG.md b/CHANGELOG.md index beaf1387..1431b69d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,98 @@ +1.14 +==== + +A fairly big update, featuring new feats, many combat and resurrection tweaks, +and more. + +Thanks to contributors Kissyboots, Matti Armston, Nathan Fenner, Nathan +Stoddard, and co-maintainers flend and zenzombie. + +## Gameplay changes + +- A discordant ally will no longer swap places with the player and can be + attacked. Attacks require player confirmation and will not make the ally an + enemy. +- Fixed an issue that prevented allies (e.g. kraken) from learning abilities + from monsters that die in certain terrain (e.g. deep water). +- Allies can now spear attack over the player. +- Monsters with a spear or whip attack can no longer attack around corners. +- Jellies now die without splitting when hit with a slaying or quietus weapon. +- Resurrection altars now function differently for phoenixes and liches. The + phoenix egg or phylactery will be revived instead, and the ability to turn + into a phoenix or lich restored. Similarly, a vampire's ability to spawn + vampire bats will be restored. +- If the player is seized by a submerged monster they can see (i.e. player is + also submerged), it will now immediately surface so it can be targeted with + staffs/wands. +- Overhauled feats: + - Removed nearly impossible feats 'Pacifist', 'Archivist', 'Indomitable', + and 'Ascetic'. + - Added a new "Feats" menu option that shows a screen with all the feats and + whether the player has achieved or failed them. + - The 'Paladin' feat is no longer lost when the player is unaware of the + monster, the player is seized, the monster is generated immobile (totems, + turrets, etc.), or the monster is immune to physical attacks. + - The 'Companion' feat now requires exploring only (approximately) 13 floors + with an ally instead of 20. Exploration is measured by the number of newly + discovered traversable squares while an ally is within one floor of the + player. + - The 'Pure Mage' feat now allows the player to attack with their fists. + Good luck with that. +- Drinking a strength potion now causes weakness to be removed from a character + immediately, so that receiving another weakening attack on the same turn does + not completely negate the potion. +- Fixed a bug which treated obsidian as shallow water, allowing a kraken to both + traverse it and sieze monsters or the player standing in it. +- Monsters that are summoned by allies (furies, phantoms, vampire bats) are no + longer eligible for resurrection. Only the summoner will be resurrected. +- Destroying a phoenix egg or phylactery now counts toward weapon auto-ID. +- When arriving on a level with items "obstructing" the stairs, the player now + appears by the stairs like normal, on top of the item, instead of being placed + on a nearby free cell. A message is displayed describing the item. +- Fixed a bug where items in deep water could drift diagonally through walls. + Items can now only drift to an available adjacent cell. +- Fixed a bug where shattering failed to destroy sentinels at the edge of the + dungeon. + +## UI changes + +- Players can now view summary statistics of games played by selecting the "Game + Stats" option from the "View" menu. Statistics are collected only for games + played since the menu option became available. +- The auto-targeting system now understands much more about whether the used + item will have an effect, and skips target where it won't. This includes + taking into account reflection, fire immunity, health (for domination and + healing), negatable abilities, proximity (for beckoning), and weapon immunity. +- When using a known staff of tunneling, turrets and sentinels will now be + auto-targeted. +- Fixed issues where auto-targeting leaked information about an unknown staff or + wand. +- The monster details window now includes information about the effect of + negation if the player has a known means to negate the monster. +- The monster details window now includes information about the effect of + tunneling or shattering if the player has such a staff. +- When an inanimate monster (e.g. turret or totem) is negated, a combat message + is now displayed and the sidebar will show the negated status. +- Fixed a bug where a closed door affected by descent would no longer be visible + but would still block visibility. They now remain visible. +- Staves and wands that affect allies are now displayed correctly on the + discovered items screen. +- If the player occupies a location with an item, the item is now shown in the + sidebar. Additionally, the item is included in the description when inspecting + the player's location. +- When inspecting a location, item descriptions now include details if space + permits. +- A weapon of slaying now includes a note that the weapon doesn't degrade when + attacking an acidic monster in the slaying class. +- Changed the ability description for some monsters to differentiate those that + can sometimes reflect magic spells from those that always reflect spells back + at the caster. +- Animations such as autoexplore and using a staff now run at a consistent + speed. +- Change the color of the message when you try to pick up an item when your + inventory is full, so it stands out more. + + 1.13 ==== diff --git a/changes/allow-ally-spear-attacks-over-player.md b/changes/allow-ally-spear-attacks-over-player.md deleted file mode 100644 index 6ede8d2b..00000000 --- a/changes/allow-ally-spear-attacks-over-player.md +++ /dev/null @@ -1 +0,0 @@ -Allows allies to spear attack over the player \ No newline at end of file diff --git a/changes/attack-discordant-allies.md b/changes/attack-discordant-allies.md deleted file mode 100644 index b7221d9a..00000000 --- a/changes/attack-discordant-allies.md +++ /dev/null @@ -1 +0,0 @@ -A discordant ally will no longer swap places with the player and can be attacked. Attacks require player confirmation and will not make the ally an enemy. \ No newline at end of file diff --git a/changes/auto-targeting.md b/changes/auto-targeting.md deleted file mode 100644 index ebddae3a..00000000 --- a/changes/auto-targeting.md +++ /dev/null @@ -1,12 +0,0 @@ -- When using a staff or wand, enemies that always reflect bolts (stone/winged guardian, non-negated mirror totem) will no longer be auto-targeted. -- When hallucinating but not telepathic, auto-targeting behavior has changed in two ways. First, an initial target will no longer be selected when using a staff or wand whose kind isn't known. Second, the tab key will have no effect. The previous behavoir leaked information about which creatures are allies. - - When using a staff or wand, the tab key will now cycle through additional targets (if any) only if an initial target was selected. - - When using a known staff of tunneling, turrets and sentinels will now be auto-targeted. - - If a wand or staff of unknown kind has been magic detected, auto-targeting will now target enemies or allies accordingly. - - Monsters that are immune to fire are no longer auto-targeted when using a firebolt staff or throwing an incendiary dart or known potion of incineration. - - Monsters that are immune to weapon damage are no longer auto-targeted when throwing a dart or javelin, or using a staff of conjuration. - - When using a known wand of domination, monsters at full health will not longer be auto-targeted. - - When using a known wand of negation, monsters that will not be affected will no longer be auto-targeted. - - When using a known wand of beckoning, monsters that are adjacent to the player will no longer be auto-targeted. - - When using a known staff of healing, non-reflective allies at full health will no longer be auto-targeted. - - When throwing a known potion of confusion or caustic gas, unaffected enemies will no longer be auto-targeted. \ No newline at end of file diff --git a/changes/autoexplore-delay.md b/changes/autoexplore-delay.md deleted file mode 100644 index 65ca7355..00000000 --- a/changes/autoexplore-delay.md +++ /dev/null @@ -1 +0,0 @@ -Animations such as autoexplore and using a staff now run at the same speed regardless of game performance (up to a limit). diff --git a/changes/descent-doors.md b/changes/descent-doors.md deleted file mode 100644 index 79e92300..00000000 --- a/changes/descent-doors.md +++ /dev/null @@ -1 +0,0 @@ -Fixed a bug where a closed wooden door or barricade would no longer be visibile but would block line of sight and blinking when a hole is created under them by a potion of descent or pit bloat. They will now remain visible. \ No newline at end of file diff --git a/changes/discovered-items-bug.md b/changes/discovered-items-bug.md deleted file mode 100644 index d4e51527..00000000 --- a/changes/discovered-items-bug.md +++ /dev/null @@ -1 +0,0 @@ -Staves and wands that affect allies are now displayed correctly on the discovered items screen. diff --git a/changes/feats.md b/changes/feats.md deleted file mode 100644 index db8f79cd..00000000 --- a/changes/feats.md +++ /dev/null @@ -1,5 +0,0 @@ -- Removed nearly impossible feats 'Pacifist', 'Archivist', 'Indomitable', and 'Ascetic'. -- Added a new "Feats" menu option that shows a screen with all the feats and whether the player has achieved or failed them. -- The 'Paladin' feat is no longer lost when the player is unaware of the monster, the player is seized, the monster is generated immobile (totems, turrets, etc.), or the monster is immune to physical attacks. -- The 'Companion' feat now requires exploring only 13 floors with an ally instead of 20. Note that the # of floors is an approximation. Exploration is measured by the number of newly discovered traversable squares while an ally is within one floor of the player. -- The 'Pure Mage' feat now allows the player to attack with their fists. Good luck with that. \ No newline at end of file diff --git a/changes/floor-ordinals.md b/changes/floor-ordinals.md deleted file mode 100644 index 1cd3a630..00000000 --- a/changes/floor-ordinals.md +++ /dev/null @@ -1 +0,0 @@ -Updating the welcome message to use the correct ordinal for the number of floors - supporting non '-th' numbers of floors diff --git a/changes/game-stats.md b/changes/game-stats.md deleted file mode 100644 index 7378c2ba..00000000 --- a/changes/game-stats.md +++ /dev/null @@ -1 +0,0 @@ -Players can now view summary statistics of games played by selecting the "Game Stats" option from the "View" menu. Statistics are collected only for games played since the menu option became available. \ No newline at end of file diff --git a/changes/inventory-full-color.md b/changes/inventory-full-color.md deleted file mode 100644 index 0c7592fd..00000000 --- a/changes/inventory-full-color.md +++ /dev/null @@ -1 +0,0 @@ -Change the color of the message when you try to pick up an item when your inventory is full, so it stands out more. diff --git a/changes/item-under-player.md b/changes/item-under-player.md deleted file mode 100644 index 3a9261da..00000000 --- a/changes/item-under-player.md +++ /dev/null @@ -1,4 +0,0 @@ -- Fixed a bug where arriving on a level with items "obstructing" the stairs would cause the player to be moved to a non-item location without using a turn. -- When the player arrives on a level and occupies a location with an item, a message is now displayed in the message pane. -- If the player occupies a location with an item, the item is now shown in the sidebar. Additionally, the item is included in the description when inspecting the player's location. -- When inspecting a location, item descriptions now include details if space permits. \ No newline at end of file diff --git a/changes/jellies-must-die.md b/changes/jellies-must-die.md deleted file mode 100644 index c47d33f9..00000000 --- a/changes/jellies-must-die.md +++ /dev/null @@ -1 +0,0 @@ -Jellies now die without splitting when hit with a slaying or quietus weapon. \ No newline at end of file diff --git a/changes/kraken-obsidian.md b/changes/kraken-obsidian.md deleted file mode 100644 index 8e6ccbe4..00000000 --- a/changes/kraken-obsidian.md +++ /dev/null @@ -1 +0,0 @@ -Fixed a bug which treated obsidian as shallow water, allowing a kraken to both traverse it and sieze monsters or the player standing in it. \ No newline at end of file diff --git a/changes/monster-always-reflects.md b/changes/monster-always-reflects.md deleted file mode 100644 index f57bd532..00000000 --- a/changes/monster-always-reflects.md +++ /dev/null @@ -1 +0,0 @@ -Changed the ability description for some monsters to differentiate those that can sometimes reflect magic spells from those that always reflect spells back at the caster. \ No newline at end of file diff --git a/changes/monster-details.md b/changes/monster-details.md deleted file mode 100644 index c27f9f84..00000000 --- a/changes/monster-details.md +++ /dev/null @@ -1 +0,0 @@ -The monster details window now includes information about the effect of negation if the player has a known means to negate the monster. Also, if the player has a known means to destroy a monster via tunneling or shattering, that information is now displayed. \ No newline at end of file diff --git a/changes/names-for-blueprints.md b/changes/names-for-blueprints.md deleted file mode 100644 index 868e1d63..00000000 --- a/changes/names-for-blueprints.md +++ /dev/null @@ -1 +0,0 @@ -Added names to blueprints which appear when using D_MESSAGE_MACHINE_GENERATION diff --git a/changes/negate-inanimates.md b/changes/negate-inanimates.md deleted file mode 100644 index 43f9aff4..00000000 --- a/changes/negate-inanimates.md +++ /dev/null @@ -1 +0,0 @@ -When an inanimate monster is negated (e.g. turret or totem), a combat message is now displayed and the sidebar will show the negated status. \ No newline at end of file diff --git a/changes/phoenix-resurrection.md b/changes/phoenix-resurrection.md deleted file mode 100644 index 702bb999..00000000 --- a/changes/phoenix-resurrection.md +++ /dev/null @@ -1 +0,0 @@ -Resurrection altars now function differently for phoenixes and liches. The phoenix egg or phylactery will be revived instead, and the ability to turn into a phoenix or lich restored. Similarly, a vampire's ability to spawn vampire bats will be restored. Monsters that are summoned by allies (furies, phantoms, vampire bats) are no longer eligible for resurrection. Only the summoner will be resurrected. Also, destroying a phoenix egg or phylactery now counts toward weapon auto-id. \ No newline at end of file diff --git a/changes/prevent-items-drifting-through-walls.md b/changes/prevent-items-drifting-through-walls.md deleted file mode 100644 index 669f450f..00000000 --- a/changes/prevent-items-drifting-through-walls.md +++ /dev/null @@ -1 +0,0 @@ -Fixed a bug where items in deep water could drift through walls. Items can now only drift to an available adjacent cell. \ No newline at end of file diff --git a/changes/prevent-spear-attacks-around-corners.md b/changes/prevent-spear-attacks-around-corners.md deleted file mode 100644 index 4e31b6b4..00000000 --- a/changes/prevent-spear-attacks-around-corners.md +++ /dev/null @@ -1 +0,0 @@ -Prevent monsters with a spear or whip attack from attacking around corners \ No newline at end of file diff --git a/changes/release-the-kraken.md b/changes/release-the-kraken.md deleted file mode 100644 index 166b002a..00000000 --- a/changes/release-the-kraken.md +++ /dev/null @@ -1 +0,0 @@ -Fixed an issue that prevented allies (e.g. kraken) from learning abilities from monsters that die in certain terrain (e.g. deep water). \ No newline at end of file diff --git a/changes/shatter-dungeon-boundary-monsters.md b/changes/shatter-dungeon-boundary-monsters.md deleted file mode 100644 index fdbefe9b..00000000 --- a/changes/shatter-dungeon-boundary-monsters.md +++ /dev/null @@ -1 +0,0 @@ -Fixed a bug where shattering failed to destroy sentinels at the edge of the dungeon. \ No newline at end of file diff --git a/changes/siezed-while-submerged.md b/changes/siezed-while-submerged.md deleted file mode 100644 index 9ad3954d..00000000 --- a/changes/siezed-while-submerged.md +++ /dev/null @@ -1 +0,0 @@ -If the player is seized by a submerged monster they can see (i.e. player is also submerged), it will now immediately surface so it can be targeted with staffs/wands. diff --git a/changes/slaying-acidic.md b/changes/slaying-acidic.md deleted file mode 100644 index a7571ed4..00000000 --- a/changes/slaying-acidic.md +++ /dev/null @@ -1 +0,0 @@ -A weapon of slaying now includes a note that the weapon doesn't degrade when attacking a monster in the slaying monster class (if the class has an acidic monster). \ No newline at end of file diff --git a/changes/strength-potion-not-immediate.md b/changes/strength-potion-not-immediate.md deleted file mode 100644 index 785b33f7..00000000 --- a/changes/strength-potion-not-immediate.md +++ /dev/null @@ -1 +0,0 @@ -Drinking a strength potion now causes weakness to be removed from a character immediately, in the middle of the turn in which it was ingested (as well as at the end of the turn). diff --git a/macos/Info.plist b/macos/Info.plist index 906f258c..374d4125 100644 --- a/macos/Info.plist +++ b/macos/Info.plist @@ -19,9 +19,9 @@ CFBundlePackageType APPL CFBundleVersion - 1.13.0 + 1.14.0 CFBundleShortVersionString - 1.13.0 + 1.14.0 CFBundleSignature ???? CFBundleSupportedPlatforms diff --git a/src/brogue/Rogue.h b/src/brogue/Rogue.h index fa088481..11fedb42 100644 --- a/src/brogue/Rogue.h +++ b/src/brogue/Rogue.h @@ -36,7 +36,7 @@ // Brogue version number (for main engine) #define BROGUE_MAJOR 1 -#define BROGUE_MINOR 13 +#define BROGUE_MINOR 14 #define BROGUE_PATCH 0 // Expanding a macro as a string constant requires two levels of macros @@ -2829,7 +2829,7 @@ enum messageFlags { enum autoTargetMode { AUTOTARGET_MODE_NONE, // don't autotarget - AUTOTARGET_MODE_USE_STAFF_OR_WAND, + AUTOTARGET_MODE_USE_STAFF_OR_WAND, AUTOTARGET_MODE_THROW, AUTOTARGET_MODE_EXPLORE, // cycle through anything in the sidebar }; diff --git a/src/variants/GlobalsRapidBrogue.c b/src/variants/GlobalsRapidBrogue.c index 5f1c4ef2..af3268fd 100644 --- a/src/variants/GlobalsRapidBrogue.c +++ b/src/variants/GlobalsRapidBrogue.c @@ -977,7 +977,7 @@ const char *mainMenuTitle_RapidBrogue = #### "; #define RAPID_BROGUE_MAJOR 1 -#define RAPID_BROGUE_MINOR 5 +#define RAPID_BROGUE_MINOR 6 #define RAPID_BROGUE_PATCH 0 // Brogue version: what the user sees in the menu and title diff --git a/test/regression_test_rapid_v1_5/webbrogue-recording-65247c9bc1b4e51e737e2cf1.broguerec b/test/regression_test_rapid_v1_5/webbrogue-recording-65247c9bc1b4e51e737e2cf1.broguerec deleted file mode 100755 index 995bb250..00000000 Binary files a/test/regression_test_rapid_v1_5/webbrogue-recording-65247c9bc1b4e51e737e2cf1.broguerec and /dev/null differ diff --git a/test/regression_test_rapid_v1_5/webbrogue-recording-6525d72fc1b4e51e737e6dba.broguerec b/test/regression_test_rapid_v1_5/webbrogue-recording-6525d72fc1b4e51e737e6dba.broguerec deleted file mode 100755 index dc243d3c..00000000 Binary files a/test/regression_test_rapid_v1_5/webbrogue-recording-6525d72fc1b4e51e737e6dba.broguerec and /dev/null differ diff --git a/test/regression_test_rapid_v1_5/webbrogue-recording-65290ee7c1b4e51e737ef422.broguerec b/test/regression_test_rapid_v1_5/webbrogue-recording-65290ee7c1b4e51e737ef422.broguerec deleted file mode 100755 index 73ad29ce..00000000 Binary files a/test/regression_test_rapid_v1_5/webbrogue-recording-65290ee7c1b4e51e737ef422.broguerec and /dev/null differ diff --git a/test/regression_test_rapid_v1_5/webbrogue-recording-65291389c1b4e51e737ef527.broguerec b/test/regression_test_rapid_v1_5/webbrogue-recording-65291389c1b4e51e737ef527.broguerec deleted file mode 100755 index dfbe7df1..00000000 Binary files a/test/regression_test_rapid_v1_5/webbrogue-recording-65291389c1b4e51e737ef527.broguerec and /dev/null differ diff --git a/test/regression_test_rapid_v1_5/webbrogue-recording-6529b263c1b4e51e737f15ee.broguerec b/test/regression_test_rapid_v1_5/webbrogue-recording-6529b263c1b4e51e737f15ee.broguerec deleted file mode 100755 index 6216dcd1..00000000 Binary files a/test/regression_test_rapid_v1_5/webbrogue-recording-6529b263c1b4e51e737f15ee.broguerec and /dev/null differ diff --git a/test/regression_test_v1_13/webbrogue-recording-65265a7cc1b4e51e737e80f7.broguerec b/test/regression_test_v1_13/webbrogue-recording-65265a7cc1b4e51e737e80f7.broguerec deleted file mode 100755 index 2fd296ad..00000000 Binary files a/test/regression_test_v1_13/webbrogue-recording-65265a7cc1b4e51e737e80f7.broguerec and /dev/null differ diff --git a/test/regression_test_v1_13/webbrogue-recording-65268cf2c1b4e51e737e8846.broguerec b/test/regression_test_v1_13/webbrogue-recording-65268cf2c1b4e51e737e8846.broguerec deleted file mode 100755 index b4a9f7d7..00000000 Binary files a/test/regression_test_v1_13/webbrogue-recording-65268cf2c1b4e51e737e8846.broguerec and /dev/null differ diff --git a/test/regression_test_v1_13/webbrogue-recording-652712adc1b4e51e737ea223.broguerec b/test/regression_test_v1_13/webbrogue-recording-652712adc1b4e51e737ea223.broguerec deleted file mode 100755 index 05f67c6b..00000000 Binary files a/test/regression_test_v1_13/webbrogue-recording-652712adc1b4e51e737ea223.broguerec and /dev/null differ diff --git a/test/regression_test_v1_13/webbrogue-recording-65286ffdc1b4e51e737ee2da.broguerec b/test/regression_test_v1_13/webbrogue-recording-65286ffdc1b4e51e737ee2da.broguerec deleted file mode 100755 index 5609dea7..00000000 Binary files a/test/regression_test_v1_13/webbrogue-recording-65286ffdc1b4e51e737ee2da.broguerec and /dev/null differ diff --git a/test/regression_test_v1_13/webbrogue-recording-6528c54fc1b4e51e737eecc0.broguerec b/test/regression_test_v1_13/webbrogue-recording-6528c54fc1b4e51e737eecc0.broguerec deleted file mode 100755 index e97e48fb..00000000 Binary files a/test/regression_test_v1_13/webbrogue-recording-6528c54fc1b4e51e737eecc0.broguerec and /dev/null differ diff --git a/test/regression_test_v1_13/webbrogue-recording-65295006c1b4e51e737efdda.broguerec b/test/regression_test_v1_13/webbrogue-recording-65295006c1b4e51e737efdda.broguerec deleted file mode 100755 index dadf21da..00000000 Binary files a/test/regression_test_v1_13/webbrogue-recording-65295006c1b4e51e737efdda.broguerec and /dev/null differ diff --git a/test/regression_test_v1_13/webbrogue-recording-6529da68c1b4e51e737f208e.broguerec b/test/regression_test_v1_13/webbrogue-recording-6529da68c1b4e51e737f208e.broguerec deleted file mode 100755 index 2ad2b5cb..00000000 Binary files a/test/regression_test_v1_13/webbrogue-recording-6529da68c1b4e51e737f208e.broguerec and /dev/null differ diff --git a/test/regression_test_v1_13/webbrogue-recording-6529db52c1b4e51e737f20cd.broguerec b/test/regression_test_v1_13/webbrogue-recording-6529db52c1b4e51e737f20cd.broguerec deleted file mode 100755 index ff9eaa3a..00000000 Binary files a/test/regression_test_v1_13/webbrogue-recording-6529db52c1b4e51e737f20cd.broguerec and /dev/null differ diff --git a/test/regression_test_v1_13/webbrogue-recording-652ad633c1b4e51e737f545d.broguerec b/test/regression_test_v1_13/webbrogue-recording-652ad633c1b4e51e737f545d.broguerec deleted file mode 100755 index 21d75119..00000000 Binary files a/test/regression_test_v1_13/webbrogue-recording-652ad633c1b4e51e737f545d.broguerec and /dev/null differ diff --git a/test/regression_test_v1_13/webbrogue-recording-652d5aa4c1b4e51e737fe397.broguerec b/test/regression_test_v1_13/webbrogue-recording-652d5aa4c1b4e51e737fe397.broguerec deleted file mode 100755 index 96fb7191..00000000 Binary files a/test/regression_test_v1_13/webbrogue-recording-652d5aa4c1b4e51e737fe397.broguerec and /dev/null differ