--- crossfire/random_maps ---


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

Filename: monster.c
Revision 1.15mwedel 2005/11/16 02:16:08 +2 -2
Commit for new blocking code. Not going to dictate all the changes -
but will outline the broad points. Note also that the
doc/Developers/objects is updated and goes into more details also.
- check for P_WALL no longer used - instead, need to use GET_MAP_MOVE_BLCOK
and check against movement type of objects.
- arch_blocked() changed to ob_blocked(), now takes object. Needed because
just looking at archetype move_ values is no longer sufficient.
- find_first_free_spot() changed to take object, since it just calls
arch_blocked()
- FLAG_FLYING removed, now in move type.
- walk_on/walk_off/fly_on/fly_off removed - now based on move_on and
move_off fields.
- Map space structure extended to hold the move_on/move_off, etc
values so that we can shortcut some processing by not having to
check every object on the space when something enters it if
move_on isn't set.
- archetypes recollected - boulders needed move_walk to properly trigger
buttons.
- Note that the new plugin code has to be fixed up for the new movement
code. Look for FIXME in plugins/cfpython/cfpython_object.c
MSW 2005-11-15
Show difference between Revision 1.14 and 1.15
Revision 1.14mwedel 2005/07/08 18:48:59 +4 -2
random_maps/monster.c: Reduce monster density on random maps - take into account
size of monsters when calculating density.
utils/metaserver.pl.in: At a timeout value that limits how often clients can
ask for metaserver info.
MSW 2005-07-08
Show difference between Revision 1.13 and 1.14
Revision 1.13mwedel 2003/03/07 23:35:32 +2 -3
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.12 and 1.13
Revision 1.12mwedel 2002/07/14 23:25:40 +3 -3
Update banner copyright with proper contact information.
MSW 2002-07-14
Show difference between Revision 1.11 and 1.12
Revision 1.11michtoen 2001/10/29 20:30:20 +1 -1
Remove a bug, reset some modules
Show difference between Revision 1.10 and 1.11
Revision 1.10michtoen 2001/10/29 18:49:02 +2 -2
really SOME fixes - most casting
Show difference between Revision 1.9 and 1.10
Revision 1.9mwedel 2001/07/13 23:08:06 +4 -4
Map tiling checkin.
random_maps/decor.c,random_maps/door.c, random_maps/exit.c,
random_maps/floor.c,random_maps/monster.c,random_maps/special.c,
random_maps/standalone.c, random_maps/style.c,random_maps/treasure.c,
random_maps/wall.c:
modified to use modified insert_ob_in_map function,
use new macros to access map structure related data
MSW 2001-07-13
Show difference between Revision 1.8 and 1.9
Revision 1.8mwedel 2001/06/04 01:41:02 +4 -3
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.7 and 1.8
Revision 1.7mardahl 2001/04/10 13:23:14 +3 -3
Couple of small fixes which *may* prevent crashing.
Things should not have crashed, but here we go anyway.
Show difference between Revision 1.6 and 1.7
Revision 1.6peterm 2000/12/14 21:09:19 +7 -7
PeterM: Fixed up random map code. Used a lot of global variables
for stuff. Always meant to fix it and just got 'round to it.
Show difference between Revision 1.5 and 1.6
Revision 1.5cvs 2000/06/18 20:34:31 +2 -9
Lots of work done on random maps.
decor.c: tiling option added. (Fill the whole map).
monster.c: copy inventory
exit.c: preserved connectedness
random_map.c: new function for wrting map params
floor.c: fix a crashing bug if there's no floor
rproto.h: prototypes
treasure.c: fix a crashing bug with treasurestyle map
special.c: added a new type of special, an exit to a goldroom. --PeterM
Show difference between Revision 1.4 and 1.5
Revision 1.4cvs 2000/06/07 19:34:33 +6 -6
Fixed a problem in monster.c which would lead to crashes due to multipart
objects not being done right.
Show difference between Revision 1.3 and 1.4
Revision 1.3jec 2000/05/26 04:50:47 +2 -2
* apply() cleanup patch 26/5/2000
Show difference between Revision 1.2 and 1.3
Revision 1.2cvs 1999/07/13 01:03:03 +0 -0

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.1 and 1.2
Revision 1.1uid200 1999/04/02 13:10:03 None
Initial revision
First version
Revision 1.1.1.1uid200 1999/04/02 13:10:03 +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 17:55