--- crossfire/include ---


Protocol:pserver User:anonymous
Machine:crossfire.cvs.sourceforge.net CVSROOT:/cvsroot/crossfire

Filename: player.h
Revision 1.48ryo_saeba 2006/08/08 05:05:34 +2 -1
Feature request #821645 (change password command)
Show difference between Revision 1.47 and 1.48
Revision 1.47ryo_saeba 2006/03/18 09:05:32 +2 -2
Massive cleaning of code. Shouldn't be any functional change.
Show difference between Revision 1.46 and 1.47
Revision 1.46mwedel 2006/02/07 01:54:46 +3 -2
Code that adds transports. Transports are described more in detail in
docs/Developers/objects.
---
loader.l: Add new move type ('boat'). Update move_name field to be aware of
this type.
common/object.c: Unrelated to transport, but more apparant with transports -
fix bug with insert_ob_in_map() and multipart objects - we now only
try to fix up map and coordinates if the provided coordinates are
out of the map. Before, function would always use the passed
map for multipart objects, which is incorrect if we have already
set valid coordinates.
doc/Developers/objects: Update notes for TRANSPORTS. Update move
information to include MOVE_BOAT.
include/define.h: Add type TRANSPORT. Add MOVE_BOAT.
include/player.h: Add transport field to player structure.
include/sproto.h: rebuilt.
server/apply.c: Add code to handle applying of transports. Update
apply_below to apply transport if player is on one.
server/attack.c: Update hit_map() to look for transports, and hit any
players with the damage.
server/c_object.c: Update put_object_in_sack() to also handle TRANSPORTS
so that code can be re-used.
server/move.c: Fix handling of multipart objects in move_object() -
old code didn't work right with multipart objects moving along seams
of tiled maps. Add code to move_ob() to update player map position
for all players in a moving transport.
server/player.c: Update move_player_attack() too check of player is
in tranport, and use that for map and location information. Update
move_player() to handle speed related issues with transports.
server/time.c: Add code to credit time back to TRANSPORT objects since
we remove time in move_player() for TRANSPORTS.
socket/item.c: Add add_object_to_socklist() so that same code isn't
reproduced in 3 different places in the file. Update draw_look()
to handle transports - send transport object itself, then objects
in transport. Update esrv_send_inventory() and esrv_send_item()
to use add_object_to_socklist(). Update esrv_get_ob_from_count() to look
for objects in transport if player is in transport.
socket/loop.c: Remove checking of pl->map status, since draw_client_map()
does that, and we need to handle if the player is in a transport.
socket/request.c: Handle map drawing if player is in a transport.
MSW 2006-02-06
Show difference between Revision 1.45 and 1.46
Revision 1.45cavesomething 2006/01/09 13:35:12 +5 -2
spell listing support
Show difference between Revision 1.44 and 1.45
Revision 1.44qal21 2006/01/08 16:40:34 +3 -3
Fix stray commas at the end of enums (detection thanks to paranoid CFLAGS ;P)
Show difference between Revision 1.43 and 1.44
Revision 1.43ryo_saeba 2005/10/01 12:46:04 +2 -1
Patches #1307880 and #1306987 courtesy quisar
Show difference between Revision 1.42 and 1.43
Revision 1.42ryo_saeba 2005/10/01 11:36:35 +3 -3
Clean some compilation warnings.
Show difference between Revision 1.41 and 1.42
Revision 1.41cavesomething 2005/09/24 21:15:45 +1 -2
make prior party obsoletion patch not completely broken
Show difference between Revision 1.40 and 1.41
Revision 1.40ryo_saeba 2005/09/24 04:28:05 +21 -22
Patch 1194964 (party obsoletion) by cavesomething
Show difference between Revision 1.39 and 1.40
Revision 1.39ryo_saeba 2005/08/12 08:46:34 +3 -3
Fields changed from char* to const char*, cleanup.
Show difference between Revision 1.38 and 1.39
Revision 1.38qal21 2005/07/16 14:03:02 +3 -2
server/{c_misc.c, monster.c, pets.c}, include/player.h: Add new "arena"
petmode which allows pets to attack players and other pets while in the
arena.
Alex Schultz 2005-07-16
Show difference between Revision 1.37 and 1.38
Revision 1.37ryo_saeba 2004/08/15 12:03:07 +4 -1
Add item stack for DMs, to ease item manipulation
Show difference between Revision 1.36 and 1.37
Revision 1.36akirschbaum 2004/06/13 12:30:22 +2 -1
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.
Show difference between Revision 1.35 and 1.36
Revision 1.35ryo_saeba 2004/02/16 12:05:32 +1 -3
Cleaned some unused fields. Type coherence.
Show difference between Revision 1.34 and 1.35
Revision 1.34ryo_saeba 2004/01/18 04:36:10 +3 -2
Added map-building code.
Show difference between Revision 1.33 and 1.34
Revision 1.33mwedel 2003/09/13 00:01:34 +5 -12
Updated code for skill + spell code. skills and spells are now objects.
tuning these now means changing the archetypes. New spells can now
be added just by making a new archetype. Lots of code cleanup
also done.
MSW 2003-09-12
Show difference between Revision 1.32 and 1.33
Revision 1.32temitchell 2003/07/23 23:21:14 +2 -4
- added toggle_shout DM command to disable/enable player shouting
Show difference between Revision 1.31 and 1.32
Revision 1.31mwedel 2003/03/07 23:35:32 +13 -12
Patch for 64 bit experience total, as well as flexible number of levels.
Basically, max level is now dynamic, set in exp_table file. Experience
is now a 64 bit value, so much higher totals now allowed. To
allow for flexible levels, add new function - did_make_save() which is used
for players/monsters to see if they make their saving throw - this is
necessary because the savethrow[] array may not be as large as max level -
did_make_save takes this into account.
NOTE: If your updating a server, you will need to copy over/set up a
new exp_table file that has max_levels defined and at least one of the
tables uncommented. There are no longer any compiled in defaults
--
configure, configure.ac: Add AC_CHECK_SIZEOF calls for long and long long
so we can know which one to use for 64 bit support (other checks
may need to be added)
common/exp.c: Remove levels table, replace it with a 64 bit pointer.
Change init_experience to allocate appropriately sized table, have it
read max_level value from exp_table file. Replace atoi calls with
atoll to get 64 bit value. Update dump_experience to properly
print 64 bit values.
common/info.c: Update dump routines that dump exp to properly print
64 bit values.
common/init.c: Add initializing for settings.max_level value.
common/item.c: Update sprintf's to handle 64 bit output of exp (speed)
value in objects.
common/living.c: change MAX_EXP define, update MAX_EXP_IN_OBJ define,
add MAX_SAVE_LEVEL which corresponds to how large the savethrow
table is. Change MAXLEVEL to settings.max_level. Change level_exp()
to return 64 bit value, other updates in functions to use 64 bit
values. Add did_make_save() function.
common/loader.l, common/loader.c: Update load/save routins of exp to
deal with 64 bit values.
common/map.c: Update calculate_difficulty to use 64 bit values when
storing exp - unlikely to make a difference, since unlikely any map
will get to a point where it has that much exp on it.
common/porting.c: Remove dead code from save_long(), add save_long_long()
to save 64 bit values.
include/autoconf.h.in: SIZEOF_LONG and SIZEOF_LONG_LONG values added.
include/global.h: Add code to typedef sint64/uint64 types based on what
type gives us those values. Add max_level to settings array.
include/libproto.h: rebuilt.
include/living.h: Replace exp field with 64 bit value.
include/player.h: Update party kill log exp tracking to have 64 bit
values.
lib/exp_table: Udpate comments about max_level, uncomment what
was the default table so new installs have working table.
Add 5 levels to all the tables.
random_maps/monster.c: Update place_monsters to use 64 bit when storing
exp total for map/per square.
server/apply.c: Replace MAXLEVEL with settings.max_level, add
did_make_save calls where appropriate
server/c_misc.c: have statistics command properly print 64 bit
exp value.
server/c_wiz.c: Have stats command properly display 64 bit value.
server/hiscore.c: Replace exp values with 64 bit values, update to
properly load/display them.
server/player.c: replace savethrow[] reference with did_make_save()
server/skill_util.c: Update skills command to properly show 64 bit exp values.
server/spell_effect.c: replace savethrow[] reference with did_make_save(),
allow players to cast directors right beneath themselves, but other
walls must be on empty space.
MSW 2003-03-07
Show difference between Revision 1.30 and 1.31
Revision 1.30garbled 2003/02/04 23:32:02 +3 -2
New bow code. bowmode bestarrow. When firing arrows, look at the first
target in line, and attempt to pick the best arrow to use against it.
Show difference between Revision 1.29 and 1.30
Revision 1.29garbled 2002/12/25 00:45:46 +22 -1
New Arrow and Pet Code:
Add bowmode and petmode commands. Allowing the player to change the firing
style for bows to one of either threewide, or spreadshot.
Allow players to change the operating modes of his pet with petmode. Can
be either seek and destroy, defend, or normal historical behavior.
Change bows to impart speed to arrows based on damage and other magical
plusses. Damage decays over distance, to stop arrows from flying forever.
Very fast moving arrows will pierce multiple targets. An arrow moving at a
speed greater than 10.0 will go straight through a target, losing 1.0 of
speed in the process.
Change magic missile to use spell_find_dir instead of find_dir to stop it
from flying in a circle and hitting the caster, and to make it stop
flying into walls to hit creatures behind the walls.
Show difference between Revision 1.28 and 1.29
Revision 1.28mwedel 2002/11/29 22:17:41 +1 -2
TODO: Updated with dm 'follow' command.
common/loader.l: Rebuilt.
common/map.c: Fix up some formatting - no code change.
include/player.h, server/apply.c, server/player.c, socket/info.c: Remove
chosen_item_spell field - isn't needed anymore as that information
is determined each time player fires wand/rod/horn. This fixes
those items firing magic bullets if they were equipped when player
saved and rejoined. Some additional cleanup done in rangetostring() -
mostly formatting changes, but minor code changes.
MSW 2002-11-29
Show difference between Revision 1.27 and 1.28
Revision 1.27garbled 2002/11/26 01:44:28 +1 -5
Remove ifdefs for USE_SWAP_STATS and SORT_ROLLED_STATS
Show difference between Revision 1.26 and 1.27
Revision 1.26garbled 2002/11/12 23:24:53 +1 -3
#ifdef SPELLPOINT_LEVEL_DEPEND -> settings.spellpoint_level_depend
#ifdef EXPLORE_MODE -> settings.explore_mode
While I was here.. make explore mode actually *work*. It didn't even
have an entry in the commands array.
Show difference between Revision 1.25 and 1.26
Revision 1.25garbled 2002/11/12 19:17:50 +1 -6
Missed a define for SPELL_ENCUMBRANCE
Show difference between Revision 1.24 and 1.25
Revision 1.24garbled 2002/11/12 17:20:11 +1 -4
#ifdef SEARCH_ITEMS -> settings.search_items
Show difference between Revision 1.23 and 1.24
Revision 1.23mwedel 2002/10/03 02:07:43 +2 -1
Bugfixes: Add golem_count element to player structure so we can properly
detect when golem is destroyed. This fixes a crash in some places as the
code tried to remove this already removed golem.
Fix crash when null player maps.
include/player.h: Add golem_count element to player structure.
server/player.c: Add code in handle_newscs_player() that checks status of
golem, clears op->contr->golem is value is bogus
server/spell_effect.c, server/spell_util.c: Initialize golem_count
value when golem is created.
socket/request.c: Check for null map value.
MSW 2002-10-04
Show difference between Revision 1.22 and 1.23
Revision 1.22mwedel 2002/09/28 02:19:39 +2 -1
Mostly bugfixes, but the addition of a wiz 'hide' command which makes the
wiz out of sight so to speak.
--
common/loader.l, common/loader.c: Fix bug where flag values were being saved
with actual value of the flag (eg, 32768, 16, etc) instead of 1/0 value -
Code effectively worked the same, just was a bit odd looking at save files.
include/player.h: Add hidden element to player structure.
include/sproto.h: Add command_hide(), update proto for players_on_map()
lib/Makefile.am, lib/Makefile.in: add wizhelp/hide file.
server/apply.c: Add error checking to converts so it doesn't crash if the
converter doesn't have a proper other_arch. Modify shopmats so that they
don't transport spell effects, like fireballs an burning hands.
server/attack.c: Modify code so players can drain other players exp.
server/c_misc.c: Modify various functions to not show info on hidden DM.
server/c_wiz.c: Add command_hide(), clean up command_invisible() a bit.
server/commands.c: Add hide command to dispatch table.
server/main.c: Add code to not update players on map for hidden dm.
server/player.c: Give hidden dm perpetual invisiblity.
server/skills.c: Only get exp if you actually stole an item - fixes abuse
whereby players who couldn't carry item could continually 'steal' it from
monster and just gain exp.
server/swap.c: modify players_on_map() to take addition arg to determine if
real players on map should be shown, or if we shouldn't count hidden dms.
socket/info.c: Modify code so that oldsockets don't get reports on high verbose
messages.
socket/metaserver.c: Modify metaserver update to not include hidden dms.
utils/Makefile.in: update datestmp.
MSW 2002-09-27
Show difference between Revision 1.21 and 1.22
Revision 1.21mwedel 2002/09/14 22:15:17 +2 -2
server/disease.c: Change move_disease() somehwat - before, if you were
not susceptible to a disease, it would never run its course. Yet you
would still get stuck with the symptoms. there was a case on
metalforge where a character had a symptom with no disease, and
had immunity, yet was still getting stuck with the symptoms. Not sure
if this change will help prevent that in the future or not.
include/player.h: Change item_power in player structure to be 16 bits -
8 bit values were getting overflowed.
Makefile.in, configure: rebuilt
MSW 2002-09-14
Show difference between Revision 1.20 and 1.21
Revision 1.20mwedel 2002/07/14 23:57:12 +125 -124
-- Start body commit notes --
Major commit. This adds body locations which is used for equipping items.
Equipment has information which body part it gets equipped to, and monsters
have information on how which body locations they can have.

As part of this work, I also did a lot of code cleanup.

To use this, you must use up to date archetypes - the ones included
in this commit are fine - just make sure you install them. If
you don't, players will not be able to equip items.

common/arch.c: Initialize body_used to be same as body_info for
archetypes - this way when monsters are created, they can
start equipping items right away.
common/exp.c: update new_exp() - some flags it checked for before no longer
exist or have new names.
common/info.c: describe_item() now takes second parameter - update
dump_abilities to use new calling convention.
common/item.c: Add table that describes the body_info locations and
their names. Add functions that calculate item power for objects
that don't have it set. Update display functions to show
item_power in items. Update describe_monster() - use_horn/wand/rod
merged into just use_range. Modify describe_item() to take second
paramater - who the item is being described for. Show item_power
in describe_item.
common/living.c: Pull out MAXLEVEL from being defined in this file -
define in in define.h, since other files use it. Add NUM_STATS
define - replace hard coded values of having just 7 stats with it.
Update change_abil to not display that the player has a new
attacktype when equipping a bow that has it - fix_player() ignores
the attacktype of the bow, so it was incorrect information.
fix_player(): Initialize player ranges structure to null -
will get filled in by code in function, updated to deal with
updating the body_used data from body_info in the objects.
Replace instances of last_heal with gen_sp_armour. Rearrange
some code to make function more readable.
common/loader.c, common/loader.l: Remove the variable_const information - no
longer needed and confusing for new people when adding in new object
elements. Add set_body_info() - parses the string from the load file and
sets the appropriate array element. Add check_loaded_object() - does
sanity checking for an object after finished loading - replaces need for
long processing directive in the actual rules by having seperate function.
Remove unused flags from load directives (apply_once, no_pretext,
can_apply), add some new ones (item_power, gen_sp_armour), update others
to can_use_range. Replace flag_links with simple array that contains the
name for each corresponding flag. Update get_ob_diff to not use the V_
values and just include the actual string name - all recent changes have
done this, just updated for old stuff. Update get_ob_diff to save new
values that have been added.
common/object.c: clear_object: Modify to use memset to clear
the structure to zero - this is less error prone than listing
all the specific values, and probably faster. Also, makes it
easier to add new elements - no need to update object.c in most
cases.
common/player.c: Remove get_player_ob routine - this is now merged
in with get_player_ob in server/player.c. Remove generate_ext_title -
not used.
common/readable.c: Update to pass second argument to describe_item.
common/treasure.c: Update to calculate item_power of generated items.
Clean up a lot of code formatting. Update add_abilities
to use gen_sp_armour values, not last heal (note, it appears
the last_heal values weren't being used before). Update
calls to describe item to take second parameter.
doc/Developers/objects: Update will_apply notes, add note about
item_power, body location.
include/define.h: Comment out unused flags (flag_apply_once, flag_paralyzed,
flag_no_pretext, flag_ready_rod, flag_read_horn). Add flag_use_shield.
rename flag_use_wand to flag_use_range. rename flag_ready_wand to
flag_ready_range. Add flag_ready_scroll. Update ARMOUR_SPELLS access
macro. Add AP_PRINT flag to apply flags. Add CAN_APPLY_.. return types
for can_apply_object function.
include/includes.h: add strftime, mktime checks to this file.
include/libproto.h: rebuilt.
include/living.h: Add NUM_STATS define, update extern declarations
to use it for sizing.
include/loader.h: remove the V_.. info and xbm_.. externs that were not
used.
include/newserver.h: Remove ext_tile information.
include/object.h: Add Body_Locations structure, NUM_BODY_LOCATIONS define.
Add definitions for WILL_APPLY values. Clean up object structure -
formatting is now consistent, ordering of values groups values
together more logically. Update all types to use the int8/int16/int32
types. Several unused fields removed.
include/player.h: Update rangetype enum. Add unapplymode enum.
Clean up player structure - type updates, unused fields removed,
formatting fixed up.
include/spells.h: remove range_name extern. Update SpellTypeFrom
field to combine wand/rod/horn into spellMisc - none of the
spell casting code was differentiating these.
include/sproto.h: rebuilt.
lib/Makefile.in: Add new help files (applymode, bind, brace)
lib/archetypes: rebuilt for body_info, gen_sp_armour, item_power,
can_use_shield information.
lib/artifacts: updated for item_poer and gen_sp_armour changes.
lib/treasures: remove unused _force for player treasure.
plugin/plugin_python.c: Change FLAG_USE_WAND to FLAG_USE_RANGE.
server/apply.c: Move stftime, mktime to include/includes.h. Remove
draw_find() - one line function can just as easly be in the
code itself. Update calls to long_desc to pass second parameter.
move gravestone_text() to player.c file. Add direction parameter to
apply_scroll() - in this way monsters can use it properly.
Remove dead code. Update apply_special function. Add
unapply_special(), get_item_from_body_location(), unapply_for_ob(),
and can_apply_object() functions.
server/attack.c: Remove SET_FLAG(op, FLAG_PARALYZED) line - no code
was ever checking status of FLAG_PARALYZED.
server/c_misc.c: add command_body() which dumps body information for
player. Update who as idle element in player structure removed -
was not being used by anything. Add command_applymode() to
set players prefered unapply method. Remove calls to unlock_player()
in various functions - unlock_player() has not done anything
meaningful for a while.
server/c_object.c: Modify long_desc to take a second parameter
which is who is examing the object. this is needed so that we
can pass it down to some of the lower level functions.
Update calls to describe_item to pass this second parameter.
remove FLAG_NO_PRETEXT code - no archetyps were using it. When
examining objects, also tell player where to put them on.
server/c_range.c: Update legal_range() - we now store the object that
is responsible for a range in the player object, so code is
much simpler. Update change_spell() to not destroy golem
just by readying another spell - we now let players regain control
of golems after switching to another range. Update change_spell
to use item name of object for range description.
server/c_wiz.c: remove reference to count_left from player object -
field removed from structure.
server/commands.c: add new commands (applymode, body) to command dispatch
table.
server/login.c: Remove unlock_player() and lock_player() and calls to it -
current checking of names at login should be sufficient to
prevent duplicates. Remove dead code from check_name. Update
load/save code for unapply mode value. Add set_flag(op,
FLAG_USE_SHIELD) if player is allowed to use armor - needed since
flag_use_shield is really a class feature and so is not automatically
updated for old player files.
server/main.c: Remove references to count_left. memset marker object to
NULL - seems to increase stability on metalforge server.
server/monster.c: Many updates related to the body info - monsters follow some
rules as players. Add monster_should_cast_spell function - monsters will
use this for all spellcasting related actions (abilities, scrolls, wands,
etc). Update for merged rod/horn/wand ranges. Update bow use by monsters
- they don't actually need to equip it to fire - this way we don't need to
constantly swap the monsters weapons between the bow and melee item. Use
fire_bow from player.c for most of the work. Modify scroll usage -
monster will use it when player is near, not when it first picks it up.
Add FLAG_READY_SCROLL to denote the monster has a scroll to use. Also,
monster now casts it in appropriate direciton. Merge the
monster_use_wand/rod/horn into monster_use_range. Modify
check_good_weapon and check_good_armour to just look at the stats of the
two items without needing the monster to apply it first.
server/player.c: Print motd in green so it is more noticable. Update
get_player function to do work it did before as well as that of
get_player_ob. Have get_player take a parameter which is the object of
the player if he has one. Modify to use memset to clear the player
structure - more sure fire than explicitly listing values to initialize.
Remove calls to unlock_player. Modify fire_bow so that monsters can also
use the function. Add fire_misc_object() to fire_wand/rod/horn - removes
code from fire(). Add gravesetone_text() to this file.
server/shop.c: Update to pass second parameter to describe_item().
server/skill_util.c: Update check_skill_to_fire since there are fewer
rangetypes now. change range_scroll name to range_golem, as that is
a bit more accurate for what it actually does. Modify show_skills()
to show player his item power and total of items he has equipped.
server/skills.c: Add second paramater to long_desc, remove references to
count_left.
server/spell_effect.c: Add second paramater to long_desc, remove references to
count_left. Update range_scroll to range_golem
server/spell_util.c: remove references to count_left. Update messages
if player trying to cast where he can't with new range names.
socket/info.c: Update range information and how we display what it is -
we will use the object name of the range if available. Remove
reference last_known_spell, last_shoot, last_spell, last_value
player structure fields.
socket/init.c: Remove ext_title information.
socket/request.c: Add element for life_stealing in the resistance array.
Remove references to idle, count_left in player structure. remove
ext2 title information.
MSW 2002-07-14
-- End body commit notes --
Show difference between Revision 1.19 and 1.20
Revision 1.19mwedel 2002/05/18 22:55:48 +1 -11
The bulk of this commit is to modify the server to only send the lower
rightmost part of multipart archetypes that use the same head. This allows
support of big images in the client.

common/arch.c: Modify first_arch_pass to figure out the tail_x/y values for
multipart archs. Rename the prev variable to head, as that it really what
it is. Remove quick_pos info.
common/object.c: remove quick_pos info from object.
doc/Developers/images: Add notes about using merged images.
doc/Developers/protocol: Add information about the map1a command, which
is used to for big image support. Remove map2 documentation.
include/map.h: Add MAP_LAYERS define instead of using hardcoded value of 3.
include/newserver.h: Change the MapCell to use MAP_LAYERS - saves
considerable memory. Add defines for MAX_CLIENT_ map sizes.
Remove map1cmd, map2cmd elements from socket structure - instead use enumeration
of mapmode - only one map type will be used at any time by the client, so
no reason to have individual elements - it also makes it easier to add new
mapmode commands.
include/object.h: remove quick_pos, update_tag from object structure.
Add tail_x, tail_y values to archetype structure.
include/player.h: Remove some now unused values from the player structure
(drawn, floor, floor2, darkmask). These have been superseded by the
map cells in the socket structure for quite a while.
include/sockproto.h: rebuilt
server/player.c: Remove code that initialized the drawn values in the player
structure since they no longer exist.
socket/init.c: Replace map1cmd, map2cmd elements in socket structure with
mapmode element. Modify init_ericserver so that it properly passes an
int when setting the SO_REUSERADDR field.
socket/request.c: Modify code in SetUp function to use the new mapmode
enumeration in the socket structure. Add support for map1acmd setup
option. Throughout map code, replace MAXMAPCELLFACES with MAP_LAYERS.
modify map_clearcell to take options for values to clear the cell to.
Add have_head, check_head, and update_space commands - used with the
map1 command to store and find head information.
draw_client_map1 modified to support map1a extensions, as well as added
logic for checking for heads in blocked and out of viewable map spaces.
Some of the code is simplified by using the update_space function, since
the logic for processing each layer was otherwise the same. remove
draw_client_map2 function. esrv_map_scroll has same logic - some
variables and code formatting changes.
MSW 2002-05-18
Show difference between Revision 1.18 and 1.19
Revision 1.18avogl 2002/03/10 10:18:13 +2 -2
I've increased the length of the player->title
string (from 16 to 32 byte) to fix the buffer-overrun
issue with long dragon titles.
Note that the object->title remains unchanged.
Tell me if I'm wrong, but afaik the player title doesn't
mingle with object titles.

I also simplified the storage of dragon titles. It is
no longer saved in the dragon_ability_force but
recalculated every reload.
Show difference between Revision 1.17 and 1.18
Revision 1.17jbontje 2002/01/16 04:51:32 +2 -1
include/player.h include/sproto.h server/c_chat.c server/player.c:
New player command 'reply', replies to the last person who told you
something.
server/c_wiz.c: New DM command 'teleport', lets a DM teleport next
to target player, it is an inverse summon.
server/commands.c: Add hooks for 'reply' and 'teleport'.
mids 2002-01-16
Show difference between Revision 1.16 and 1.17
Revision 1.16michtoen 2001/11/17 15:25:21 +8 -2
commit the ext2 gender & guild system - first part. Sorry, my cvs sytem is still broken, i will write a better doc to the list. Notice some other small fixes too.
Show difference between Revision 1.15 and 1.16
Revision 1.15mwedel 2001/08/29 02:14:16 +2 -2
include/define.h: Pickup type defines added.
include/player.h: Change mode (pickup mode) to 32 bits.
server/c_object.c: command_pickup function modified to support all
the new pickup options.
server/player.c: Fix for path_to_player to prevent crashes. Add check
in move_player_attack just in case. check_pick function modified to
support new pickup options. do_some_living modified to eat flesh
items if player is starving and they don't have any food.
server/spell_effect.c: cast_detection modified so that detect magic/curse
will not show objects beneath the floor. Change so that detect_monster
and detect_evil spells copy the face of what they detected - gives better
appearance on client.
socket/item.c: fix bug LookAt that ws checking blocked_los on wrong
offset.
MSW 2001-08-28
Show difference between Revision 1.14 and 1.15
Revision 1.14mwedel 2001/07/13 23:06:50 +5 -2
Map tiling checkin.
include/config.h: remove RANDOM_ENCOUNTERS (no longer available) and
USE_LIGHTING (now standard part and always on).
include/define.h: move P_... values to map.h
include/global.h: add definition for compression externals, as they
are used in a few files. remove map macro functions - moved to map.h
as appropriate. Add FREE_AND_CLEAR macro that frees data and then
sets the pointer to NULL.
include/map.h: Largely redone - many new macros, new map structure.
include/object.h: remove lights object link pointer from objects.
At some #defines that are the flags for update_object and
insert_ob_in_map
include/player.h: Add a few comments.
MSW 2001-07-13
Show difference between Revision 1.13 and 1.14
Revision 1.13mwedel 2001/06/04 01:41:02 +14 -16
Checkin of code that supports larger map sizes (configurable in
config.h).
common/los.c: update los code since it only handled 11x11 maps. Now
uses formulatic approach so any map size should be supported. This
does result in a few more spaces getting blocked around corners,
but it doesn't seem that bad - certainly not compared to the ability
to have larger viewable maps.
common/map.c, crossedit/CrEdit.c, crossedit/Edit.c, include/global.h,
include/map.h,random_maps/monster.c,random_maps/special.c,
random_maps/standalone.c, server/apply.c,server/c_misc.c,
server/spell_effect.c,socket/info.c:
change mapx,mapy to what they really point to,
as it prevented using those as variable/structure element names.
common/object.c: update_position - if faces for different layers are
duplicate, set the duplicates to be blank to increase client
update efficiency.
doc/Protocol: Add map1 command description, update setup command to
describe setting of mapsize.
include/config.h: add MAP_CLIENT_X/Y to set maximum map size we can
send to the client.
include/newserver.h: add mapx, mapy values to socket structure
include/player.h: Use MAP_CLIENT_X/Y for sizing arrays that hold
map related information in player structure.
server/player.c: As per player.h above, use appropriate sizing when
initializing player stucture.
server/shop.c: Update mapx,mapy like above, but re-do shop listings code as
it was doing a lot more work than necessarily (I think some changes
got put in for sorting, and the old object manipulation was never
removed when that got done)
socket/init.c: set default client map size to 11x11 in the socket.
socket/item.c: LookAt - change checks for position checking (such that
you can only look at things in bounds) use max viewable map size.
socket/request.c: Make setup commands a little more forgiving if there are
extra spaces. Add 'mapsize' command to setup command. Update
old map sending code to use socket map sizes (to support even
smaller than normal maps, or 13x13 or 15x15 maps). add draw_client_map1
command which implements the map1 protocol command.
MSW 2001-06-03
Show difference between Revision 1.12 and 1.13
Revision 1.12mwedel 2001/05/28 23:41:53 +7 -5
Make ALLOW_SKILLS standard part of game (remove #ifdef's for it)
Files affected: common/living.c common/object.c common/treasure.c
include/config.h include/player.h server/apply.c server/attack.c
server/c_move.c server/c_range.c server/c_wiz.c server/commands.c
server/init.c server/login.c server/monster.c server/player.c
server/rune.c server/skill_util.c server/spell_util.c
Make MULTIPLE_GODS standards part of game (remove #ifdefs for it)
Files affected: common/readable.c include/spellist.h include/config.h
server/attack.c server/gods.c server/skills.c server/spell_effect.c
server/spell_util.c
doc/Makefile.in, doc/Protocol: Add protocol description file here instead
of in the client distribution.
include/global.h: Move declaration of MAX_EXP_CAT near top of file
so it is set before player.h is included.
include/newclient.h: Add CS_STAT_SKILL* values for sending skill
experience information to client.
include/newserver.h: Add skillexp value to socket struct which determines
if client wants skill experience informatiion.
include/player.h: Add skill information tracking to player structure
so we can easily know when to send updates to client.
random_maps/expand2x.c: remove unused variable to prevent compiler warnings.
random_maps/square_spiral.c: Include prototype information on all systems,
not just win32 to prevent compiler warnings.
server/skill_util.c: Initialize skill pointers to make it easier to
find skill information when we want to update client.
socket/init.c: Init socket->skillexp to 0.
socket/loop.c: Fix indentation of table - whitespace change only
socket/metaserver.c: Minor fix to prevent compile warnings (on the sprintf
that composes the data to send to the metaserver)
socket/request.c: Redo SetUp function to be more compact and IMO simpler as
wll as easier to read (functionality remains the same).
VersionCmd modified to warn users of on dxclients (code on MT)
StatsCmd added to send skill information if client wants it.
The sending of skill experience is by MT, rest of the changes by me.
MSW 2001-05-28
Show difference between Revision 1.11 and 1.12
Revision 1.11mwedel 2001/04/09 01:59:46 +0 -16
Main thing this commit does:
Undo MT's last commit, which should not have been checked it at this time.
As that did not fix any bugs, it should wait until after 1.0 (at least
one file also fails to compile)
Fix minor bug in server/player.c which prevent keyring weight from
getting updated when keys are automatically used out of the rings.
move the GETTIMEOFDAY macro to include/global.h so it doesn't have to
be done in both arch.c and time.c
remove some ^M characters from porting.c
MSW 2001-04-08
Show difference between Revision 1.10 and 1.11
Revision 1.10michtoen 2001/04/08 19:57:27 +17 -1
add skill exp
Show difference between Revision 1.9 and 1.10
Revision 1.9cvs 2000/12/18 01:38:24 +1 -2
MSW 2000/12/17: Various changes. Note that the scope of files in this checkin
make it appear that a lot was changed, but in fact it was mostly just
re-orginization - very little code has actually changed.
include/autoconf.h.in: Add HAVE_LIBDES to file.
include/config.h: Remove comments after defines for MAP_MIN/MAX timeouts.
This just removes some warnings during compile. comments are now
on lines by themselves.
include/player.h: remove shootstrength for player structure. It was unused.
server/Makefile.in: remove input.c file, add c_range.c file.
server/c_chat.c: remove command_last, add command_shout and command_tell
from input.c to this file. Also fix bug in command tell which
would let players crash server at will.
server/c_misc.c,server/c_object.c: Relocate many functions
from input.c into these files.
server/c_move.c, server/c_new.c: Add standard crossfire banner comment.
server/c_range.c: New file - contains range related commands,
including spell casting (relocated from input.c)
server/c_wiz.c: move command_invisible from input.c into this file.
server/commands.c: Remove unused commands (bell, last, strength)
server/input.c: removed file.
server/main.c: Change HAVE_DES_H to HAVE_LIBDES
server/player.c: When choosing a race, draw it facing south for best
presentation of image.
server/spell_util.c: Remove dead code (#if 0 shootstrength related
code)
socket/loop.c: remove unused variables.
NOTE: Due to the addition/removal of files, you will need to do
'config.status; make depend; make' from the top level directory for
everything to be compiled properly.
End of MSW 2000/12/17 checkin.
Show difference between Revision 1.8 and 1.9
Revision 1.8cvs 2000/12/03 18:40:04 +4 -3
Checking for partial resistance code. Various minor errors also fixed
(compiler warnings, unused variables, Makefile.in changes, etc).
PR code also includes support to send protections to the client.
Show difference between Revision 1.7 and 1.8
Revision 1.7avogl 2000/11/14 16:47:41 +3 -1

New savebed-respawn feature:
After death players wake up on the last-applied bed of
reality (instead of scorn center).

player.h: Added three variables to the player struct to
hold the position of last savebed.
--AndreasV
Show difference between Revision 1.6 and 1.7
Revision 1.6cvs 2000/04/22 02:16:40 +10 -1
Key usage change: Add new command 'usekeys' that specify how keys
are searched for. The three options are inventory, keyrings, and containers.
These options apply to both standard keys and special keys. If the player
has a key for the door but it is in a container that will not be used,
print a friendly message of the key name and container name. Files
affected:
help/usekeys: Added describing options
lib/Makefile.in: Addition of help/usekeys above.
include/player.h: Add new enumeration and entry into player structure
include/sproto.h: New function prototype
server/apply.c: change of Find_Key to new function with slightly
different options
server/c_misc.c: add function to support 'usekeys command.
server/commands.c: addition of usekeys command
server/player.c: rewrite & rename of find_key command, as well as changes
to move_player_attack
Mark Wedel 4/21/2000
Show difference between Revision 1.5 and 1.6
Revision 1.5damn 1999/09/18 02:39:02 +3 -17
Moved everything back where it was, except materials. -- DAMN
Show difference between Revision 1.4 and 1.5
Revision 1.4damn 1999/09/17 14:27:50 +22 -7
- now has the #defines for player state numbers
- added gen_sp_armour variable --DAMN
Show difference between Revision 1.3 and 1.4
Revision 1.3cvs 1999/07/13 01:02:52 +1 -1

Global commit for 0.95.4 - most files have no changes but just have
differing headers between my local RCS and the CVS versions and need to
get synced up.
Show difference between Revision 1.2 and 1.3
Revision 1.2uid200 1999/05/05 01:30:24 +0 -1
Remove berzerk code/variable from player structure. The code had
no effect - whatever functionality it once had has been removed in the
past.
Show difference between Revision 1.1 and 1.2
Revision 1.1uid200 1999/04/02 13:10:04 None
Initial revision
First version
Revision 1.1.1.1uid200 1999/04/02 13:10:04 +0 -0
First CVS revsion: crossfire-0.95.3
Show difference between Revision 1.1 and 1.1.1.1


File made using version 1.98 of cvs2html by leaf at 2011-07-21 19:27