Crossfire 1.7.0 Announcement
Crossfire 1.7.0 has been released. There are lots of more minor
changes. List of more minor changes:
Numerous bug fixes - should be much more stable now.
DM improvements.
New objects.
Only the bigworld maps are up on sourceforge - this is the only
mapset under active development - the old smallworld maps are
still in CVS, and older versions still available for download. As part of
this, the map archive has lost its 'big' name.
A new release of the client should be released shortly, as well as perhaps
a new doc archive.
Files released for this version:
sums (bsd) filename
03092 2041 crossfire-1.7.0.arch.tar.bz2
40695 2157 crossfire-1.7.0.arch.tar.gz
41295 14804 crossfire-1.7.0.maps.tar.bz2
02906 20277 crossfire-1.7.0.maps.tar.gz
46784 3937 crossfire-1.7.0.tar.bz2
36212 4355 crossfire-1.7.0.tar.gz
Sums (md5)
47e4a37a1e7e4b324c56c5b4b4876e8a crossfire-1.7.0-README
d54641f80432d5ca327bb443fda65d1f crossfire-1.7.0.arch.tar.bz2
26759e5c69be92fc937955c4ac0794ab crossfire-1.7.0.arch.tar.gz
f4e3081f797072b04356b32daf2c5017 crossfire-1.7.0.maps.tar.bz2
32a753db889ed816c9b59f966bd256cb crossfire-1.7.0.maps.tar.gz
34ec2c3c66d7b4083da01c21130ce8d0 crossfire-1.7.0.tar.bz2
110a782b47eaa9a0f02abe2e8627c01a crossfire-1.7.0.tar.gz
ef405f78d54be0bf22feeef6b4fc0d73 crossfire-client-1.7.0.tar.gz
cbf4b4480bd6fd28cf0e71a06b288127 crossfire-client-images-1.7.0.tar.gz
crossfire-1.7.0.tar.gz contains the server code with prebuilt
archetype and image files.
crossfire-1.7.0.arch.tar.gz contains the unpacked archetype changes.
This is not needed if you only want to compile the server and play the
game. Various fixes, as well as new archetypes.
crossfire-1.7.0.maps.tar.gz contains the map distribution - this is the
bigworld map. New maps have been added, as well as verious fixes.
FOR FIRST TIME USERS: You will only need the appropriate server, the
map file and client file. You do not need the arch file. You may wish to
get a copy of the doc file.
If you just want to play the game at some remote server, you need the client
and perhaps the image archive file.
Crossfire is avaible on the following ftp sites
Primary:
ftp://ftp.sourceforge.net/pub/sourceforge/crossfire
Secondary:
ftp://ftp.real-time.com/pub/games/crossfire
The initial upload of this release is only made to sourceforge - it should
show up on the mirrors shortly.
Mark Wedel
mwedel at sonic.net
January 24, 2005
Complete changelog:
server:
configure, configure.ac, include/autoconf.h.in: Update for
version 1.7.0. Add check for libz - needed by libpng (at least on my
system), which is needed for the editor.
MSW 2005-01-23
common/object.c: Change CAN_MERGE() from an inline function, since
it calls itself and inline functions are not supposed to do that.
Update type check in insert_ob_in_map() to check against defined
type (EXIT) instead of hardcoded integer value (66).
crossedit/xutil.c: Update to just include Defines.h, which then includes
all the other necessary files, including global.h.
include/global.h: Add #ifdef checks for the UINT*_MAX types, as some
systems already define these values, which results in a redefinition
error. Also fix up // style comment.
include/shstr.h: Include proper cast in TOPBIT definition.
server/main.c: Don't display 'xyz left the game' messages if the player
is only at the get name or get password prompt. Prevents possible
spoofing of that message.
server/player.c: Clean up formatting of check_pick() function. If player
is using newpickup to pick up booze, also pick up poison unless
they know it is cursed.
socket/request.c: AskSmooth() - change buffer type to uint8 so that
it matches what the SockList structure wants.
utils/scores.pl.in: Use skill_praying to find players god, and not the
deprecated experience_wis object.
MSW 2005-01-23
aclocal.m4, configure: Add check for python 2.4.
common/re-cmp.c: Fix improper comparison *(str+1) instead of str+1
server/login.c: don't allow null names.
server/main.c: Disable logging of removed objects - filling up log
files on archmage of all the errors.
server/player.c: Fix improper initialization of attacktype in
for loop. Give players max grace, sp when they die - also, if they
are near starvation, give them a bunch of food.
server/spell_effect.c: Put cap on duration of godly retribution - it
can otherwise last so long that if a player is killed by it at
their savebed location, spell could still go on after players
temporary immunity ends. Retribution as increases in damage,
so no need to really increase damage and duration to really high
amounts.
server/spell_util.c: In fire_arch_from_position(), and check that
player isn't casting spell on top of wall - fixes for many
spells, including ball lightning.
server/time.c: Change comparsion on return of get_map_flags() from
== P_OUT_OF_MAP to & P_OUT_OF_MAP - keeps syntax consistent.
MSW 2005-01-11
plugin/plugin_python.c, plugin_animator/plugin_animator.c,
plugin_animator/plugin_animator.c: Use script return value set by
CFPython.SetReturnValue(): access to stack was off by one. Do not return a
pointer to a local variable on the stack.
plugin/plugin_python.c, plugin_animator/plugin_animator.c: Handle all defined
events.
Andreas Kirschbaum 2005-01-10
server/spell_attack.c: apply patch #1096921 courtesy Salathar.
Charmed monsters now lose the 'generator' flag, to prevent
things like mice outbreak in bigworld maps.
Ryo 2005-01-07
plugin/plugin_pyhton.c, plugin/include/plugin_python.h: Remove obsolete
functions: SetGender, SetRank, SetAlignment, SetGuildForce, GetGuildForce,
CreatePlayerForce, CreatePlayerInfo, GetPlayerInfo, GetNextPlayerInfo,
SetPreviousObject, SetNextObject.
plugin/plugin_python.c, plugin/include/plugin_python.h: Add missing attack type
wrapper functions, function CFPython.SetDamned(), wrapper functions for
missing cost flags, and wrapper functions for event types.
plugin/plugin_python.c: Add an optional parameter to CFPython.SetName() to
specify name_pl as well. Always set name_pl.
plugin/plugin_python.c: Fix a buffer overflow in CFPython.RegisterCommand():
allocated memory was not sufficient to hold the trailing '\0'.
plugin/plugin_python.c: Use #define constants.
plugin/include/plugin_python.h, plugin/plugin_python.c,
plugin_animator/plugin_animator.c, server/plugins.c: General cleanup - merge
duplicate code, remove debugging code, rename variables, rename C function
names to match the Python function name, use hook functions where
appropriate.
include/sproto.h, plugin/plugin_python.c, server/plugins.c, server/shop.c:
Use uint64 type for variables holding money. Use Python long integers to
pass these variables to/from the Python plugin.
Andreas Kirschbaum 2005-01-07
plugin/plugin_python.c: Check values passed in from the Python code; generate
proper Python exceptions for invalid values.
plugin/plugin_python.c, plugin_animator/plugin_animator.c: Make sure all
fields on the stack are initialized. Prevent stack overflow: check was one
off, causing a buffer overflow. Decrement stack pointer in error case.
Andreas Kirschbaum 2005-01-06.
common/regexp.c: Fixed couple flaws in regexp handling. First, there was an
off by one error in the handling of matches (if the match was for example
eureca, player could just say eurec, and it would treat that as a valid
match). Second case was that the regular expression logic would not
try comparing the rest of the passed in string after a partial match -
In the eureca case above, if the passed in string was 'where is eureca',
after matching the first e (in where), it then fails to match the
next letter and would give up. It now tries comparing the rest of
the passed in string with the regex (so after that failure, it
will try to match 're is eureca'.
server/apply.c: Add missing 'return 0' to shop_mat code that is needed
to prevent unpaid objects from teleporting out of the shop. Also
extend code so that non living objects can't use shop mats.
server/player.c: Insert force into the player when they die making them
immune to any spells on the space they reappear on - this prevents
multiple deaths if there is large spell effect going on in the
savebed location. Duration of force should be long enough for most
spells to run their course, but no so long that the player can use
it for much of an advantage (plus, killing yourself to get such
an advantage seems odd, and the force only makes the player immune
to the attacktypes currently on the space)
server/spell_effect.c: Fix spell casting walls (lighting wall,
firewall, etc) in that the spell object they cast was not being
inserted, resulting in the walls not doing anything.
MSW 2004-12-28
Applied patch (bug misc/zoo2) by Lalo
server/time.c: creators can now create multi part objects.
Applied patch 1086102 by Salathar:
server/attack.c: If player kills another player, add (pk) to the death
message.
Applied patch 1086103 by Salathar:
server/move.c: If player pushes another player, send message to both players
that pushed happened. Previously, when pushing another player, the pusher
wouldn't get any notice.
MSW 2004-12-28
Applied patch 1001079 - make alchemy books say what skill & equipment
is needed - by Kevin Rudat.
common/readable.c: Update code that generates book title, contents
to denote what skill and equipment is needed.
random_maps/{random_map.c, reader.l, reader.c}, server/main.c:
Remove generate_treasure_now as an option
for random maps - none are using delayed treasure, and IMO, if someone
did, it would horribly break things, so it should never be used - given
that, no reason to leave the code there.
server/main.c: Add additional debugging for process events on removed
objects - trying to track down occasional disease crash.
server/time.c: Fix crash in move_player_mover() - it was never map tile
aware, but even more so, appears to have always been broken if the
player move tried to push the player off the edge of a map. Check
for out of map condition, as well as make it map tile aware.
MSW 2004-12-28
Applied patches #1086095 and 1088385 courtesy Salathar:
common/map.c: hidden DM is non blocking
server/c_chat: can't do emotions towards hidden DMs. Player's emotions
always displayed in split window.
server/c_wiz.c: add an extra player leave message when DM hides
server/main.c: don't display leave messages for hidden DM when connection timeo
ut
server/c_party.c: party password max length is 7, due to buffer size.
(i think it was a patch from Casper?)
Ryo 2004-12-25
server/c_wiz.c: Remove item when 'free' by DM if not removed, avoiding crash.
Ryo 2004-12-22
server/c_party.c: Make party passwords of 8 characters work, disallow longer
passwords. Based on patch #1080096 from Casper.
Correct help message for party commands.
Andreas Kirschbaum 2004-12-10
plugin/plugin_python.c: change 'long long' so 'sint64' (typedef).
Ryo Saeba 2004-11-29
common/object.c: apply patch #1066665 courtesy Salathar for exits with
blockview 1.
lib/formulae: apply patch #1064643 courtesy Salathar to fix broken formulae.
lib/wizhelp/speed: remove file, command changed name.
lib/wizhelp/server_speed: updated 'speed' command help.
server/c_wiz.c: apply patch #1063051 courtesy Salathar to update muzzle message.
server/commands.c: apply patch #1052224 courtesy Casper to change
'speed' to 'server_speed' as name is ambiguous.
Ryo Saeba 2004-11-25
common/loader.l: Fix passed size in FAST_SAVE_LONG() - was one too long,
causing truncated diffs after "dam_modifier" entry.
Andreas Kirschbaum 2004-11-15
This commit adds the functionality of patch 991916, although the patch
as submitted was used as a baseline to start from.
include/sproto.h: rebuilt
server/c_chat.c: Rename command_chat() to command_tell_all() which takes
a few more optional parameters. Add command_shout() and command_chat()
that invoke command_tell_all() with the appropriate changes.
server/commands.c: Add chat to list of command table.
MSW 2004-11-08
plugin/plugin_python.c: Run the script python_init.py right after
initializing the interpreter.
Andreas Kirschbaum 2004-10-21
server/c_party.c: actually warn party members of password change. Notify when
someone joins party.
Ryo 2004-10-21
plugin/plugin_python.c, plugin/include/plugin_python.h, server/plugins.c:
Fix comments, change whitespace.
Andreas Kirschbaum 2004-10-19
Fix some bugs I introduced in my last commit.
common/map.c: Add back in call to sum_weight that got removed when removing
the object checking code.
common/treasure.c: Have fix_generated_item() blank out the randomitems
field after it has created treasure.
server/apply.c: Only clear randomitems after create_treasure() - don't
presume it should get blanked out for other reasons - with change
to treasure.c above, this should be more reliable and fix starting
skill issue, as randomitems was getting blanked out for CLASS object.
server/main.c: Change processing of players a little - found crash where
autosave was called for a removed player (map had got swapped out) -
don't do autosave logic if player is removed. Move the autosave code
to after the players action, so that can just have a single check of
removed status.
MSW 2004-10-17
include/sproto.h, server/egoitem.c: Change create_artifact() to return whether
the artifact was created.
server/plugins.c: Change CFWCreateArtifact()/HOOK_CREATEARTIFACT to return
whether the artifact was created.
plugin/plugin_python.c: Define new function create_object() to create
objects. Use this function to fix CFPython.CreateObjectInside() and
CFPython.CreateObject(): creation of artifacts does work now.
plugin/plugin_python.c: Fix CFPython.GetNextPlayerInfo() to work with long
force names. Remove duplicate variable initialization.
server/plugins.c: Remove the use of malloc() in initOnePlugin().
Andreas Kirschbaum 2004-10-18
plugin/plugin_python.c, plugin_animator/animator_box.c,
plugin_animator/plugin_animator.c, plugin_logger/arena.c,
plugin_logger/plugin_logger.c: Use HOOK_FREEMEMORY to free memory allocated
by HOOK-functions. Fix memory leaks.
plugin/plugin_python.c, server/plugin.c, plugin_animator/animator_box.c: Fix
some more mismatches between plugin interface and implementation.
CFPython.Get/SetSkillExperience() use 64-bit exp values now.
CFPython.CastAbility() works again.
Andreas Kirschbaum 2004-10-16
plugin/plugin_python.c, server/plugin.c: Fix type mismatches between plugin
interface and implementation.
plugin/plugin_python.c, server/plugin.c: Add/remove "static" to/from some
variables. Fixes a memory leak in CFPython.SaveObject().
plugin/plugin_python.c: Fix reference counting for Python objects.
Andreas Kirschbaum 2004-10-15
common/living.c: Fix exp functions to use the player objects expmul
value when determining level gains, and not the skills. Also,
fix bug where players last hp/sp/grace gain I think was being
re-rolled when player gained level in skill.
common/loader.l, loader.c: Add better recording of non existant objects
(no archetype for them) in maps. Also, handle such objects in
players inventories properly (which is to just discard them)
common/map.c: Add better logging about discarded archetypes. Since the
loader now deals with objects without archs in inventories, that
code doesn't need to be in the server.
common/object.c: copy_object() was not properly nulling out the
next field in the event object, pointer to event list was also
incorrect, causing events to not be copied properly.
doc/spoiler-html/spoiler.html: Rebuilt.
server/apply.c: Apply patch by MT that fixes problem of entire inventory
not being copied properly. Fix problem that objects in creatures
were not having any sub treasure created (eg, put a pyro_book in
a monster on the map, and the pyro_book wouldn't have a spell in
it) - now we make sure we process inventory objects as well as map
objects, creating treasure as needed.
server/monster.c: Reverse order of cast_spell() and drain_rod() in
monster_use_range() - drain_rod() should go first, because
case_spell() can in rare cases destroy the rod.
MSW 2004-10-14
server/c_misc.c: Add natural skin resistances to 'statistics' output for
dragon players.
Ryo 2004-10-10
common/readable.c: Apply patch by Kevin Rudat to add some alchemy book names.
common/readable.c: Apply patch by Kevin Rudat to fix buffer overrun while
generating book titles.
Andreas Kirschbaum 2004-10-09
include/sproto.h: Add function prototype.
server/c_wiz.c: Add 'command_stack_clear' to clear DM item stack.
server/commands.c: Link function to function array.
Ryo 2004-09-26
server/player.c: Allow to 'reply' to players that logged out but did not yet
drop the connection. Now reply works like other communication commands.
common/utils.c: Fix random_roll() and die_roll() to not return out of range
values.
include/define.h: Add parentheses around arguments of FABS macro.
Andreas Kirschbaum 2004-09-19
server/rune.c: Prevent creation of level 0 runes. Re-enable runes to cast
multiple spells.
Andreas Kirschbaum 2004-09-14
include/config.h: fix Win32 log path so there actually is a log.
plugin/plugin_python.c: uint doesn't exist under Win32, use uint32 instead.
Patches from tracker, courtesy Kurtat:
patch 1022942: Random documentation updates
doc/SurvivalGuide
doc/Developers/programming_guide
doc/Developers/protocol
lib/settings
lib/help/cast
patch 1022973: Words for numbers in spellbook description
server/c_object
Ryo 2004-09-12
server/attack.c: Pass in skill (string) to change_exp instead of skop->skill -
skop can be null, resulting in a crash here. In addition, other calls
to change_exp in this function use the skill string, so it is good to
be consistent.
MSW 2004-09-09
server/c_wiz.c: Don't forget to skip blanks after reading item number or stack
position. Works better for commands like patch :)
Ryo 2004-09-06
common/object.c: Fix insert_ob_in_map so right coordinates and map
value are used on GET_MAP_OB call - was using values before changes
for tiling were applied.
MSW 2004-09-02
server/player.c: allow to 'talk' to players with ambiguous names: use a
perfect match even if other partial matches exist.
Andreas Kirschbaum 2004-08-30
include/define.h
server/shop.c
add new flags F_IDENTIFIED and F_NOT_CURSED to query_cost() to pretend
the item to be identified/not cursed or damned.
server/alchemy.c
fix possible abuse of shadow alchemy: do not allow the generated items
to be more valuable than the ingredients when using alternate recipes.
Andreas Kirschbaum 2004-08-24
common/map.c: Add extra check to make sure variable is set before calling
strcmp - this can happen if the map file that is being loaded is
0 bytes - without this, the server would crash.
MSW 2004-08-23
server/disease.c: fix crash when casting diseases on tiled maps.
server/move.c: fix problem with multi-tile monsters and pass thru walls.
server/spell_effect.c: fix magic walls sometimes appearing in wrong place.
Andreas Kirschbaum 2004-08-20
common/loader.l, loader.c: in check_loaded_object() - don't give spell
objects inventory if we are in the arch_init phase. When loading objects
in common loader routine, if object doesn't have arch, set the object
name to the arch name so that it is more meaningful than 'singularity'.
common/map.c: If object has inventory, check to make sure the inventory
objects have an archetype set - if not, remove and free the object -
objects without archetypes causes crashes.
MSW 2004-08-17
server/apply.c: fix_auto_apply() - add some debugging statements, as I've
seen crashes caused by monsters with scrolls with no spells - need to
figure out how those are showing up.
server/c_wiz.c: command_kick() - fix occasional crashes when player isn't
on any map when kicked. command_create() largely rewritten so it doesn't
crash the server on any malformed values passed in, add some more features
so it should be easier to create objects.
MSW 2004-08-16
server/apply.c: better to not create a treasure for spellbooks that already have
something in inventory. Else you get 2 spells in the book, which then
mutates when loading (first spell is the book's spell, and order changes eve
ry
load/save...)
Ryo 2004-08-16
Those changes mostly add an item stack for DMs. It makes it easier to dump & pat
ch &
manipulate items without having to copy numbers all the time.
Basically, you can use '$x', meaning item at position x on stack. Or even
omit argument, defaulting to stack top.
When using an object number, it gets stacked automatically (up to 50 items).
Also add a 'diff' command, letting the DM see the result of 'get_ob_diff' on ite
ms,
to spot differences easily.
common/player.c: free item stack when freeing player structure.
include/player.h: add item stack to player structure.
include/sproto.h: new functions for stack.
include/win32.h: missed commit for 1.6.1 version.
server/c_misc.c: push item dumped with 'deumpbelow' on dm stack.
server/c_wiz.c: add stack functions. Use'em on patch, create, remove, free, and
such.
Add 'diff' command.
server/commands.c: add new stack & diff commands.
Ryo 2004-08-15
server/spell_attack.c: fix mood_change when spell has no attacktype.
In this case, do a specific saving throw, to ensure a level 1 player
can't charm a level 125 monster.
Ryo 2004-08-14
random_maps/exit.c
random_maps/random_map.c
random_maps/random_map.h
random_maps/reader.l
random_maps/rproto.h
random_maps/special.c
random_maps/wall.c
added fix for random maps with single arch walls,
added level indicator on random map signs
added new parameter 'exit_on_final_map'- see documentation
TM 2004-08-07
include/plugin.h
plugin/plugin_python.c
server/c_wiz.c
server/plugins.c
add event hooks for Kick and Muzzle(toggle_shout) commands.
fix CFSetQuantity by changing the int to uint and remove 100000 item limit.
pythonplug now looks for event scripts in maps/python/events.
TM 2004-08-02
server/skills.c: xp for writing is now multiplied by skill level, to
make it possible to level.
Ryo 2004-07-17
common/loader.c: add #ifndef for non-existant Win32 header
include/win32.h: #define vsnprintf _vsnprintf to fix linking issue
Ryo 2004-07-03
server/skill_util.c: Fix skills command so that it properly displays
percentage of permanent exp.
server/time.c: Modify move_arrow() so that it removes thrown objects
with no inventory.
MSW 2004-06-22
socket/info.c: Replace sprintf() calls with snprintf() - got metalforge
crash with apparent buffer overun - going to snprintf should prevent
the problem in the future.
MSW 2004-06-21
server/c_wiz.c: for command_create() - check to see if 'of' parameter
is a spell archetype name, and do the right thing if it is. This
allows things like 'create rod_heavy of spell_large_lightning'.
Note that the command_create is still a seriously broken function
in many regards.
server/rune.c: Fix write_rune() when trying to find the spell in encase
in the rune - assignment was incorrect, so it always took the last
matching spell in the players inventory, not the best matching spell.
server/spell_util.c: Change the call to prayer_failure() so that its
potency is based on how badly short the player is short of grace. Eg,
if only 1 point short, potency of 1. This changes from before where
the potency was always the difference in mana.
MSW 2004-06-17
server/attack.c: Fix hit_with_arrow() so that it uses the proper map
when inserting the arrow.
server/c_wiz.c: Add note about brokeness of command_create()
server/spell_effect.c: execute_word_of_recall() - don't attempt recall
if player isn't on any map.
MSW 2004-06-15
common/object.c
include/define.h
include/player.h
include/sproto.h
server/attack.c
server/c_object.c
server/player.c
server/shop.c
socket/item.c
socket/loop.c
socket/request.c: Remove explicit calls to
esrv_update_item(UPD_WEIGHT, pl, pl) for player objects. Instead
send the new weight whenever it changes.
Andreas Kirschbaum 2004-06-13
server/spell_attack.c: cast_destruction() - have it change the skill
for the caster so that exp is properly awarded.
common/object.c: insert_map_in_ob() - remove CAN_MERGE checks after the
map translation - otherwise, we can have bogus coordinates
that are used for GET_MAP_OB.
random_maps/style.c: pick_random_object() - have it return null object
(and probably crash) instead of getting into an infinite loop.
server/c_wiz.c: command_kick() - check FLAG_FREED of player. Remove all
the broken skill/exp object granting code in command_possess() - this
is probably still a broken function.
common/item.c: describe_monster() - if the creature/player is stealthy,
mention it when the object is described.
common/loader.l, loader.c: Fix passed in size to get_ob_diff() - was one
to long, causing string corruption.
server/spell_attack.c: mood_change() - fix get_map_ob call - wasn't using
correct coordinate variables, resulting in crash.
MSW 2004-06-10
server/c_party.c: gsay improvements, courtesy Katia.
Ryo 2004-06-09
server/commands.c: Disable 'possess', that crashes server.
server/monster.c: Make monsters use wands/horns/... again. Also make'em
ignore DMs all the time (even when not invisible).
server/skill_util.c: Fix the change_skill when called for monsters.
Ryo 2004-06-06
server/c_misc.c: Add sum_weight() call to fix_me command so that players
weight is properly recalculated.
server/skills.c: Fix up attempt_steal() so that it doesn't improperly
remove object from target when person doing the stealing can't pick
it up.
server/spell_attack.c: Set maxhp properly, so multipled fireballs, etc
can be going off at the same time.
server/spell_effect.c: Fix up cast_create_missile() so more esoteric
missiles can be created.
MSW 2004-05-31
include/sproto.h: new 'dmhide' command.
server/commands.c: new 'dmhide' command.
server/c_wiz.c: added 'dmhide' command. Player becomes DM, and 'hide's immediate
ly. Others
only see him/her leave the game, they don't know s/he's DM.
Ryo 2004-05-24
include/book.h: Increase the size of BOOK_BUF, so inscribed books can hold
more informatin.
lib/Makefile.am, lib/Makefile.in: Add the 'rename' to the list of help
files.
lib/archetypes: update the glyph/rune spells to have proper face.
lib/bmaps, lib/crossfire.* - add glyph.111 image.
server/gods.c: Modify tailor_god_spell() to look harder to find a god -
necessary for glyph spells.
server/spell_attack.c: Give players 50% of exp for monsters they charm.
MSW 2004-05-19
common/object.c: Correct get_search_arr() to return a proper permutation.
Andreas Kirschbaum 2004-05-18
server/main.c: Have process_events display information from dumped object.
also, more refinement on checking of object status.
MSW 2004-05-16
server/build_map.c: change 'player' variable to 'pl', since a player
structure already exists. Also fix disappearing pedestals on non-unique
maps (put'em over floor, they are visible but hey, can't have everything :p)
server/c_wiz.c: fix learn_spell.
Ryo 2004-05-16
server/main.c: freeing removed objects appeared to have more of a
consequence than expected - only remove the object if it was on a map
(op->map). It turns out that the artifact code uses objects that
are removed to store what the new object is.
server/spell_effect.c: Fix cast_create_food() to call
find_archetype_by_object_name() instead of find_archetype(). In this
way, players can use invoke without having to know the archetype name.
server/c_wiz.c: Modify command_banish() to record dm name, player name,
and date of command.
server/acinclude.m4: Patch by acinclude.m4 to add python 2.3 support.
Rebuilt files (Makefile.in, aclocal.m4, configure, configure.in). add
config.guess, config.sub since automake now includes them in the Makefile.in
file.
MSW 2004-05-15
Added a new item type: ground positioning system (GPS).
This lets a player know his/her location in the world.
Only works in 'world_xxx_xxx' maps.
include/define.h: add new item type, 'GPS' (162).
include/sproto.h: add new function, 'apply_positioning_system'.
server/apply.c: handle new item type.
Ryo 2004-05-15
server/spell_util.c: SP_level_spellpoint_cost() - never have a spell
cost 0 spellpoints due to attunement or other bonuses - spell always
cost at least 1 sp/grace.
server/main.c: Fix process_events() so it doesn't purge removed players
from the list - players get in the removed state at play again
prompt.
server/apply.c: Fix fix_auto_apply() so we don't generate additional
spells for spellcasting objects that already have them (regression
from fix from 5/11 below)
MSW 2004-05-13
server/pets.c: Fix summon golem, summon pet monsters so that the summoned
monsters are not worth any exp. Fixes bugs were players could
summon monsters and then kill them.
server/skills.c: Fix do_skill_detect_curse() and do_skill_detect_magic()
so that they don't process objects the player is incapable of picking
up (eg, floors). Fixes experience exploit.
server/apply.c: modify fix_auto_apply() so that it properly generates
items for creatures that start with objects in their inventory.
MSW 2004-05-11
server/spell_util.c: Fix cast_spell() so that failed spells (due to
encumberance or other penalties) still cost some random number of grace/
mana points.
MSW 2004-05-10
common/treasure.c: Change the loading of the artifacts file to actually
calloc() the object - reset_object() doesn't clear all the values,
like active_next, active_prev, so better to just do it there.
server/main.c: Add code in process_events() that checks for removed objects -
have seen occasional crashes caused by them.
MSW 2004-05-08
Armor enchantment now uses setting values.
common/init.c: new values to init in settings.
include/global.h: new setting values.
include/config.h: new default values for settings.
lib/settings: explanation for those new values.
server/apply.c: change armor improvement code to use setting values.
server/init.c: read new settings.
Ryo 2004-05-08
common/init.c: there's a #define LOGFILE, use it instead of hardcoded value.
include/config.h: change default logfile path to previous value in init.c.
server/c_wiz.c: Fix 'nodm' displaying incorrect messages, and forgetting to
update player count on map.
Ryo 2004-05-08
server/apply.c: Fix apply_special() to properly deal with LAMP objects - it
wasn't dealing properly with the split off lamp compared to the one it
was supposed to deal with - was crashing server.
MSW 2004-05-04
common/item.c: describe_monster() - print luck when describing players (fixex
perceive self not showing luck)
server/attack.c: kill_object() - don't give player exp if he kills himself -
compare owner against what was killed, not the hitter.
server/pets.c: summon_object() - move breaking out for last treasurelist
after we set the last valid treasurelist - otherwise, the list entry for
the treasurelist was never used. Change summoned creatures so that
the items they have are god given, and thus disappear when they
are killed - prevents players from summoning and then looting their pets.
server/spell_attack.c: explode_bullet() - Get owner of the spell so that we
can properly tailor the explosion portion of the spell for the god
of the worshipper.
MSW 2004-05-03
server/shop.c: patch from Andreas Kirschbaum for Windows compilation.
server/spell_effect.c: patch from Andreas Kirschbaum for Windows compilation.
Ryo 2004-05-03
common/porting: changed open_and_uncompress to use const char* instead of
char*, since value shouldn't be changed (and isn't).
include/libproto.h: changed prototype for open_and_uncompress
Ryo 2004-04-28