Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
451 lines (383 sloc) 18.2 KB
Welcome to the changelog for Angband 4. This file tracks the changes made since
Angband 4.2.0
This version is mainly a major overhaul of classes and the monster list. As
for the last two 4.x.0 releases, there are too many individual changes to list,
so what follows is a summary.
Two new realms of magic have been added, nature and shadow, to the existing
divine and arcane realms.
- Nature realm relies on harnessing the power of the earth, and is opposite
to the arcane realm, which uses craft and cunning.
- Divine realm uses harmony and light, and is opposite to the shadow realm
which aligns with darkness, power and sacrifice.
- Rangers now use nature magic, like the new Druid class
- Necromancers are the major shadow caster class
- Blackguards are fighters enhanced by shadow magic
- Pure casters (mages, priests, druids, necromancers) use five books (down
from nine)
- Hybrid casters (rogues, paladins, rangers, blackguards) use two or three
- Classes no longer have different rates of gaining experience
Each base monster type has had its game niche reconsidered, and there has been
a general push to use Tolkien-inspired monsters where appropriate. Some of the
major changes include:
- Ainur - most of these now align with one of the great Valar, and have
corresponding powers
- Dragons - these have mostly been made stronger and deeper
- Humanoids - dark elves have been replaced with dwarves, gnomes with Drúedain
- Hydras - each hydra type is like the previous type with a new head and
attack added
- People - the association of some of these with player classes has been
expanded to include the new classes
- Snakes - some of these are now dangerous
- Spiders - more dangerous and deeper, with unique abilities
- Trees/Ents - these are new, tough to kill enemies
- Wights/Wraiths - wights are all now shallower than wraiths, and the
Ringwraiths are much deeper
Game Mechanics
In the course of the class and monster changes, many new mechanics have been
introduced, with some of the major ones being:
- Player and monster shapechanges
- Variable light and darkness are created by monsters, player gear and player
spells, and the player has a meter to measure the light level on their
- Mages can drain mana from magic devices
- Rogues can steal from monsters
- Temporary brands and slays (Priests, Paladins, Blackguards)
- Necromancers can see in the dark, and can cast less well in light
- Healing of hitpoints every turn for a time (Druids)
- Control of a monster, including making it attack other monsters
- Shield bashes (Warriors, Paladins, Blackguards)
- Decoys which monsters will attack instead of the player (Rangers)
- Blackguards can go into a state of bloodlust which improves their combat at
a price
- Monsters can whip or spit on the player from nearby
- Monster groups act more as a group, with leaders and sometimes bodyguards
- Innate spells (e.g. breaths) and cast spells (e.g. bolts) have separate
- Deeper in the dungeon shallow monsters are less likely to appear
- Monsters can teleport to the player
- Spiders can weave webs
- Monsters can have innate darkness around them
- Traps added that trigger on leaving their square
- Ringwraiths can inflict the Black Breath
- Monster spells can have different levels depending on monster spell power
- The player now has a hunger meter, and food is more important
- As with classes, all races gain experience at the same rate, except for
humans who are faster, and high-elves who are slower
- The Temple has been replaced with a Bookseller who sells books of all realms
Code Improvements
There have also been some improvements to the codebase, both visible and
invisible to the player. The main ones are:
- Addition of an SDL2 front end
- Change to mostly using a single grid rather than x and y coordinates in
much of the code
- More readability of datafiles
- Some font improvements
- Some new tiles
- A new online (rather than in-game) help system
- A new experimental (and so far unbalanced) birth option for percentage
- An option to start a new game after dying instead of closing the game and
- Many fixes to bugs and memory leaks
Angband 4.1.3
More minor changes and bugfixes, the last of the 4.1.x series.
- Passable rubble tiles distinguished from regular rubble
- Details of different summon types moved to a data file
- Tweaks to some potions and scrolls
- Minor improvements to monster lore
- Reduction in frequency of traps and greater vaults
- Show if monsters are hasted and slowed when targeting
- Correct weapon damage and blows information
- Fix several minor ID and knowledge bugs
- Correct some spelling errors in text files
- Check bounds properly in targeting, preventing the game hanging
- Fix some interesting room descriptions which were causing disconnected levels
- Small adjustments to object structures
Angband 4.1.2
This version fixes bugs in 4.1.1 and makes some other small improvements
Angband 4.1.1
This version fixes bugs in 4.1.0, and also introduces for the first time in
Angband the option to play with persistent levels
Angband 4.1.0
This version has the first major gameplay changes since 3.5.0. Some of these
changes have significant impact on the game, and affect longstanding parts of
the game quite radically. Given that aver 750 individual changes have been
pushed to the main game repository since the last release, what is presented
here will be more of a summary than a detailed changelog.
- The general philosophy is that all players will hit traps at some time
- Magical trap detection has been removed, except as a spell for mages
- Active searching has been removed
- Characters have one chance to detect a trap, on seeing the grid it is on;
this chance is dependent on searching skill
- Traps are either physical or magical, and there is a corresponding split
in the player disarming skill
- Many new traps have been introduced, and old ones amended
- Traps are placed almost exclusively at corridor intersections or other
- Trap density in vaults is reduced by 75%
- ID is now "rune-based"; once an object property is recognised once, it will
always be recognised on all future items
- The only forms of magical identify are scrolls and the mage spell, both of
which identify a single unknown rune
- All scrolls, potions, mushrooms are identified on their first use
- Most wands, staffs and rods are identified on first use, the main exceptions
being when they affect monsters and are tested in the absence of monsters
- Ego item names become known once all the relevant runes are known
Player knowledge
- Changes to previously known terrain outside the player's field of view
(doors opening, etc) are no longer immediately known by the player
- Secret doors are now always found on stepping adjacent (or at a distance
by the mage spell)
Dungeon generation
- A new generation algorithm has been introduced, and appears roughly as often
as the classical generation algorithm
- There are many new vaults in the new algorithm, and also new room types -
huge rooms, rooms of chambers, and interesting rooms (like small vaults)
- There is also an infrequently occurring generation type, the "moria level",
which features large rough-edged rooms and many orcs, trolls and ogres
- Lava has changed from being a visual curiosity in town in 4.0.x to being
generated in the dungeon; it will burn those without fire immunity
- Another new type of terrain has been introduced: passable rubble, which
behaves like regular rubble except it can be walked through
- Monster breaths are now cone-shaped starting at the monster, instead of
being indistinguishable from ball spells
- Monster pathfinding has been improved (mostly), with monsters tracking
explicitly by sight, sound or scent
- The relationship between player stealth and monsters waking has changed
Random artifacts
- Lights, rings and amulets are now fully randomised instead of based closely
on the standard special artifacts
- The artifact set generation algorithm has been changed so that random
artifacts no longer correspond to individual standard artifacts, but rather
are generated so as to get a statistically similar distribution
- Calculation of object power has been simplified
- Generating a set of random artifacts now actually writes a data file like
artifact.txt, which can be used for future games
- Sticky curses have been removed completely
- A large number of new curses have been introduced
- Items can have multiple curses
- Curse removal targets individual known curses on items
- Failed curse removal causes an item to become fragile
- Fragile items have a chance to be destroyed on future failed curse removals
Status effects
- Monster status effects have been redone to rebalance reliability and
effectiveness, so that they may actually be interesting to use
- New types of status-inducing spells and magic devices have been included
- Much more detail has been moved out to text files in lib/gamedata
- Many underlying code improvements
Angband 4.0.5
More bugfixes, the last of the 4.0.x series.
- Randart diggers always have a digging bonus
- Some improvements to town generation
- Improvements to probing and monster lore
- Improvements to OS X port, including making Command-n bring up window n
- Improvements to object and monster lists
- Make the store names uniform
- Stop properties of examined items from affecting the real player state
- Make the slay cache work
- Prevent attempting to buy when the pack is full
- Fix bug which allowed repeating a purchase after leaving a store
- Make sure chests are ignored correctly
- Fix some message issues
- Fix some monster friends
- Make Windows sound work properly
- Remove flicker in center_player option
- Remove duplicate labels in death info
- Remove help about bashing and jamming doors
- Code improvements to directory paths
- Fix bug where two players temporarily appeared on panel change while runni$
- Fix subwindow map drawing
- Plug some memory leaks
- Grammatical correction to tombstone
- Stop monster/player/object tiles from disappearing when targeting
Angband 4.0.4
More bugfixes, *maybe* the last of the 4.0.x series.
- Remove some global variables
- Allow ego types to remove flags from base types
- Make Potions of Resist Poison also cure poison
- Improve pickup of partial stacks
- Disturb on first getting the object feeling
- Minor code improvements
- Stop crashes where use of an object destroys the object
- Let Windows port accept a filename from the command line again
- Speed up inventory/equipment refresh
- Let hit to shatter move the player again
- Stop autoinscriptions preventing object spoiler generation
- Make study indicator work for books on the ground
- Stop status effects happening after the player's death
- Make randart lights keep the original activations
- Make all new randart sets based on the standard artifacts
- Stop animations interfering with the target path
- Allow group monsters to melee the player in open areas again
- Make info for spells like Banish Evil say "power" rather than "dam"
Angband 4.0.3
More bugfixes, (very) hopefully the last of the 4.0.x series.
- Add stair-skip constant, making stairs go up or down that number of levels
- Another 200 room templates (for a total of 500)
- A number of code improvements, mainly from PowerWyrm
- Shorten inventory prompt, put overweight info in 'C' screen
- Correct OOD boost for object feelings
- Really fix lack of artifacts this time
- Make RNexus prevent hostile teleport level
- Stop crash from summoning traps
- Improve object ID from ball spells
- Stop game hanging on empty quiver
- Stop crash during inventory item damage by elements
- Stop auto-ignore from cancelling monster detection
- Make sure all changes to equipment are counted
- Correct monster energy/turn order, stopping double moves by slower monsters
- Correct food descriptions
- Improve quitting in OS X
Angband 4.0.2
Another bugfix version.
- New monster spell messages - thanks Elsairon
- Put subwindow options in a separate file so they work for all characters
- Order quiver ammo from worst to best
- Make resting and statusline display for deep descent work like for recall
- Stop wrong timed effect happening
- Make cheating death work
- Make monster lore saving always work
- Correct melee hit chance calculation
- Make artifact knowledge show correctly
- Fix starlight effect (plus some other potential projection issues)
- Make monster lore save properly after probing
- Give correct path to tiles in the SDL port
- Stop monsters shooting other monsters
- Calculate timed effects (notably temporary resists) properly
- Limit visual updates during running and resting, speeding these up
- Track the equipment count correctly
- Stop the charges from a destroyed device being deducted twice
- Small changes to build system to work better for servers and BSD
- Improve bounds checking for grids, preventing some crashes
- Make the quiver command symbol appear in help file display
- Fix lack of artifacts
- Several other minor code improvements
Angband 4.0.1
This is chiefly a bugfix version.
- Allow barehanded combat to get multiple blows
- Triple the number of room templates
- Stop spell books from claiming spells like teleport do damage
- A lot of coding style consistency improvements
- Improve device skill boost description
- Fix resistance to side effects of elemental attacks
- Reduce carried weight correctly when items leave the gear
- Remove potential crash when dropping from the equipment
- Some other minor issues identified by PowerWyrm
Angband 4.0.0
Please note that no 3.x characters, living or dead, will move gracefully into this version. Finish off your character in your current version before moving over.
In the normal course of events, this file would contain details of every change that has been made since the previous version. This version is a special case. There are no gameplay changes, or at least only small details. There are, however, massive changes to the code base. The intent is to make the game more modifiable and flexible, and to prepare for big gameplay changes to come.
Summary of Changes
Core-UI split
- split the game into core and UI, and stop anything in the core from depending on anything in the UI
- put many of the game constants in a text file rather than being compiled in, so they are user alterable
- text data files cleaned up and documented
- help file for modifying added - lib/help/modifying.txt
Dungeon generation
- allow saving of dungeon levels and the town
- allow generation of dungeon levels piece by piece
- generalise level generation algorithms
- allow more control over monster generation for thematic purposes
- allow regions where restrictions apply (eg no ESP or no mapping)
- there is a 'squares' array containing the terrain, locality info, traps, objects, flow info and monster on each grid
Player knowledge
- duplicate the dungeon level "cave" struct, so that there is a reality version and a player version
- replace pvals (aside from fuel, food etc) by an array of values
- separate resistances, immunities etc from flags to allow for more values of resistance
- separate brands and slays from flags to allow more variablilty
- remove hard-coding of object tvals and svals, so objects can be safely added and moved around in object.txt
- handle special artifacts straight from artifact.txt, so an unrecognised object kind (like Phial) automatically has a new object kind defined for it
- put artifact activations in a text file
- put objects in linked lists tied to the grid, store, monster or player that holds them, rather than indexed in a level-wide list
Inventory, quiver, equipment
- make ordering of the inventory and quiver a UI construct only
- use a Poschengband-style equipment template to specify equipment slots (so there is a standard player body, but more could be added)
Monster memory
- make this a separate file, with full memory obtainable by copying monster.txt
- multiple gameplay-identical terrain types now handled by temporary flags during generation
- a full terrain flag system to allow easier addition/removal of terrain types
- make traps separate entities, not terrain
- make locked/jammed doors just closed doors with a trap
- remove code reliance on the numerical value of terrain types
- remove all references to 'squelch', replace with 'ignore'
- add ignore by ego type
- emphasise the philosophy that the items are still there, just ignored
- have a separate field for every learnable property of an item
- remove the IDENT_* flags
- have all effects performed by a single function, and definable from text files
Monster attacks
- put elemental spell effects back in the projection code rather than the spellcasting code
- put blow effects into seprate handler functions
Player spells
- generalise to make it easier to introduce new realms, classes, etc
- have all spell info defined by a text data file
- have separate functions to handle effects on terrain, objects, player, monsters
- clarify different types of projection
- allow for cone-shaped breaths
- allow for a wider variety of effects (eg player/monsters pushed by force)
Stats, power, etc
- refine and generalise stats where possible
- attempt to clarify all the (frankly) fudge factors so they can more easily be seen and adjusted
General code stuff
- rename files to be more sensible, or create new ones where needed
- update debug commands to reflect the current game
- move data into list-*.h files or edit files where appropriate
- remove archaic stuff
- re-organisation of lib directory
- document!
You can’t perform that action at this time.