You are on page 1of 4

Welcome to the changelog for Angband 4.0.

This file tracks the changes made since


3.5.1.

Angband 4.0.4
=============

More bugfixes, *maybe* the last of the 4.0.x series.

Changes
-------
- 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

Bugfixes
--------
- 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.

Changes
-------
- 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

Bugfixes
--------
- 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.

Changes
-------
- 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

Bugfixes
--------
- 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.

Changes
-------
- Allow barehanded combat to get multiple blows
- Triple the number of room templates

Bugfixes
--------
- 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

Modifiability
- 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

Objects
- 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

Terrain/traps
- 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

Squelch->Ignoring
- remove all references to 'squelch', replace with 'ignore'
- add ignore by ego type
- emphasise the philosophy that the items are still there, just ignored

ID
- have a separate field for every learnable property of an item
- remove the IDENT_* flags

Effects
- 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

Projection
- 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 might also like