T-Engine/... 300alpha17 "Triumph or Agony"

Annoucements about ToME/TomeNET/forums/website/...
Post Reply
Message
Author
darkgod
Master of Eyal
Posts: 10750
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

T-Engine/... 300alpha17 "Triumph or Agony"

#1 Post by darkgod »

Hullo,

A new alpha is available at http://t-o-m-e.net/ with many bugfixes and improvements to various subsystems.

Windows and mac versions should come out soonish, as usual.

T-Engine 3.0.0alpha17 aka "Triumph or Agony"

Interface changes:
- New "easy_cast" subsystem that implements a much nicer casting interface. It collects all spells currently usable/browsable by the
player(be they in books, contained in objects, ...) and displays them in a nice ordered list and sort them by schools.
To use it just load the subsystem and set the "mkey" of your casting skills to easy_cast.MKEY_CAST

Player changes:
- Moved flags DRAIN_HP and DRAIN_MANA to their respective Lua subsystems.
Also changed DRAIN_HP to DRAIN_LIFE.
- *WARNING* *WARNING*: The body_monster field of player_type has
been changed from an integer to a monster_type struct, and the
disembodied field has been removed. Aside from changing how you
treat player.body_monster, you must set the OPEN_DOOR flag for
your "player" race definition if you want the player to be able
to open and close doors and chests, and BASH_DOOR if you want the
player to be able to bash doors. For an example of how to change
the player's current body, see wizcmd.wiz_body() in
engine/wizard.lua. You can test changing bodies using the 'B'
wizard command (CTRL-A B).
- The flag IMMOVABLE has been renamed to BLINK_MOVE (like the
deathmolds have) to avoid confusion and reflect what it actually
does. To make a player incapable of moving, use the flag
CANNOT_MOVE.
- Searching has been made into a loadable lua subsystem. The fields
searching, skill_srh and skill_fos are gone from the player_type
structure; the flags SEARCH, PERFECT_SEARCH and PERFECT_PERCEPTION
have been removed as well. By default, the skill_srh and skill_fos
fields are replaced by the player intrinsics SEARCH_POWER and
SEARCH_FREQ, though this can be changed by the module.

Bug changes:
- Max skill level set by the module is now correctly handled
- When not in see through wilderness mode, "corner walls" will not appear anymore
- Fix net subsystem to correctly handle responses with no
content length

Monster changes:
- Improved the monster escort system. No changes are needed to keep
using it the old way, but be on the lookout for bugs that this might
cause. For further details, see the change logs for src/flags.h or
src/monster2.c
- Flag ESCORTS changed to ESCORTED_BY_GROUPS, to make its function
clearer (its functionality remains unchanged). Also added some
more flags for controlling escorts, and made it possible for
escorts to cascade, so a monster escorting another monster can
have escorts of its own.
- Monster corpses now contain a copy of the monster_type struct of the
monster they came from in FLAG_MONSTER_OBJ, rather than information
on the monster's race, ego, speed, etc being stored in the corpse.
Flags MONSTER_IDX, MONSTER_EGO_IDX, MONSTER_CHP, MONSTER_MAXHP,
MONSTER_EXP, MONSTER_LEVEL, MONSTER_SPEED and MONSTER_AC are
gone. Also, do_cmd_integrate_body() and do_cmd_leave_body()
no longer work with new way of doing corpse, so they don't do
anything.

Dungeon changes:
- Glyphs of warding and explosive runes gone from engine
(including warding_glyph(), explosive_rune() and glyph_creation()).
They can be re-implemented by modules via the new flags
MONST_CAN_ENTER, MONST_CAN_ATTACK, and MONST_NO_PLACE; see CVS
changelog for details.
- Doors have changed somewhat so that, without danger of
confusing the engine, doors can supply their own opening and
closing code (in addition to pre/post hooks), and there can be
openable and closeable terrain other than doors (like a covered
well that's opened by removing the cover). Flag OPEN_DOOR in a
feature now indicates that it's openable by a monster; flag OPEN
both indicates that a feature is open, and its value is the
feature it turns into when *closed*. Flag CLOSED indicates that
a feature is closed, and its value is the feature it turns into
when *opened*. OPEN or CLOSED can also be a Lua function to handle
the opening/closing instead of the engine, be 0 to prevent
opening/closing (for instance, a broken door), or be a
string to prevent opening/closing with a specific message.
FLAG_BASH_DOOR both indicates that a door feature is bashable by
a monster, and gives how resistant the door is to bashing.
Finally, new_doors_pair_feature_type() has been renamed to
new_open_pair_feature_type().

Object changes:
- Two new identification system parameters:
object_desc_configuration.details_require_id: set it to true to have object_desc_details called only for id'ed stuff
object_desc_configuration.details_require_id_message: set it to true to display the message related to having to id un-ided stuff
- New auto_id subsystem, it allows the flag AUTO_ID to work(as before) and also allows the items to be auto identified
by characters with a high enough skill level. The flags syntax is either:
ID_SKILL = getter.skill("Skill") ID_VALUE = 30 -- This checks that skill "Skill" is at least 30
or
ID_SKILL = getter.skills{["Skill1"]=30 ["Skill2"]=20 } -- This checks that skill "Skill1" is at least 30 or "Skill2" is at least 20
The level can also(in both cases) be given as a duoble value instead like {30,45} which means it gets ID at level 30
and *ID* at level 45
This is an adaptation and enhancement to LordBucket's own auto id system, with which it should be compatible
- The per-object hook flag for object destruction by player has
changed from DESTROY_{PRE,POST} to PLAYER_DESTROY_{PRE,POST}.
The inventory subsystem also did a similar name change some time ago
for the global hook name invoked, so the hooking the old hook names
won't do anything.

Have fun!
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

Post Reply