Protocol: | pserver | User: | anonymous |
Machine: | crossfire.cvs.sourceforge.net | CVSROOT: | /cvsroot/crossfire |
Filename: define.h | |||
Revision 1.111 | mwedel | 2006/09/04 02:21:04 | +1 -100 |
Bulk of this change is updating some files to use draw_ext_info() - all future code should use this, since there is no real reason not to and it provides additional features. One notable change - reversed the order of the new and old formats in draw_ext_info_format() - the order was different than that of draw_ext_info(), which leads to confusion. draw_ext_info_format() wasn't used in many places, so easier to change that than all the draw_ext_info() calls. Only another 1200 new_draw_info calls left in the server. -- doc/mediaTags: Fix some typos, clarify some behaviour (the way it works now so that there will not be confusion in the future). include/define.h: Remove MSG_ tags - moved to newclient.h include/newclient.h: Synchronize with client version. Add MSG_ defines include/newserver.h: Move some defines from here to newclient.h server/apply.c: Reverse format parameters to draw_ext_info_format() calls. server/c_misc.c: Rewrite to use draw_ext_info{_format} - this allows nice formatting of tables, etc. Also general style cleanups, clarify some messages. in help_topics(), don't do linewrap - let the client handle it. remove bug_report() function - no longer used. Remove explore_mode() - wasn't used. Move command_style_map_info() to c_wiz.c since it is a wiz only command. server/c_wiz.c: As per above, move command_style_map_info() to this file since it is a wiz command. server/player.c: Reverse format parameters to draw_ext_info_format() calls. server/shop.c: Update to use draw_ext_info{_format} instead of new_draw_info() socket/info.c: Reverse format parameters in draw_ext_info_format(). Update va_start() to use new last parameter. Remove call to strip_media() if the client supports the tag - that should only be used if the client does not support the tag. socket/request.c: remove commented out MSG_TYPE values. MSW 2006-09-03 | |||
Show difference between Revision 1.110 and 1.111 | |||
Revision 1.110 | ryo_saeba | 2006/08/08 05:05:34 | +4 -1 |
Feature request #821645 (change password command) | |||
Show difference between Revision 1.109 and 1.110 | |||
Revision 1.109 | akirschbaum | 2006/05/21 08:44:42 | +2 -2 |
Improve comment. | |||
Show difference between Revision 1.108 and 1.109 | |||
Revision 1.108 | mwedel | 2006/05/18 00:27:43 | +3 -3 |
This commit adds support for the map2 protocol command (10 layer map). This changes how the data is stored and sent to the client. This also implements the idea of client handling map animations, so adds some object flags so that the server knows if it should let the client handle animations or not. Support for the original map protocol command is removed. --- aclocal.m4: rebuilt configure.ac: Add checks for zlib.h, libz - not used right now, but will probably be used in the future, so no reason to remove it. common/loader.l: Add client_anim_sync, client_anim_random FLAGS. common/map.c: Add add_face_layer() to set face for a layer. Redo/simplify update_position to store faces away based on layering criteria. common/time.c: Replace long pticks with a uint32, since size of a long will vary, and we now send pticks to the client as a 32 bit value. crossedit/CrEdit.c: Update the draw logic based on the fact there are more layers now. crossedit/Edit.c: Comment out some code that probably should be fixed. Replace calls of SET_MAP_FACE with SET_MAP_FACE_OBJ doc/Developers/protocol: Updated with map2, tick protocol additions. Reorganize the parameters in the setup protocol command so they are now listed in alphabetical order. include/autoconf.h.in: Add HAVE_ZLIB_H define. include/define.h: Update for the FLAG_CLIENT_ANIM values. include/face.h: Remove MapLook structure - no longer used. include/global.h: change extern type for pticks from long to uint32 include/map.h: Change MAP_LAYERS to 10. Add definitions for what each map layer is. Remove GET/SET_MAP_FACE macro - no longer used, GET/SET_MAP_FACE_OBJ replaces it. Add GET_MAP_FACE_OBJS which returns pointer to all the object info for the space. Remove faces from MapSpace structure. include/newclient.h: Update with new defines used for map2 protocol command. include/newserver.h: Change type of faces in map_cell_struct to be uint16 to be consistent. Change 'count' to 'darkness' to more accurately describe what it represents. Add MAP2_COORD_OFFSET define. Add Map2Cmd to MapMode enum. Add map_scroll_x/y to socket structure so we send those as part of map2 command. Add tick field to socket structure to know if we should send tick data to the client. server/login.c: Remove extern long pticks declaration - declared in global.h - don't need to declare it again locally. socket/info.c: Rewrite magic map code to use GET_MAP_FACE_OBJ instead of GET_MAP_FACE macros. socket/init.c: Initialize new fields in socket structure to 0. socket/loop.c: If client wants tick data sent, send one each tick. socket/request.c: Add setup responses for tick, map2 requests. Remove some extra code in Map1a setup. Send error message to client if not using at least Map1 protocol level. Modify map_newmap_cmd() to clear scroll information when using Map2. Remove original (map0) protocol logic. Update map_clearcell() to clear all 10 layers. Replace MAX_LAYERS with MAP_LAYERS. Add add_head() to remove some of the complication from update_space(). Add code in draw_client_map1() to find which 3 layers to send to the client from the 10 we now have. Add map2_add_ob(), map2_delete_layer(), check_space_for_heads(), draw_client_map2() to handle map2 protocol. Add send_tick() - sends tick to client, but also forces flush of data to reduce lag. utils/config.guess.utils/config.sub,utils/ltmain.sh: rebuilt MSW 2006-05-15 | |||
Show difference between Revision 1.107 and 1.108 | |||
Revision 1.107 | tchize | 2006/04/06 16:18:35 | +3 -1 |
finished common/arch.c unit test, fixed a few bugs, moved function around and renamed other | |||
Show difference between Revision 1.106 and 1.107 | |||
Revision 1.106 | akirschbaum | 2006/02/22 03:47:35 | +2 -2 |
Remove object type CONFUSION since it was not used anymore. | |||
Show difference between Revision 1.105 and 1.106 | |||
Revision 1.105 | mwedel | 2006/02/07 01:54:46 | +4 -3 |
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.104 and 1.105 | |||
Revision 1.104 | qal21 | 2006/01/08 16:40:34 | +2 -2 |
Fix stray commas at the end of enums (detection thanks to paranoid CFLAGS ;P) | |||
Show difference between Revision 1.103 and 1.104 | |||
Revision 1.103 | akirschbaum | 2006/01/07 12:18:05 | +2 -2 |
Fix comment. | |||
Show difference between Revision 1.102 and 1.103 | |||
Revision 1.102 | mwedel | 2005/11/30 01:58:47 | +5 -2 |
common/map.c: Replace code with OB_TYPE_MOVE_BLOCK - effectively same as what it was. include/define.h: Update OB_TYPE_MOVE_BLOCK so that spaces that don't block any type of movement doesn't block objects that also don't have movement. This fixes cases of gates not pushing objects off them. MSW 2005-11-29 | |||
Show difference between Revision 1.101 and 1.102 | |||
Revision 1.101 | mwedel | 2005/11/16 02:16:00 | +58 -11 |
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.100 and 1.101 | |||
Revision 1.100 | ryo_saeba | 2005/11/12 07:49:07 | +2 -1 |
Patch 1352485 (newpickup rings/amulets) courtesy anonymous | |||
Show difference between Revision 1.99 and 1.100 | |||
Revision 1.99 | akirschbaum | 2005/11/05 08:02:31 | +2 -2 |
server/main.c: Fix possible out-of-bounds array access. | |||
Show difference between Revision 1.98 and 1.99 | |||
Revision 1.98 | akirschbaum | 2005/11/01 07:42:15 | +3 -1 |
Improve newpickup command: add new flag PU_NOT_CURSED to ignore cursed items. | |||
Show difference between Revision 1.97 and 1.98 | |||
Revision 1.97 | akirschbaum | 2005/10/24 13:27:37 | +1 -2 |
common/image.c, include/define.h, include/global.h: Remove unused variables potion_face and POTION_FACE_NAME. | |||
Show difference between Revision 1.96 and 1.97 | |||
Revision 1.96 | gros | 2005/10/18 11:54:31 | +2 -2 |
Upgrade of the Crossfire server to version 2.0 of the plugin interface. Upgrade of the Python plugin to version 2.0 of the plugin interface. Gros - 18/10/05 | |||
Show difference between Revision 1.95 and 1.96 | |||
Revision 1.95 | ryo_saeba | 2005/10/08 04:56:43 | +2 -2 |
Removed gps code. Added GetMarkedItem to Python | |||
Show difference between Revision 1.94 and 1.95 | |||
Revision 1.94 | cavesomething | 2005/10/02 22:29:41 | +15 -2 |
add support for specialised shops | |||
Show difference between Revision 1.93 and 1.94 | |||
Revision 1.93 | ryo_saeba | 2005/09/25 13:36:02 | +13 -1 |
Changed quest system, needs tweaks and fixes. | |||
Show difference between Revision 1.92 and 1.93 | |||
Revision 1.92 | akirschbaum | 2005/09/09 16:09:40 | +2 -2 |
Allow a DM to cast spells and prayers in no-magic/no-prayer areas. Add new command "wizcast" to toggle this setting. | |||
Show difference between Revision 1.91 and 1.92 | |||
Revision 1.91 | akirschbaum | 2005/09/04 11:58:12 | +2 -2 |
common/{anim.c, image.c, los.c, map.c, porting.c, treasure.c}, include/define.h, random_maps/treasure.c, server/{apply.c, c_misc.c, c_object.c, c_wiz.c, commands.c, daemon.c, hiscore.c, init.c, login.c, player.c, plugins.c, resurrection.c, weather.c}, socket/{init.c, item.c, loop.c, lowlevel.c}: Use LOG() for error messages and debug output instead of stdout/stderr. Include filename in error messages. server/resurrection.c: Fix error message in read_player(). | |||
Show difference between Revision 1.90 and 1.91 | |||
Revision 1.90 | tchize | 2005/08/31 15:07:22 | +8 -2 |
Accelerated map loading (a lot) and map saving (a bit) codes to improve map transition experience. | |||
Show difference between Revision 1.89 and 1.90 | |||
Revision 1.89 | akirschbaum | 2005/08/27 17:10:14 | +2 -2 |
socket/init.c: Make setsockopt(REUSEADDR) work if using gcc in Ansi C mode on Linux. | |||
Show difference between Revision 1.88 and 1.89 | |||
Revision 1.88 | cavesomething | 2005/08/16 15:31:41 | +2 -2 |
Add flag to lamps to make them able to be lit without needing negative light radii | |||
Show difference between Revision 1.87 and 1.88 | |||
Revision 1.87 | ryo_saeba | 2005/08/12 08:46:34 | +2 -2 |
Fields changed from char* to const char*, cleanup. | |||
Show difference between Revision 1.86 and 1.87 | |||
Revision 1.86 | tchize | 2005/05/29 12:35:53 | +2 -2 |
add-on: title more lenghtly are now allowed and the part ' the ' in title is now optional. This does not add a 'title prefix' command as suggest by mwedel and casper1 on tracker reference: [ 1088383 ] title_prefix http://sourceforge.net/tracker/index.php?func=detail&aid=1088383&group_id=13833&atid=313833 | |||
Show difference between Revision 1.85 and 1.86 | |||
Revision 1.85 | tchize | 2005/05/29 10:37:53 | +6 -3 |
MOTD now splitted in 3 files: rules, news and motd. They are sent on connection to client in this exact order. | |||
Show difference between Revision 1.84 and 1.85 | |||
Revision 1.84 | tchize | 2005/05/21 12:34:42 | +10 -6 |
Added support for readable subtypes in sign managements. Added some documentation on readable subtypes in the form Now signs should show nice on new clients (if you except my awful drawings) | |||
Show difference between Revision 1.83 and 1.84 | |||
Revision 1.83 | tchize | 2005/05/07 06:51:19 | +6 -1 |
Corrected silinesses in code. Now compiles when CFLAGS=-ansi -pedantic | |||
Show difference between Revision 1.82 and 1.83 | |||
Revision 1.82 | tchize | 2005/05/06 16:10:15 | +96 -2 |
added a new command to identify the type of text send to client. media tags can be included inside them. Those text types include scrolls, books, message of the day, signs, aso. See protocol doc for details | |||
Show difference between Revision 1.81 and 1.82 | |||
Revision 1.81 | ryo_saeba | 2005/04/15 15:56:38 | +2 -1 |
New item type: 163 item transformer, see doc | |||
Show difference between Revision 1.80 and 1.81 | |||
Revision 1.80 | majorwoo | 2005/03/20 16:26:27 | +3 -1 |
This is patch #1166750 to allow a battleground tile to send a player who dies to maxhp,maxsp or hp,mp based on a matching force=slaying | |||
Show difference between Revision 1.79 and 1.80 | |||
Revision 1.79 | mwedel | 2005/03/19 03:14:56 | +2 -1 |
This change makes it so that the smoothing information is pushed to the client (if the client is using smoothing) instead of a process were we tell the client the smoothlevel and the client then has to request the face info for smoothing. If we know the client wants the info, much easier to push it to the client. This simplifies the client code (doesn't have to keep track of what is requests). It also fixes the 'problem' that when you join the game, you get a few frames with no smoothing and then the smoothing shows up, which seems a bit odd. My testing shows that old clients that want smoothing use this new logic withouth any problems. -- common/image.c: add smooth_face default so that we don't have to look it up everytime. include/define.h: Add SMOOTH_FACE_NAME used by image.c include/global.h: Add smooth_face extern declaration. include/newserver.h: Update comment on what faces_sent is used for, add NS_FACESENT_* values which determines what info for the face was sent. socket/image.c, socket/init.c, socket/item.c: Update faces_sent checks/set to check against NS_FACESENT bitmask. socket/request.c: Update faces_sent as mentioned above. And SendSmooth(), rewrite AskSmooth() to use SendSmooth(). Modify update_smooth() to send smoothing information to the client. MSW 2005-03-19 | |||
Show difference between Revision 1.78 and 1.79 | |||
Revision 1.78 | ryo_saeba | 2005/03/13 09:48:16 | +3 -2 |
Apply patch #1119762 (salathar): afk command | |||
Show difference between Revision 1.77 and 1.78 | |||
Revision 1.77 | ryo_saeba | 2005/03/13 09:13:11 | +2 -1 |
Apply patches #1119366 and #1161816 | |||
Show difference between Revision 1.76 and 1.77 | |||
Revision 1.76 | akirschbaum | 2004/09/19 11:12:18 | +2 -2 |
include/define.h: Add parentheses around arguments of FABS macro. | |||
Show difference between Revision 1.75 and 1.76 | |||
Revision 1.75 | akirschbaum | 2004/08/24 14:43:58 | +3 -1 |
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. | |||
Show difference between Revision 1.74 and 1.75 | |||
Revision 1.74 | akirschbaum | 2004/06/13 12:30:21 | +6 -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.73 and 1.74 | |||
Revision 1.73 | ryo_saeba | 2004/05/15 13:15:34 | +2 -1 |
Added a positioning system | |||
Show difference between Revision 1.72 and 1.73 | |||
Revision 1.72 | mwedel | 2004/02/16 21:38:58 | +5 -4 |
include/define.h,server/shop.c: Apply patch by Bernd Edler that gives bargaining experience based on the amount of money a character saves. Higher the bargaining skill, the more money they can save. MSW 2004-02-16 | |||
Show difference between Revision 1.71 and 1.72 | |||
Revision 1.71 | ryo_saeba | 2004/01/18 04:36:10 | +16 -3 |
Added map-building code. | |||
Show difference between Revision 1.70 and 1.71 | |||
Revision 1.70 | ryo_saeba | 2003/12/18 14:39:45 | +2 -2 |
GCC 3.3 infinite loop fixes | |||
Show difference between Revision 1.69 and 1.70 | |||
Revision 1.69 | temitchell | 2003/10/26 21:44:33 | +3 -3 |
- Add TRIGGER_MARKER object (type 52) a MARKER that can activated by a connected trigger. | |||
Show difference between Revision 1.68 and 1.69 | |||
Revision 1.68 | mwedel | 2003/09/13 00:01:33 | +85 -98 |
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.67 and 1.68 | |||
Revision 1.67 | temitchell | 2003/09/04 01:25:32 | +2 -1 |
- add new type TRAP, make initial seperations from RUNE in code add in traps triggering stuff if they are detonated | |||
Show difference between Revision 1.66 and 1.67 | |||
Revision 1.66 | tchize | 2003/09/03 07:25:06 | +32 -16 |
generator may now use their inventory as a basis to generated items instead of the other_arch field. Will allow more fine tuned generators | |||
Show difference between Revision 1.65 and 1.66 | |||
Revision 1.65 | tchize | 2003/06/30 14:14:13 | +16 -1 |
Various code optimisations to help preventing peeks at maploads. Includes: * rewritten saving of objects, removed needs for sprintf calls and most strlen calls * modified map structures for saving of a very small amount of additionnal precalculated datas for weather * added FAST_xxx macros for fast string manipulations | |||
Show difference between Revision 1.64 and 1.65 | |||
Revision 1.64 | garbled | 2003/02/13 23:50:32 | +3 -4 |
Lots of updates here: common/item.c: make item_power stop showing up in ring short descriptions. fix some of the items that were double-displaying materialnames, like mithril mithril chainmail. common/loader.l: add tooltype common/utils.c: Unless the object is armour or weapons, pick the first materialname we find. Now, newly generated diamonds will stack. Fix name_to_material to return NULL if it finds nothing, fixes navar_city/museum crash. Change set_materialname to take a materialtype_t argument, allowing functions to manually set the materialname, rather than let the randomizer pick for them. include/define.h: Add TOOL and BUILDFAC for item building. include/object.h: add tooltype for item building. include/materials.h: add M_SPECIAL. Set this in an object, to prevent things like mithril mithril chainmail. This is primarily only needed in artifacts, because they change the base material of the arch. Also useful in things like the demonspawn shield, and on maps. lib/artifacts: sprinkle M_SPECIAL around. server/player.c: remove auto_heal. This never should have been committed, and was never referenced by any code. server/c_object.c: add item building, but add it disabled. Too many bugfixes were tied in with this code to cleanly add them. When enabled, this code will add player item building, similar to create to take place. Requires a host of graphics and arches to be useable. | |||
Show difference between Revision 1.63 and 1.64 | |||
Revision 1.63 | garbled | 2003/01/16 22:38:35 | +4 -1 |
Add a duplicator/multiplier/destroyer object type. This will duplicate a specific arch when triggered, and that arch is on top of the duplicator. It will multiply the number of items in the pile, by the level of the duplicator. If the duplicator is set to level 0, it will destroy the object. | |||
Show difference between Revision 1.62 and 1.63 | |||
Revision 1.62 | garbled | 2003/01/07 03:39:15 | +2 -2 |
Add code for lanterns. These lanterns can be turned on and off. This should make nighttime in the bigworld a bit easier to handle. | |||
Show difference between Revision 1.61 and 1.62 | |||
Revision 1.61 | garbled | 2002/11/26 02:48:20 | +1 -2 |
Get rid of #ifdef PLUGINS (it is on by default, I didn't take out gros's code) | |||
Show difference between Revision 1.60 and 1.61 | |||
Revision 1.60 | garbled | 2002/11/06 03:47:23 | +2 -3 |
Better handling for snow. Now when snowing on cobblestones, we use a see-through image, so we don't obscure the paths. Provide handling for upgrading and downgrading snow. Actually melt glaciers. Create a new flag, FLAG_FLOOR_OVERLAY. When set in an overlay map, this item is loaded INS_ABOVE_FLOOR_ONLY, so we can load the see-through-snow over cobblestones without obscuring things like signs and walls. | |||
Show difference between Revision 1.59 and 1.60 | |||
Revision 1.59 | garbled | 2002/10/27 22:39:07 | +3 -2 |
include/define.h: add FLAG_IS_WATER include/global.h: add fastclock to settings include/map.h: add water to weathermap structure include/sproto.h: add tons of new functions in weather.c | |||
Show difference between Revision 1.58 and 1.59 | |||
Revision 1.58 | mwedel | 2002/09/18 01:17:20 | +4 -2 |
Various updates: NOTE - You need to install the updated archetypes (included below) if you run this code without the updated archs, you will likely find many things do not work. acinclude.m4 aclocal.m4 configure: more refinements for libpython detection. common/button.c: Two push_button() changes - have it check for ACTIVATE_ON_ PUSH/RELEASE to determine if the object should get activated. Also, change behaviour of TIMED_GATE so that multipart timed gates work. common/loader.l, loader.c: Update with acttivate_on_push/release doc/Developers/objects: Add notes about how to add flags to objects. include/define.h: add new FLAG_ values include/win32.h: update by pstolarc so it compiles on Win32. lib/archetypes: rebuilt MSW 2002-09-17 | |||
Show difference between Revision 1.57 and 1.58 | |||
Revision 1.57 | jbontje | 2002/08/22 07:37:53 | +5 -1 |
Pickups: added pickups for spellbooks,skillscrols,normal book/scroll. Patch created by Aprogas mids 2002/08/22 | |||
Show difference between Revision 1.56 and 1.57 | |||
Revision 1.56 | mwedel | 2002/07/30 01:37:21 | +2 -2 |
Various fixes: INSTALL: Update with note about --with-includes configure option. common/loader.c, common/loader.l: Add comment about flag_invis_undead include/define.h: Add FLAG_INVIS_UNDEAD lib/adm/map_info: Modify to not follow symbolic links. server/monster.c: Modify can_detect_enemy to be a bit more straightforward in its logic. Also, modify detection of invisible creatures - don't reduce duration, just return that the monster can detect the player. There were also spurious messages about the player being seen. Modify can_see_enemy to check FLAG_INVIS_UNDEAD, also fix broken comparison server/player.c: Clear FLAG_INVIS_UNDEAD when invisibility ends. Fix action_makes_visible() - had reverse logic on FLAG_MAKE_INVIS check, and a typo in the printed message. server/spell_effect.c: cast_invisible() to use FLAG_INVIS_UNDEAD - also check for maximum duration, and only search active objects when clearing enemy. server/weather.c: Fix off by one on comparision when intializing maps darkness when loading map from disk. In dawn_to_dusk, don't do further processing if the light hasn't changed. MSW 2002-07-29 | |||
Show difference between Revision 1.55 and 1.56 | |||
Revision 1.55 | mwedel | 2002/07/25 01:57:14 | +2 -2 |
Various bug fixes, add glyph spell: TODO: Updated common/map.c: Fix change_map_light() - if darkness was reduced to zero, it wouldn't properly notify the players or update the maps they are on. Also, make it more robust to handle changes by more than one. include/define.h: Increase NROFREALSPELLS include/spellist.h: Add glyph spell. include/spells.h: Add SP_GLYPH entry. server/attack.c: Fix up kill_object() - it has had some many various additions that it was difficult to follow the logic. It should also now do better check on skill objects when awarding experience. server/player.c: Add some checks/addition to properly deal with freeing the name_pl in the player object. Fix it so that if you are braced, you still won't attack friendly creatures. server/rune.c: Add cast_generic_rune() to handle the glyph and rune spell. server/spell_effect.c: Fix up some pointers in cast_cause_disease() - needed so that it works properly when embedded in a glyph. Have it return 1 even if no one caught anything - you still cast the spell, so you should lose the grace for it. server/spell_util.c: Fix some formatting. Break out the code dealing with rune into cast_generic_rune() socket/loop.c: Add flag to player command mapping, and update structure - if flag is set, command can only be issued when player is in play, and not when waiting at the quit or login prompt - fixes crashes where players could wait for the map to get swapped out (after quitting), and then looking at a space. socket/request.c: Fix map2cmd so that invisible players are drawn. MSW 2002-07-24 | |||
Show difference between Revision 1.54 and 1.55 | |||
Revision 1.54 | mwedel | 2002/07/14 23:57:12 | +57 -23 |
-- 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.53 and 1.54 | |||
Revision 1.53 | mwedel | 2002/06/09 02:59:31 | +5 -2 |
More minor changes, including a fix for the disappearing object bug - this was caused by the flag_links not getting updated the last time new flags were added. Problem probably only showed up now because loader.c wasn't rebuilt until recent changes. -- common/loader.c, common/loader.l: add extern to arch_init, when loading and get an object from a file, complain and ignore it if arch_init is not set (only time we should get object (vs arch) for names is when we load the archetypes file). Add missing entries to flag_links array. common/treasure.c: Fix code so that proper plural names are generated for custom items (potions, flesh items, etc). include/define.h: Add note about updating flag_links when NUM_FLAGS is increased. server/skills.c: don't let players steal from players with FLAG_WIZ set. MSW 2002-06-09 | |||
Show difference between Revision 1.52 and 1.53 | |||
Revision 1.52 | mwedel | 2002/05/30 23:18:33 | +7 -41 |
Main change is the addition of name_pl and client_type to object structure. The name_pl contains the proper plural name instance - fixes problem of '2 tooths'. client_type is sent to the client so that client doesn't need to figure out sorting on its own. Client_type is an object attribute, so can be modified in maps to hide the real type. -- common/arch.c: item_matched_string() modified to use the name_pl field when trying to match names, and not to try to make the name plural itself. common/item.c: query_short_name(),query_base_name() modified to use name_pl instead of trying to make the name plural. common/loader.c, common/loader.l: Add code to load and save the name_pl value and client_type. Add logic when object is finished loading to set name_pl value to same as name or arch name if no name_pl is specified - this supports old maps/characters in which the objects dont have a name_pl field yet. Disable logic for need_an and need_ie flags since they are no longer needed. Fix bug that caused elevation not to get saved. common/object.c: Add client_type check for CAN_MERGE function. Add appropriate logice in functions to handle setting, clearing, and copying of name_pl values. Remove unused anim_... fields initialization. doc/Developers/objects: Add information about the name_pl field and client_type. doc/Developers/protocol: Remove item protocol command info - it has been obsoleted. Add information about item2 protocol command. include/define.h: Remote ST1_* values - they were not being used. comment out FLAG_AN and FLAG_NEED_IE values. include/newserver.h: Add itemcmd to socket structure - this is the version of the item protocol command that will be sent to the client. include/object.h: Add name_pl and client_type field to object structure. Remove unused anim_* values. lib/archetypes: rebuilt with new archetypes that contain client_type and name_pl information. lib/bmaps, lib/bmaps.paths, lib/crossfire.1, lib/crossfire.0, lib/faces: rebuilt. server/monster.c: Remove anim_ references that were not being used. socket/init.c: Initialize itemcmd version in the socket to 1. socket/item.c: Remove special handling for clients of old versions - all clients now have to be at least sc_version 1024 (which has been around for a long time). This simplifies a lot of the object code that deals with sending or not sending plural names to the client - now always send them. Change code that sends item to client to use the item revision (currently 1 or 2) that the client wants. If version 2, send along client_type information. socket/request.c: Handle 'itemcmd' parameter in setup command. Make sure it is in proper range. If client is very old (sc_version < 1024) tell them so. MSW 2002-05-30 | |||
Show difference between Revision 1.51 and 1.52 | |||
Revision 1.51 | garbled | 2002/01/01 17:37:54 | +15 -3 |
Add the concept of overlay maps to the code. An overlay map is a map which is loaded on top of another map, replacing values in the header, and placing objects on top of other objects. This is the fundamental part of the new weather code, but also can be used to allow dynamic editing of the worldmaps by DM's eventually. garbled 2002-01-01 Phase II of the new weather system is done. Please let me know immediately if this causes any bizzare effects. | |||
Show difference between Revision 1.50 and 1.51 | |||
Revision 1.50 | michtoen | 2001/11/27 22:44:42 | +2 -2 |
Anim25 Patch This patch do this things mainly: - include same animation sheme for players and monster again - introduce guard/walk/fight animation in 8 direction - direct action: monster change from guard/walk animation when they get attacked and fall back to walk or guard when the enemy is gone - Monster do "intelligent" animation -> facing enemy -> turn and run when scared - fixed some animation flaws which invokes late anim update (monster moves first and hold one frame old facing) - Include real time player animation! -> player starts moving animation when player moves -> fall back to guard anim when player do nothing -> plays fight anim when hit some Hope i got all. This patch is much not so hard as it sounds. Most of these features was easy to include because the old anim engine was able to do about 80% of this. I had just to boost up the logic. | |||
Show difference between Revision 1.49 and 1.50 | |||
Revision 1.49 | michtoen | 2001/11/26 22:33:46 | +192 -156 |
Arch type & subtype patch Added type & subtype system with 2 subtypes. Type & subtype will be send to client. Adding new types: FLOOR 71 WALL 77 LIGHT_SOURCE 78 MISC_OBJECT 79 MONSTER 80 SPAWN_GENERATOR 81 Added subtypes for armor & weapons. new commands are: sub_type <uint8> sub_typ2 <uint16> sub_type2 is for internal server use. Added new command: casting_speed <delay> This will be included later. I will use the sdl client as tester for this patch, older clients will not be effected even when the arches are updated. | |||
Show difference between Revision 1.48 and 1.49 | |||
Revision 1.48 | michtoen | 2001/11/26 11:52:26 | +6 -4 |
Attack Patch 25.11.01 Detailed information in the dev list. The changes are to many to explain here. | |||
Show difference between Revision 1.47 and 1.48 | |||
Revision 1.47 | michtoen | 2001/11/17 15:25:21 | +2 -1 |
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.46 and 1.47 | |||
Revision 1.46 | darth_bob | 2001/11/05 19:30:49 | +2 -2 |
Added a new disease, rabies dnh 6/11/01 | |||
Show difference between Revision 1.45 and 1.46 | |||
Revision 1.45 | michtoen | 2001/11/04 14:22:55 | +0 -0 |
One Arch/one pic patch. I use a modified map1cmd, called map2cmd for it. This is a first tryout implementation. The code can more then only submit offset data of multi arch, its also possible to include animation tags for the faces - we have now more free flags. The code is NOT optimized. Iam still unsure , what the best way is to send all this data. Sort & parsing cost time. At this stage, ill quick parse is by server, use slightly more bandwitch and let do the client more work. But thats perhaps not the best way. But this code will allow to install the arches for this one arch/one pic. MT | |||
Show difference between Revision 1.44 and 1.45 | |||
Revision 1.44 | michtoen | 2001/11/02 10:22:02 | +4 -1 |
add FLAG_PARALYZE Now, all player & monster have this flag set, when they are effected by paralyzes spell. I have not checked pets & summoned stuff yet, it will follow. | |||
Show difference between Revision 1.43 and 1.44 | |||
Revision 1.43 | pcurrlin | 2001/11/01 13:38:43 | +2 -2 |
Added new spell: "missile swarm" Basically, several magic missiles fired like a bullet swarm. Philc - Nov 01, 2001 | |||
Show difference between Revision 1.42 and 1.43 | |||
Revision 1.42 | garbled | 2001/10/31 01:00:24 | +13 -1 |
Big commit time. This does the following: Add weapontypes to the game. These are currently used for nothing other than messages, which are not fully written yet. Players should not see them appear yet. Fix the bug where you opened a door with a key and saw "You ." Fix a bug in the PLUGIN code where current_weapon wasn't set when the player loaded from savefile. Take the setting of current_weapon out of #ifdef PLUGIN garbled 2001-10-31 | |||
Show difference between Revision 1.41 and 1.42 | |||
Revision 1.41 | gros | 2001/10/21 06:40:38 | +7 -7 |
Added ANVIL object type for Smithery plugins - Chachkoff Y. 10/21/01 | |||
Show difference between Revision 1.40 and 1.41 | |||
Revision 1.40 | gros | 2001/10/14 05:29:31 | +8 -1 |
Added some definitions for future dynamic spells system, needed by python plugin. - Gros 10/14/01 | |||
Show difference between Revision 1.39 and 1.40 | |||
Revision 1.39 | gros | 2001/10/14 02:57:14 | +4 -3 |
Major changes: Added dynamic plugin support, removed old Guile support. - Gros 10/14/01 | |||
Show difference between Revision 1.38 and 1.39 | |||
Revision 1.38 | garbled | 2001/10/07 02:12:39 | +12 -1 |
Header modifications needed for the new attacktype-based damage messages code. In addition, fix where I put the prototypes for the utils.c functions in sproto.h instead of libproto.h garbled 2001-10-06 | |||
Show difference between Revision 1.37 and 1.38 | |||
Revision 1.37 | garbled | 2001/09/26 16:40:38 | +11 -1 |
Add prototypes for the luck code, and a few defines to the define.h file. In addition, fix a problem on NetBSD where MIN and MAX were multiply defined. Discussed at length with dhb, av and gros. Has been tested on both the mids crossfire server, and on my private server. This code removes all current use of the luck stat for players, and replaces it with a general luck modifier for all random rolls. The intent of this code is to give a general positive (or negative) effect on a player due to luck. This effect should be generally intangible to the player, yet help him out over the course of a game. garbled 2001-09-26 | |||
Show difference between Revision 1.36 and 1.37 | |||
Revision 1.36 | mwedel | 2001/08/29 02:14:16 | +50 -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.35 and 1.36 | |||
Revision 1.35 | mwedel | 2001/07/13 23:06:50 | +1 -13 |
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.34 and 1.35 | |||
Revision 1.34 | michtoen | 2001/06/13 07:52:07 | +1 -1 |
Modified Files: player.c loader.l loader.c init.c request.c newserver.h Log Message: Removed 2 compiler warning from Scriptfire patch in loader.l/loader.c and script.c. added a new setup cmd: "newanim" a client giving the newanim cmd, will enable the new animation system. The interface is open and not server controlled at this moment. First using is to enable the player moving in 8 direction. Giving this option to a server without changed arch will invoke broken player animations. This will be changed in the future. MT 2001-06-13 | |||
Show difference between Revision 1.33 and 1.34 | |||
Revision 1.33 | michtoen | 2001/06/13 05:50:15 | +2 -2 |
Modified Files: aclocal.m4 configure. configure.in Makefile.in crossfire32.dsw crossfire32.dsp INSTALL_WIN32.txt common: arch.c loader.c treasure.c loader.l crossedit: Attr.c doc: README_EXTENSIONS README_SCRIPT include: autoconf.h define.h global.h includes.h loader.h object.h script.h spellist.h spells.h sproto.h version.h server: Makefile.in apply.c attack.c c_object.c gods.c init.c main.c monster.c player.c script.c script_spells.c script_types.c skills.c spell_effect.c spell_util.c time.c Log Message: Adding Scriptfire 0b11 to Crossfire. Massive changes. The facts are in the doc files. MT 2001-06-13 | |||
Show difference between Revision 1.32 and 1.33 | |||
Revision 1.32 | michtoen | 2001/06/11 13:47:11 | +2 -2 |
change HANDLE to CF_HANDLE | |||
Show difference between Revision 1.31 and 1.32 | |||
Revision 1.31 | michtoen | 2001/04/06 14:08:40 | +2 -2 |
win32: change // to /* */ | |||
Show difference between Revision 1.30 and 1.31 | |||
Revision 1.30 | michtoen | 2001/04/05 19:42:00 | +3 -1 |
*** empty log message *** | |||
Show difference between Revision 1.29 and 1.30 | |||
Revision 1.29 | mwedel | 2001/03/30 01:27:48 | +2 -1 |
common/image.c, include/define.h, include/global.h: Add empty_face structure and appropriate code to initialize it. This is used for the server side look selection. include/newserver.h: Add NUM_LOOK_OBJECTS to control number of look objects to send at any one time. add look_position field to the newsocket structure. server/move.c: clear look position as player moves. server/player.c: initalize look_position element in structure. socket/item.c: modify esrv_draw_look to sne NUM_LOOK_OBJECTS at any one time, and to also send pseudo objects that lets the player scroll up and down. modify ApplyCmd so that if it detects the application of one pseudo objects to adjust the look_position. MSW 2001-03-29 | |||
Show difference between Revision 1.28 and 1.29 | |||
Revision 1.28 | peterm | 2001/01/10 22:53:17 | +2 -2 |
Implemented Wrathful Eye and gave it to Valriel. | |||
Show difference between Revision 1.27 and 1.28 | |||
Revision 1.27 | cvs | 2000/12/27 01:53:33 | +1 -9 |
MSW 2000/12/26: Checkin of Jan's new god intervention code. I haven't played around with it much, but I haven't seen any really obvious problems. common/living.c: remove learn_prayer_chance common/treasure.c: Various changes to treasure generation - mostly to deal with starting equipment and putting it in the inventory. doc/crossfire.doc: Update docs on god intervention. include/define.h: GT_... flags removed. include/treasure.h: GT_... flags added. Addition flags added from what was in define.h before. lib/archetypes, lib/crossfire.png, lib/treasures: Updated with new archetypes and treasures. random_maps/standalone.c,server/rune.c,server/time.c: Calls to create_treasure updated server/apply.c: New functions for god intervention added, update calls to create_treasure, other god related changes. server/c_wiz.c: Calls to create_treasure updated, various functions to allow DM's to learn/unlearn spells added. server/commands.c: Various commands added to the wiz set of commands. See commen for c_wiz.c server/disease.c: Changes to reduce_symptoms server/gods.c: Numerous updates for god intervention code. server/player.c: Modifications for starting player equipment. server/skill_util.c: Display the god the character worships when they issue the skills command. server/skills.c: Minor cosmetic change made to message when praying on altar. server/spell_effect.c: Changes related to gods, cure spells, and generation of treasures & items. End of MSW 2000/12/26 checkin. | |||
Show difference between Revision 1.26 and 1.27 | |||
Revision 1.26 | cvs | 2000/12/23 19:48:20 | +10 -1 |
MSW 2000/12/23: include/define.h: Add SIZEOFFREE1 and SIZEOFFREE2 values to use instead of arbitrary constants in the code. server/monster.c: change communicate function to use above values. Before it was stopping one short of the full 2 space array, so one particular space (-1, -2 relative to player) would not hear players speech. | |||
Show difference between Revision 1.25 and 1.26 | |||
Revision 1.25 | peterm | 2000/12/19 00:54:51 | +4 -4 |
Re-inserted the Spell of Conflict fixed a bug in attack.c | |||
Show difference between Revision 1.24 and 1.25 | |||
Revision 1.24 | avogl | 2000/12/13 21:51:49 | +2 -2 |
PR-patch by AndreasV: Main features of this patch: o Negative resistances are calculated in a "logical" way. For example: +30 and -30 makes a total of zero. o Vulnerabilities work as "caps" for protection. E.g.: While wearing one item with fire -20, you cannot get more than fire +80 overall from equipment. If one is forced to live with high vulnerability (like wraith: fire -30), you can still use a potion to go beyond the cap. o Potions work completely different than before. The so-called "immunity-potions" grant an absolute value of 90% protection (independant from the players's equipment and properties), there are also very rare ones with 95% and cheap ones with 50%. If the player has already got more protection than the potion provides, drinking it won't have any effect. o Cursed potions are working now (have been broken before). They give a temporare vulnerability, but can be overriden by uncursed potions of the same res.-type. o Protection spells work different than potions. Their effect does add to the player's equipment. The amount of protection granted depends on the caster's skill level and path attunes (if a related spellpath exists). The maximum a player can get is currently 60% (at wisdom lvl 107 & path_attuned). o When the player's state of resistance changes, a new kind of message shows up: The percentage of the new resistance is displayed: e.g. "You resistance to fire rises to 67%". o When a player got hit by dam<1 it used to be zero. To make the calculations more accurate, for 0<dam<1 I "simulate" a floating point value-effect now. Example: If the correct damage value would be 0.4, there is 40% chance for dam=1, else dam=0. For 0.7, ther'd be 70% chance for dam=1... etc. Without that feature, there would most of the times be no difference between resistance 95 and 100. | |||
Show difference between Revision 1.23 and 1.24 | |||
Revision 1.23 | cvs | 2000/12/03 18:40:04 | +5 -35 |
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.22 and 1.23 | |||
Revision 1.22 | peterm | 2000/11/23 19:16:01 | +4 -3 |
Commented out all the FLAG_BERSERK stuff. Attempt to add FLAG_BERSERK properly failed, so do this for now. | |||
Show difference between Revision 1.21 and 1.22 | |||
Revision 1.21 | peterm | 2000/11/19 18:59:09 | +5 -3 |
New spells added: conflict vitriol ironwood skin. | |||
Show difference between Revision 1.20 and 1.21 | |||
Revision 1.20 | peterm | 2000/11/19 01:34:46 | +4 -1 |
peterm: Implementation of: 1) sanctuary 2) holy rage 3) peace 4) forked lightning 5) flaming aura 6) spiderweb | |||
Show difference between Revision 1.19 and 1.20 | |||
Revision 1.19 | peterm | 2000/11/17 21:32:34 | +3 -2 |
10 new spells skeleton added to spellist.h and spells.h: SP_SANCTUARY, SP_PEACE, SP_SPIDERWEB SP_CONFLICT, SP_RAGE, SP_FORKED_LIGHTING SP_POISON_FOG, SP_FLAME_AURA, SP_VITRIOL Of these, SP_SANCTUARY and SP_FLAME_AURA are partially implemented. These two require archetypes yet. | |||
Show difference between Revision 1.18 and 1.19 | |||
Revision 1.18 | peterm | 2000/11/17 05:16:45 | +2 -2 |
New spell added, Windstorm. It pushes objects, mostly, and does a little damage. define.h: NROFREALSPELLS++ spellist.h spells.h: "windstorm" archetypes: new arch added for windstorm disease.c: comment on new title parameter. spell_effect.c, sproto.h spell*.c: implmenetation of windstorm. | |||
Show difference between Revision 1.17 and 1.18 | |||
Revision 1.17 | avogl | 2000/11/08 14:15:41 | +2 -1 |
The new battleground-feature: I have created a place where friendly players can battle each other without having to fear death. The defeated player will be teleported to a special location (the first-aide station). No exp nor stats loss. Moreover, exp-draining doesn't work inside the arena, acid won't harm the equipment. To make things easier, peaceful mode is ignored in the arena. --AndreasV | |||
Show difference between Revision 1.16 and 1.17 | |||
Revision 1.16 | peterm | 2000/10/30 22:53:48 | +2 -2 |
PeterM: Divine shock spell added. | |||
Show difference between Revision 1.15 and 1.16 | |||
Revision 1.15 | peterm | 2000/10/20 01:39:26 | +2 -2 |
New spell and modified spell paramters. | |||
Show difference between Revision 1.14 and 1.15 | |||
Revision 1.14 | peterm | 2000/10/16 14:26:38 | +26 -25 |
define.h: defines added for playerchangers and class types base 10 numbers added for the spell paths. spellist.h: fixed up summoning spells a little sproto.h: new prototypes config.h: hate RECYCLE_TMP_MAPS, turned it off --PeterM | |||
Show difference between Revision 1.13 and 1.14 | |||
Revision 1.13 | peterm | 2000/09/26 19:50:18 | +2 -2 |
Created a levitation skill for fireborn. They were always supposed to be flying creatures. And flying creatures should be able to control whether they levitate or not. | |||
Show difference between Revision 1.12 and 1.13 | |||
Revision 1.12 | jec | 2000/06/09 07:01:46 | +14 -3 |
common/loader.l: Fix handling of objects with no animation. Fixes server crash if object's archetype has an animation, but object doesn't. common/loader.l: get_ob_diff(): Bugfix: Issue a "is_animated 0" line if the object has an animation, but doesn't have FLAG_ANIMATE. server/apply.c: manual_apply() and monster_apply_special(): Don't check for FLAG_UNPAID if object is applied. This should make the code more robust if an unpaid item get's applied accidently. server/apply.c: apply_special(): New optional flags AP_NO_MERGE and AP_IGNORE_CURSE. server/monster.c: find_mon_throw_ob(); server/skills.c: find_throw_ob(): Bugfix: Use AP_NO_MERGE flag to prevent unapplied object be merged with other objects. server/spell_effect.c: animate_weapon: Bugfixes: Correctly unapply weapon. Don't set FLAG_APPLIED directly on weapon in golem, but use apply_special(). Don't call esrv_send_item() when caster is not a player (fixes server crash if monster casts this spell). | |||
Show difference between Revision 1.11 and 1.12 | |||
Revision 1.11 | cvs | 2000/05/27 01:02:58 | +3 -1 |
include/define.h: Add MIN_ACTIVE_SPEED value to determine what threshold something will be put on the active list or not instead of using varying values throughout the source code. common/item.c, common/object.c, server/monster.c, server/pets.c, server/spell_effect.c: Updated to use the MIN_ACTIVE_SPEED instead of hardcoded values. MSW 5/26/2000 | |||
Show difference between Revision 1.10 and 1.11 | |||
Revision 1.10 | cvs | 2000/05/27 00:42:14 | +1 -12 |
include/define.h,include/global.h, common/image.c: Remove following old face information: INV_*_FACES, BLOCKED_FACE, STIPPLE[12]_FACE. This is just a general cleanup - the server has not used these since the X11 code was pulled from the server. MSW 5/26/2000 | |||
Show difference between Revision 1.9 and 1.10 | |||
Revision 1.9 | jec | 2000/05/26 04:50:47 | +10 -3 |
* apply() cleanup patch 26/5/2000 | |||
Show difference between Revision 1.8 and 1.9 | |||
Revision 1.8 | cvs | 2000/05/23 02:06:32 | +56 -1 |
include/define.h: add safe_strcat inline/static function. Add DESCRIBE_ABILITY_SAFE and DESCRIBE_PATH_SAFE which use the safe_strcat to prevent buffer overuns. common/item.c: Have query_name use HUGE_BUF for its buffer - query_short_name uses that buffer size, and we call the same thing. have quer_name and query_short_name use the safe_strcat function. Increase buffer size in ring_desc to be a VERY_BIG_BUF and also use safe_strcat along with the DESCRIBE_*_SAFE macros. server/input.c: Modify examine.c to not get buffer overruns for very long/ complicated items. Modify long_desc to also handle long names/descriptions without buffer overruns. socket/item.c: Modify the functions that prepend the length to the name of the object to handle very long (>255) object names properly - now we just truncate it and only send the first 255 bytes. add function add_stringlen_to_sockbuf to make this task easier. With the above changes, very long named items/items with very long descriptions works properly in both the server (no crashes) and the client (no crashes/protocol errors) MSW 5/22/2000 | |||
Show difference between Revision 1.7 and 1.8 | |||
Revision 1.7 | cvs | 2000/04/27 02:34:56 | +5 -4 |
common/arch.c, common/loader.l (loader.c): Modify the load routines to strip off trailing whitespace in object names and other_arch fields - I believe this is why altars to Sorig did not generally work, and while generally that white space should not exist, doing a little extra checking for it is not a bad idea - MSW 4/26/2000 Add HOLY_ALTAR type, and use that for praying over for gods and the like. doc/crossfire.doc: Add description of HOLY_ALTAR type and meaning of fields. common/map.c: Disable consecration code for altars. include/define.h: Add type for HOLY_ALTAR include/sproto.h: Update for change of some functions below. server/c_wiz.c: Modify setgod command to call become_follower with proper second arg. server/gods.c: Change become_follower to take object pointer to god instead of name, since the holy_altar has the pointer in its other_arch. Modify pray_at_altar to use the new fields, as well as fixed what seemed to be numerous bugs in that function. sever/skills.c: Change check from ALTAR to HOLY_ALTAR, also change check to see if HOLY_ALTAR is consecrated by looking at the other_arch field. server/spell_effect.c: Update consecrate so that caster must be higher effective level than the altar, also update for differing fields. maps/thomas/sisters/shrine0, map/thomas/sisters/tower0: Remove title from altars on these maps - these were the only two maps using old style altars consecrated to a god. Since it appears the real purpose of the altars on these maps was to trigger something else, they were kept as old style altars. arch/gods/altars (relocated from arch/indoors, as I think the new location makes more logical sense): Update for new fields/format. This also affects lib/archetypes, lib/bmaps.paths, lib/crossfire.xpm, lib/crossfire.cfb lib/adm/archsearch.pl: Modified to hunt out old archetypes - some of the changes could be useful in general cases. MSW 4/26/2000 | |||
Show difference between Revision 1.6 and 1.7 | |||
Revision 1.6 | damn | 1999/09/18 02:29:56 | +474 -27 |
Moved everything back where it was, except materials. -- DAMN | |||
Show difference between Revision 1.5 and 1.6 | |||
Revision 1.5 | damn | 1999/09/17 15:54:35 | +73 -533 |
- moved object type numbers to object.h - moved flag numbers to object.h - moved NROFREALSPELLS to spells.h - moved path numbers to spells.h - moved DESCRIBE_PATH macro to spells.h - moved ARMOUR_ and WEAPON_ macros to player.h - moved player state numbers to player.h - moved monster movement numbers to living.h - moved NROFSKILLS to skills.h -- DAMN | |||
Show difference between Revision 1.4 and 1.5 | |||
Revision 1.4 | cvs | 1999/08/22 19:26:13 | +1 -10 |
Change compress method definitions from being determined by checks on system type to having autoconf find the utilities for us. Also, add bzip2 support. Files affected: Makefile.in configure.in common/map.c server/init.c server/login.c include/config.h include/define.h include/autoconf.h.in - msw | |||
Show difference between Revision 1.3 and 1.4 | |||
Revision 1.3 | cvs | 1999/08/02 19:33:17 | +3 -1 |
Changes allowing for a keycode in the alchemical recipes. Now, if the formula has a field called 'keycode xxxx', the person must possess a MARK with 'slaying xxxx' in order to execute the formula successfully. | |||
Show difference between Revision 1.2 and 1.3 | |||
Revision 1.2 | cvs | 1999/07/13 01:02:52 | +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.1 | uid200 | 1999/04/02 13:10:04 | None |
Initial revision | |||
First version | |||
Revision 1.1.1.1 | uid200 | 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 |