Protocol: | pserver | User: | anonymous |
Machine: | crossfire.cvs.sourceforge.net | CVSROOT: | /cvsroot/crossfire |
Filename: sproto.h | |||
Revision 1.182 | qal21 | 2006/09/17 00:34:39 | +1 -0 |
Change cfapi_object_say() to use either command_say() or npc_say() depending on if the object is a player. Fixes bug #1534889. | |||
Show difference between Revision 1.181 and 1.182 | |||
Revision 1.181 | qal21 | 2006/09/16 15:12:40 | +1 -0 |
Commit changes forgotten in previous commit of alchemy changes. | |||
Show difference between Revision 1.180 and 1.181 | |||
Revision 1.180 | qal21 | 2006/09/09 18:43:12 | +2 -0 |
Add is_in_shop() and coords_in_shop() based on addition of is_in_shop() in cf+ by elmex. | |||
Show difference between Revision 1.179 and 1.180 | |||
Revision 1.179 | qal21 | 2006/09/09 15:31:31 | +1 -1 |
Make drop_object return a pointer to the dropped object, NULL otherwise. | |||
Show difference between Revision 1.178 and 1.179 | |||
Revision 1.178 | ryo_saeba | 2006/09/03 08:01:02 | +1 -1 |
#1551386 (Alchemy with unpaid items) | |||
Show difference between Revision 1.177 and 1.178 | |||
Revision 1.177 | ryo_saeba | 2006/08/20 04:59:28 | +3 -0 |
Plugin wrappers for timers. | |||
Show difference between Revision 1.176 and 1.177 | |||
Revision 1.176 | ryo_saeba | 2006/08/15 08:43:47 | +1 -0 |
Add plugin function to get time of day. Add matching Python function. | |||
Show difference between Revision 1.175 and 1.176 | |||
Revision 1.175 | ryo_saeba | 2006/08/08 05:05:34 | +1 -0 |
Feature request #821645 (change password command) | |||
Show difference between Revision 1.174 and 1.175 | |||
Revision 1.174 | akirschbaum | 2006/06/06 16:38:41 | +2 -0 |
Add commands rules and news to display the rules/news files. | |||
Show difference between Revision 1.173 and 1.174 | |||
Revision 1.173 | mwedel | 2006/06/05 01:28:56 | +1 -1 |
Clean up some compiler warnings. Most of the changes are related to replaced %lld with FMT64 defines so that the format will be correct, no matter if the 64 bit type is a long, long long, or if this is windows. #if 0 out a bunch of code that isn't used. -- common/exp.c: Replaced lld with FMT64 common/holy.c: #if 0 out baptize_altar(). Add banner copyright at top of file. common/info.c, common/item.c, common/loader.l, common/loader.c, common/map.c: common/porting.c Replaced lld with FMT64 common/time.c: Replace a bunch of variables declared as longs to be uint32. Update various sprintf appropriately. include/global.h: Add FMT64 and FMT64U as appropriate for different systems. Change max_time to be a uint32 include/sockproto.h, include/sproto.h: rebuilt server/apply.c: #if 0 out monster_apply_special server/c_range.c: Add != 0 in assignment if statement - same meaning, clearer on intention and avoids compiler warning. server/c_wiz.c: Update command_kick() to take const char. Update command_speed() to operate properly based on max_time being a uint32. Update various lld to FMT64. Clarify ambiguous if/if/else statement in command_insert_into() server/commands.c: Add cast to command_kick for new function prototype. #if 0 out find_command(), parse_string(), parse_command() server/disease.c: #if 0 out find_disease(), reduce_symptoms() server/egoitem.c: #if 0 out create_artifact(). Add copyright at top of file. server/gods.c: #if 0 out get_god() server/hiscore.c: Replace lld with FMT64 server/login.c: #if 0 out create_savedir_if_needed() server/resurrection.c: Replace lld with FMT64. #if 0 out dead_character() and dead_player_exists() server/server.c: Remove info_keys() - hasn't been used in a long time. #if 0 out process_active_maps() server/skill_util.c: Replace lld with FMT64 server/spell_util.c: #if 0 out check_spell_effect() server/weather.c: #if 0 out feather_map(). Fix what I suspect is an error in worldmap_to_weathermap() to skip over starting slashes. socket/image.c: Add a fair number of char * casts to suppress warnings. socket/init.c: Change buflen in init_connection() to socklen_t to match function prototype. Add some char * casts. socket/loop.c: Add some char * casts. -- MSW 2006-06-04 | |||
Show difference between Revision 1.172 and 1.173 | |||
Revision 1.172 | tchize | 2006/06/01 14:07:08 | +19 -17 |
Fixed error in build process regarding unit test. Our modularization is way broken, with have intredependent .a files, this should be solved. Applied a compilation workaround suggest by gnu, twice every .a at link time. Applied an automake workaround as we need to pass --preserver-dup-deps to autotools and to do this only current CVS version can do it without a bit i hacking. Applied Hacking suggested by automake mailing list. | |||
Show difference between Revision 1.171 and 1.172 | |||
Revision 1.171 | ryo_saeba | 2006/05/20 10:47:48 | +1 -0 |
Log hook for plugins. Use it for Python & cfanim. | |||
Show difference between Revision 1.170 and 1.171 | |||
Revision 1.170 | ryo_saeba | 2006/05/05 04:47:40 | +3 -6 |
Third and last part of patch #1453869 courtesy Stefan Huehner (shuehner) | |||
Show difference between Revision 1.169 and 1.170 | |||
Revision 1.169 | ryo_saeba | 2006/05/05 04:25:18 | +15 -198 |
First part of patch #1453869 courtesy Stefan Huehner (shuehner) | |||
Show difference between Revision 1.168 and 1.169 | |||
Revision 1.168 | ryo_saeba | 2006/05/05 03:52:44 | +1 -0 |
Add Map.Insert(object,x,y) and Player.CanPay( ) to Python plugin | |||
Show difference between Revision 1.167 and 1.168 | |||
Revision 1.167 | tchize | 2006/04/06 16:18:35 | +23 -23 |
finished common/arch.c unit test, fixed a few bugs, moved function around and renamed other | |||
Show difference between Revision 1.166 and 1.167 | |||
Revision 1.166 | ryo_saeba | 2006/03/18 09:05:32 | +6 -11 |
Massive cleaning of code. Shouldn't be any functional change. | |||
Show difference between Revision 1.165 and 1.166 | |||
Revision 1.165 | akirschbaum | 2006/02/17 15:29:47 | +2 -4 |
Apply patch #1433271 (code-cleanup) by Stefan Huehner: Add const and static. | |||
Show difference between Revision 1.164 and 1.165 | |||
Revision 1.164 | akirschbaum | 2006/02/10 17:59:26 | +8 -12 |
Apply slightly modified patch #1428309 (code-cleanup: const, static) by Stefan Huehner: add const/static to functions/variables. Remove some type casts. | |||
Show difference between Revision 1.163 and 1.164 | |||
Revision 1.163 | ryo_saeba | 2006/02/08 15:41:53 | +1 -0 |
Add DM command insert_into <where> <what> | |||
Show difference between Revision 1.162 and 1.163 | |||
Revision 1.162 | cavesomething | 2006/02/07 19:52:58 | +1 -0 |
add arrest command, and regional jails | |||
Show difference between Revision 1.161 and 1.162 | |||
Revision 1.161 | mwedel | 2006/02/07 01:54:46 | +17 -15 |
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.160 and 1.161 | |||
Revision 1.160 | cavesomething | 2006/01/09 13:35:12 | +1 -1 |
spell listing support | |||
Show difference between Revision 1.159 and 1.160 | |||
Revision 1.159 | ryo_saeba | 2006/01/07 11:41:31 | +11 -11 |
Regions support for plugins | |||
Show difference between Revision 1.158 and 1.159 | |||
Revision 1.158 | akirschbaum | 2006/01/01 07:03:02 | +1 -0 |
Properly unready forgotten spells. Prevents crashing the server if casting a forgotten spell. | |||
Show difference between Revision 1.157 and 1.158 | |||
Revision 1.157 | akirschbaum | 2006/01/01 05:58:21 | +0 -1 |
Improve the commands learn_spell and forget_spell: now these commands accept partial spell names and print sensible error messages if they fail. | |||
Show difference between Revision 1.156 and 1.157 | |||
Revision 1.156 | ryo_saeba | 2005/12/17 13:42:52 | +1 -1 |
Missing break. Add void to function declaration. | |||
Show difference between Revision 1.155 and 1.156 | |||
Revision 1.155 | ryo_saeba | 2005/12/17 12:21:44 | +2 -0 |
Plugins can get party information | |||
Show difference between Revision 1.154 and 1.155 | |||
Revision 1.154 | ryo_saeba | 2005/11/27 08:16:46 | +1 -1 |
Add a filter to skills command | |||
Show difference between Revision 1.153 and 1.154 | |||
Revision 1.153 | ryo_saeba | 2005/11/20 09:08:39 | +2 -0 |
Plugins can access archetypes. Added wrappers in Python. | |||
Show difference between Revision 1.152 and 1.153 | |||
Revision 1.152 | akirschbaum | 2005/11/09 13:34:17 | +1 -1 |
include/sproto.h, server/monster.c: Declare parameter of communicate() as "const". | |||
Show difference between Revision 1.151 and 1.152 | |||
Revision 1.151 | akirschbaum | 2005/11/01 02:58:43 | +0 -49 |
General cleanup of weather code. | |||
Show difference between Revision 1.150 and 1.151 | |||
Revision 1.150 | akirschbaum | 2005/10/31 15:23:00 | +1 -1 |
Fix bug #1102975 (Bronze items not keeping their + in alchemy): the problem was that a formula for full_helmet did exist but not for b_full_helmet. Since both helmet's names are "full helmet", the recipe was selected even if using the ingredient b_full_helmet. This fix adds new formulae for alternative archetypes with the same name as the base object, and makes the server code select the matching formula from multiple arch names in the "arch" field. | |||
Show difference between Revision 1.149 and 1.150 | |||
Revision 1.149 | akirschbaum | 2005/10/28 14:08:53 | +1 -1 |
Fix compiler warnings. Most changes do not change the program (remove unused variables, convert "if(x = y)" into "x = y; if(x)"); a few actually fix (possible) problems (fix uninitialized variables, fix printf format specifiers, fix mismatches between signed and unsigned variables, add missing return and default statements). | |||
Show difference between Revision 1.148 and 1.149 | |||
Revision 1.148 | cavesomething | 2005/10/21 14:03:24 | +1 -0 |
make shops check if a player can afford all items, before buying any of them | |||
Show difference between Revision 1.147 and 1.148 | |||
Revision 1.147 | gros | 2005/10/19 14:42:34 | +2 -2 |
Various small fixes of the plugin subsystem. Gros - 19/10/2005 | |||
Show difference between Revision 1.146 and 1.147 | |||
Revision 1.146 | gros | 2005/10/18 11:54:31 | +88 -91 |
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.145 and 1.146 | |||
Revision 1.145 | ryo_saeba | 2005/10/16 03:48:29 | +1 -1 |
Don't stack WoR effects. Don't display 'can't recast xx' message for divine intervention | |||
Show difference between Revision 1.144 and 1.145 | |||
Revision 1.144 | qal21 | 2005/10/15 02:07:31 | +1 -0 |
Add directory in preparation for template (where the template can be from the random map generator) maps. | |||
Show difference between Revision 1.143 and 1.144 | |||
Revision 1.143 | akirschbaum | 2005/10/07 14:38:49 | +2 -2 |
Make damage done by area spells not depend on monster size. include/sproto.h, server/attack.c: Add additional parameter "full_hit" to hit_map() and hit_player(). If set, do full damage, if unset scale down by monster size. server/{apply.c, attack.c, disease.c, monster.c, player.c, rune.c, spell_attack.c, spell_effect.c, spell_util.c, time.c}: Change callers to set "full_hit" parameter according to the attack used. | |||
Show difference between Revision 1.142 and 1.143 | |||
Revision 1.142 | cavesomething | 2005/10/06 08:18:53 | +0 -1 |
fix value calculations for alchemy and pickup code | |||
Show difference between Revision 1.141 and 1.142 | |||
Revision 1.141 | cavesomething | 2005/10/02 22:29:41 | +5 -0 |
add support for specialised shops | |||
Show difference between Revision 1.140 and 1.141 | |||
Revision 1.140 | ryo_saeba | 2005/10/01 12:46:04 | +1 -1 |
Patches #1307880 and #1306987 courtesy quisar | |||
Show difference between Revision 1.139 and 1.140 | |||
Revision 1.139 | ryo_saeba | 2005/10/01 11:36:35 | +2 -2 |
Clean some compilation warnings. | |||
Show difference between Revision 1.138 and 1.139 | |||
Revision 1.138 | cavesomething | 2005/09/24 21:15:45 | +1 -4 |
make prior party obsoletion patch not completely broken | |||
Show difference between Revision 1.137 and 1.138 | |||
Revision 1.137 | ryo_saeba | 2005/09/24 04:28:05 | +1 -0 |
Patch 1194964 (party obsoletion) by cavesomething | |||
Show difference between Revision 1.136 and 1.137 | |||
Revision 1.136 | qal21 | 2005/09/15 20:02:06 | +1 -0 |
Allow directors/movers to specify a specific arch/name/race. | |||
Show difference between Revision 1.135 and 1.136 | |||
Revision 1.135 | akirschbaum | 2005/09/09 16:09:40 | +1 -0 |
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.134 and 1.135 | |||
Revision 1.134 | qal21 | 2005/08/17 13:38:34 | +4 -1 |
Fix bugs, and allow buttons and pedestals to be built underneath gates. | |||
Show difference between Revision 1.133 and 1.134 | |||
Revision 1.133 | cavesomething | 2005/08/12 18:16:31 | +1 -0 |
Change the way NPCs are allocated gods | |||
Show difference between Revision 1.132 and 1.133 | |||
Revision 1.132 | ryo_saeba | 2005/08/12 08:46:34 | +2 -2 |
Fields changed from char* to const char*, cleanup. | |||
Show difference between Revision 1.131 and 1.132 | |||
Revision 1.131 | ryo_saeba | 2005/08/12 03:18:59 | +46 -46 |
Use const char* instead of char* when possible | |||
Show difference between Revision 1.130 and 1.131 | |||
Revision 1.130 | cavesomething | 2005/08/11 11:44:29 | +1 -0 |
Add showpets command, let killpets selectively kill pets | |||
Show difference between Revision 1.129 and 1.130 | |||
Revision 1.129 | mwedel | 2005/08/08 01:27:30 | +22 -17 |
include/config.h: Make DEBUG default - appears last commit changed this as unrelated to actual changes in place. include/sproto.h: Rebuild server/player.c: fire_bow() - add checks for wall/out of map. fire_bow() wasn't using right coordinates on check, which caused problems in threewide mode at edge of maps. MSW 2005-08-07 | |||
Show difference between Revision 1.128 and 1.129 | |||
Revision 1.128 | akirschbaum | 2005/07/18 14:07:05 | +3 -3 |
server/plugins.c: Merge mostly identical code from #ifdef WIN32 and #else blocks. Use opendir/readdir/closedir instead scandir for Unix because WIN32 probably does not have these functions. Prevent loading one plugin multiple times. include/sproto.h: Update prototypes for plugin functions. server/c_wiz.c: Add success/failure messages to plugin and plugout commands. Do not crash due to missing parameter. | |||
Show difference between Revision 1.127 and 1.128 | |||
Revision 1.127 | ryo_saeba | 2005/07/17 06:00:05 | +6 -6 |
Use const char* instead of char* when possible. Removed unused variables from weather code. | |||
Show difference between Revision 1.126 and 1.127 | |||
Revision 1.126 | ryo_saeba | 2005/07/15 16:11:32 | +14 -0 |
Massive plugin changes, fixes bugs for Win32 | |||
Show difference between Revision 1.125 and 1.126 | |||
Revision 1.125 | ryo_saeba | 2005/07/15 08:51:50 | +0 -1 |
Glue cleaning. New plugin function. | |||
Show difference between Revision 1.124 and 1.125 | |||
Revision 1.124 | ryo_saeba | 2005/07/14 11:21:32 | +2 -1 |
Quest handling | |||
Show difference between Revision 1.123 and 1.124 | |||
Revision 1.123 | ryo_saeba | 2005/04/27 16:43:28 | +6 -6 |
Change some char* to const char* | |||
Show difference between Revision 1.122 and 1.123 | |||
Revision 1.122 | mwedel | 2005/04/16 23:25:54 | +6 -5 |
Various minor bugfixes. common/los.c: Patch to fix negative lighting. Use isqrt instead of sqrt, so we only want integer values anyways. include/libproto.h, include/sproto.h: Rebuilt as there were some improperly matching prototypes. random_maps/rogue_layout.c: Replace sqrt with isqrt calls. server/c_misc.c: Make name_cmp() a static declaration so it won't be put in the sproto.h file. server/init.c: Remove /* within comment string. server/monster.c: Change sqrt to isqrt MSW 2005-04-16 | |||
Show difference between Revision 1.121 and 1.122 | |||
Revision 1.121 | cavesomething | 2005/04/16 08:19:30 | +1 -0 |
add whereabouts command | |||
Show difference between Revision 1.120 and 1.121 | |||
Revision 1.120 | ryo_saeba | 2005/04/15 15:56:38 | +1 -0 |
New item type: 163 item transformer, see doc | |||
Show difference between Revision 1.119 and 1.120 | |||
Revision 1.119 | ryo_saeba | 2005/04/14 14:15:40 | +1 -1 |
Fix a few things, use const char* instead of char* when possible | |||
Show difference between Revision 1.118 and 1.119 | |||
Revision 1.118 | cavesomething | 2005/03/23 15:34:56 | +1 -0 |
allow who command to take regions as arguments, if a region is given as an argument then only the players in the region are shown. Partial region names can be used also. Calling who on its own shows everyone that was shown before. | |||
Show difference between Revision 1.117 and 1.118 | |||
Revision 1.117 | ryo_saeba | 2005/03/22 17:22:41 | +1 -1 |
Fix broken win32 compilation. Remove sleep(1) in hide commandas that causes the whole server to sleep | |||
Show difference between Revision 1.116 and 1.117 | |||
Revision 1.116 | majorwoo | 2005/03/20 16:20:40 | +1 -0 |
This is patch #1152538 to add a server configurable who command | |||
Show difference between Revision 1.115 and 1.116 | |||
Revision 1.115 | ryo_saeba | 2005/03/15 15:06:20 | +2 -0 |
Apply patch #1145089 by cavesomething for region support | |||
Show difference between Revision 1.114 and 1.115 | |||
Revision 1.114 | ryo_saeba | 2005/03/13 09:48:16 | +1 -0 |
Apply patch #1119762 (salathar): afk command | |||
Show difference between Revision 1.113 and 1.114 | |||
Revision 1.113 | akirschbaum | 2005/02/20 14:43:11 | +1 -1 |
common/object.c, include/libproto.h: change nrof parameter of get_split_ob to uint32 type. server/c_object.c, include/sproto.h: change nrof parameter of drop_object to uint32 type. plugin/{plugin_python.c, include/plugin_python.h}, plugin_animator/{plugin_animator.c, include/plugin_animator.h}, server/{apply.c, attack.c, gods.c, monster.c, player.c, skills.c, time.c, timers.c}: Change type of CFParm.Value[5] and StackParm1[] to uint32 to be able to pass an "nrof" value. | |||
Show difference between Revision 1.112 and 1.113 | |||
Revision 1.112 | akirschbaum | 2005/01/07 06:00:00 | +1 -1 |
include/sproto.h, plugin/plugin_python.c, server/plugins.c, server/shop.c: Use uint64 type for variables holding money. Use Python long integers to pass these variables to/from the Python plugin. | |||
Show difference between Revision 1.111 and 1.112 | |||
Revision 1.111 | mwedel | 2004/11/09 01:44:24 | +21 -11 |
This commit adds the functionality of patch 991916, although the patch as submitted was used as a baseline to start from. include/sproto.h: rebuilt server/c_chat.c: Rename command_chat() to command_tell_all() which takes a few more optional parameters. Add command_shout() and command_chat() that invoke command_tell_all() with the appropriate changes. server/commands.c: Add chat to list of command table. MSW 2004-11-08 | |||
Show difference between Revision 1.110 and 1.111 | |||
Revision 1.110 | akirschbaum | 2004/10/18 01:35:37 | +1 -1 |
include/sproto.h, server/egoitem.c: Change create_artifact() to return whether the artifact was created. server/plugins.c: Change CFWCreateArtifact()/HOOK_CREATEARTIFACT to return whether the artifact was created. plugin/plugin_python.c: Define new function create_object() to create objects. Use this function to fix CFPython.CreateObjectInside() and CFPython.CreateObject(): creation of artifacts does work now. | |||
Show difference between Revision 1.109 and 1.110 | |||
Revision 1.109 | ryo_saeba | 2004/09/26 04:42:34 | +1 -0 |
Add 'stack_clear' command. | |||
Show difference between Revision 1.108 and 1.109 | |||
Revision 1.108 | ryo_saeba | 2004/08/15 12:03:07 | +8 -0 |
Add item stack for DMs, to ease item manipulation | |||
Show difference between Revision 1.107 and 1.108 | |||
Revision 1.107 | akirschbaum | 2004/06/13 12:30:22 | +0 -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.106 and 1.107 | |||
Revision 1.106 | ryo_saeba | 2004/05/24 16:00:16 | +1 -0 |
new dmhide command, dm + hide | |||
Show difference between Revision 1.105 and 1.106 | |||
Revision 1.105 | ryo_saeba | 2004/05/15 13:15:34 | +1 -0 |
Added a positioning system | |||
Show difference between Revision 1.104 and 1.105 | |||
Revision 1.104 | mwedel | 2004/04/25 02:17:38 | +5 -6 |
Change most shop buy/sell functions to use 64 bit values. Problem arises where player would sell valuable item, and if they wanted to buy them back, it would overflow a 32 bit value, so they could buy them back for free. Note quite as odd when you consider the buy/sell price for really valuable items to be very different. include/global.h: Add UINT32_MAX and other max type defines for our typedef values so that we have standard setting of what the cap is. server/apply.c: Change get_payment call to take second argument. server/plugins.c: Add note about bug in handling of query_cost in this function. server/shop.c: query_cost() now returns 64 bit. Many other functions updated to also take/return 64 bit cost values. Have cost_string nicely deal with values that are beyond affordability. Rename get_payment2() to get_payment(), and remove the later, which was just a simple wrapper function that called get_payment2. server/spell_effect.c: Update alchemy code. Remove some suspect use of static values. MSW 2004-04-24 | |||
Show difference between Revision 1.103 and 1.104 | |||
Revision 1.103 | mwedel | 2004/04/14 02:24:30 | +8 -4 |
common/object.c: Change CAN_MERGE() so that it compares the stats structure of the objects being merged. Fixes problems of rings improperly merging with other rings that have different stat values. server/monster.c: Modify check_earthwalls() and check_doors() to take a map structure as an option parameter, and use that structure when calling get_map_ob. Fixes a crash in cases where earthwalls/doors were at the edge of a tiled map, and creature was on other map moving into it. server/move.c: Change move_ob() to adjust coordinates for tiling, and pass in these adjusted coordinages (and map) to the check_() functions in monster.c random_maps/treasure.c: Apply patch by Andreas Kirschbaum so that it does more work in trying to place keys on maps. MSW 2004-04-13 | |||
Show difference between Revision 1.102 and 1.103 | |||
Revision 1.102 | temitchell | 2004/02/28 19:53:47 | +1 -1 |
- change check_cone_push to check_spell_knockback move function and change it to use the spell object weight now cone spells (also perhaps bolts later?) which use an arch with weight will have a 'knockback' or push component based on the weight of the arch. | |||
Show difference between Revision 1.101 and 1.102 | |||
Revision 1.101 | ryo_saeba | 2004/01/18 04:36:10 | +2 -0 |
Added map-building code. | |||
Show difference between Revision 1.100 and 1.101 | |||
Revision 1.100 | mwedel | 2004/01/16 01:52:51 | +3 -3 |
Fix a bunch of crashes observed on metalforge: server/player.c: do_hidden_move(): Move call to find skill so that it is always called. server/skills.c: write_scroll(): Fix freeing of spell object in scroll - newscroll->inv isn't valid after calling remove_ob, so need to copy object to temporary pointer first. server/spell_effect.c: cast_detection(): Pass in skill to use. If no skill in use, use the caster object - fixes pointer derefence as op->chosen_skill wasn't always set. server/spell_util.c: modify caster_level() to always return at least 1. Fixes pointer potential divide by zero problems - also guarantees that players will be able to cast first level spells even if repelled to that spellpath. ok_to_put_more() - Fix to use correct map pointer variable. find_target_for_friendly_spell() - make it so it handles tiled maps OK. MSW 2003-01-15 | |||
Show difference between Revision 1.99 and 1.100 | |||
Revision 1.99 | ryo_saeba | 2003/11/07 13:54:49 | +4 -4 |
Fixed newline issue with previous commit. | |||
Show difference between Revision 1.98 and 1.99 | |||
Revision 1.98 | ryo_saeba | 2003/11/07 13:01:29 | +4 -1 |
Improved 'tell' command. Fix Win32-Python issues. Fix Win32 compilation issue. | |||
Show difference between Revision 1.97 and 1.98 | |||
Revision 1.97 | mwedel | 2003/10/26 01:56:57 | +3 -0 |
common/glue.c, common/object.c, common/player.c, include/funcpoint.h, server/init.c, server/monster.c, server/shop.c, server/skill_util.c: add find_skill_by_number() function - this replaces find_skill. Locate new function in skill_util.c, which is more a proper place than common/player.c - this change necessitated adding glue function pointers so the other common files can call it. server/spell_effect.c: Fix cast_heal() so if the spell is not one that heals hit points, don't process the code that checks for that and sets a false success value. socket/metaserver.c: Clean up formatting - no code changes. MSW 2003-10-25 | |||
Show difference between Revision 1.96 and 1.97 | |||
Revision 1.96 | mwedel | 2003/09/13 00:01:34 | +130 -177 |
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.95 and 1.96 | |||
Revision 1.95 | crowbert | 2003/09/11 20:37:56 | +1 -1 |
add a search option to the maps command | |||
Show difference between Revision 1.94 and 1.95 | |||
Revision 1.94 | tchize | 2003/09/03 08:42:19 | +1 -0 |
Allow renaming items for users. Thanks to Nicolas Weeger (Ryo) | |||
Show difference between Revision 1.93 and 1.94 | |||
Revision 1.93 | temitchell | 2003/07/25 21:10:40 | +1 -0 |
- addition of Banish command. This ad a new file for ban.c to check in var called banish where banished IPs are stored. - modified kick command to kill the socket and really kick the player. - touched up the get player by name so the messages are more generic. | |||
Show difference between Revision 1.92 and 1.93 | |||
Revision 1.92 | temitchell | 2003/07/23 23:21:14 | +1 -0 |
- added toggle_shout DM command to disable/enable player shouting | |||
Show difference between Revision 1.91 and 1.92 | |||
Revision 1.91 | tchize | 2003/06/30 14:14:13 | +4 -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.90 and 1.91 | |||
Revision 1.90 | gros | 2003/06/21 02:38:48 | +1 -0 |
Completed the timer code, making it useable. Gros 21/06/03 | |||
Show difference between Revision 1.89 and 1.90 | |||
Revision 1.89 | tchize | 2003/06/19 05:59:28 | +2 -2 |
Added support for smoothing to the client. This will allow (i hope) better graphical results while using very little bandwidth overhead. Changes done follows: - Added protocol command MapExtendedInfos and smooth commands to server - Added a SetUp paramater in protocol for activating smoothing (disabled by default) or more general Extended map infos - Added file lib/smooth a text file containing some smoothing info a client might ask the server about. - Changed loader.l to be able to mark an object as 'smoothed' in archetypes (the smoothlevel parameter) and rebuild loader.c accordingly - Changed lib/Makefile.am to install lib/smooth file in shared folder - Rebuild the Makefiles.am and the Configure script (using autogen.sh) To be able to smooth, A client commit (the common part+ the gtk part) will follow and an archetypes commit will also follow. I will also detail changes to the protocol within a few days Server has been tested with older client to check backward compatibility | |||
Show difference between Revision 1.88 and 1.89 | |||
Revision 1.88 | gros | 2003/06/11 12:38:30 | +1 -0 |
Added support for DecreaseObject, a wrapper for decrease_object - Gros 11/06/03 | |||
Show difference between Revision 1.87 and 1.88 | |||
Revision 1.87 | gros | 2003/05/31 06:48:26 | +1 -0 |
Added a Python wrapper for the set_variable function - Gros 31/05/03 | |||
Show difference between Revision 1.86 and 1.87 | |||
Revision 1.86 | mwedel | 2003/03/20 01:57:57 | +0 -1 |
server/apply.c: Change weapon improving code to only use up the number of potions that it needs, and not all on the ground. Required adding another arg to eat_item() which is the number of items to consume. include/sproto.h: Rebuilt for new eat_item() (actually, a static, so no longer shows up in this file) MSW 2003-03-19 | |||
Show difference between Revision 1.85 and 1.86 | |||
Revision 1.85 | mwedel | 2003/02/14 02:18:41 | +3 -4 |
include/sproto.h, server/move.c: Modify try_fit() to take mapstruct parameter for which map we are trying to fit this on - fixes problems with rolling boulders accross map (only function that currently uses this). MSW 2003-02-14 | |||
Show difference between Revision 1.84 and 1.85 | |||
Revision 1.84 | garbled | 2003/02/13 23:50:36 | +1 -0 |
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.83 and 1.84 | |||
Revision 1.83 | garbled | 2003/02/04 23:32:02 | +1 -1 |
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.82 and 1.83 | |||
Revision 1.82 | garbled | 2003/01/26 00:00:28 | +3 -0 |
Experimental code to attempt a supply and demand based economy for shops. This code lays the framework for a supply and demand based pricing scheme, and tracks all purchases and sales by players. It calculates what the price for the item should be, based on the data it has collected. However.. the code to make it actually chaneg the prices in the game has not been added. At this stage, the code only tracks the prices in a database, var/supplydb. It is my intention to collect this data from running servers to see what effect such a change would make. It is quite possible that this scheme will be backed out, and a different one used based on the data collected. The data should give us a reasonable picture of what is sold and purchased in the game, to better judge future economic changes. There should be no gameplay changes from this commit. | |||
Show difference between Revision 1.81 and 1.82 | |||
Revision 1.81 | garbled | 2003/01/19 01:12:25 | +2 -0 |
Add orcknuckle and cointoss commands, per request of his Toddness. | |||
Show difference between Revision 1.80 and 1.81 | |||
Revision 1.80 | garbled | 2003/01/16 22:38:35 | +1 -0 |
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.79 and 1.80 | |||
Revision 1.79 | garbled | 2003/01/08 22:20:26 | +1 -1 |
Rewrite alchemy slightly. Now in the formula, we include a difficulty (percentage) and the experience value for the formula. We no longer adjust the experience given by the difficulty of the map. We no longer use the number of items to determine difficulty, rather we use the difficulty rating in the formula. We no longer multiply the experience given by the yield of the product, one "casting" one exp. When writing formulae, calculate the difficulty in when setitng the exp, because it is not multiplied in any way. Fix a bug in Mark's new armour enchantment stuff. Send the item to the player, otherwise they mysteriously dissapear, and only add the split items back if they were spilt, avoiding a segv when enchanting a single piece of armour. Change alchemy skills to only utilize cauldrons directly beneath the user.. the other behavior was getting annoying. This should slow down the abusive nature of alchemy. The exp settings and difficulty levels probably should be tuned better. Feel free. | |||
Show difference between Revision 1.78 and 1.79 | |||
Revision 1.78 | mwedel | 2003/01/08 02:39:18 | +6 -6 |
Bulk of this commit is to improve code for tiled maps - replace wall/blocks_magic/blocks_cleric, etc with get_map_flags which also does map tiling translation as needed. This should fix a lot of the bugs related to map tiling (there are sure to be more out there - all the get_map_ob still need to be checked). Other changes - many spells stopped progressing on spaces that blocked view - that is now removed - didn't make a lot of sense. Other fixes - some cleric spells (eg, word of recall) checked to see if magic was prohibited, didn't check to see if cleric was prohibited. Clean up some bugs in the lighting code that would cause erroneous results. Also, allow players to see immediately around them on outdoor maps no matter how dark the map really is - behaviour on indoor maps is the same. Lots of code reformatted, and lots of obsoleted/dead code removed. Add max range to dimension door. Fix magic map - got broken when the layer stuff was redone - was not showing proper colors. IT also works sensibly on tiled maps now - rather than display based on the map, it gives the player a 50x50 area centered on where the player is. Change fire_bow - move special player fire modes into own function - makes code much cleaner. Hopefully this fixes more bugs than it introduces. common/los.c, common/map.c, common/object.c, crossedit/Edit.c, include/libproto.h, include/sockproto.h, include/map.h, include/spellist.h, include/sproto.h, random_maps/treasure.c, random_maps/wall.c, server/attack.c, server/c_misc.c, server/c_wiz.c, server/disease.c, server/main.c, server/monster.c, server/pets.c, server/player.c, server/rune.c, server/shop.c, server/skill_util.c, server/skills.c, server/spell_effect.c, server/spell_util.c, server/time.c, socket/info.c: See note above server/apply.c: Limit number of times weapon can be enchanted so that it won't overflow item_power. Modify enchant armor to enchant as normal armor is enchanted, also only allows one item to be enchanted. MSW 2002-01-07 | |||
Show difference between Revision 1.77 and 1.78 | |||
Revision 1.77 | garbled | 2002/12/25 00:45:46 | +2 -0 |
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.76 and 1.77 | |||
Revision 1.76 | garbled | 2002/12/18 10:39:56 | +2 -0 |
Add new DM command "possess". This command allows a DM to possess the body of a monster. Also, fix a bug in the new implementation of summon_pet() | |||
Show difference between Revision 1.75 and 1.76 | |||
Revision 1.75 | garbled | 2002/12/08 22:37:03 | +1 -5 |
Argh.. cvs merged this for me.. and made a mess. | |||
Show difference between Revision 1.74 and 1.75 | |||
Revision 1.74 | garbled | 2002/12/08 22:03:39 | +7 -0 |
Header changes for the weather stuff. | |||
Show difference between Revision 1.73 and 1.74 | |||
Revision 1.73 | mwedel | 2002/12/03 01:40:10 | +19 -18 |
TODO: Move more items from my mailbox to the TODO list. common/living.c: Init item_power in player to zero in fix_player() - bogus results were getting generated as it just kept getting incremented. common/porting.c: fix remove_directory so it works properly - checking for . and .. entries too late, calling unlink instead of rmdir. include/sproto.h: rebuilt lib/animations, lib/archetypes, lib/bmaps, lib/bmaps.paths, lib/crossfire.0, lib/crossfire.1, lib/faces: Rebuilt - new archs added, catch is_thrown addition to thrown rock/boulder archs. server/c_move.c, server/c_range.c: Add another parameter to do_skill() - part, which is closest part of creature to target object - current only used for the throw code. Update calls to this function to add additional parameter. server/c_object.c: Remove the NDI_UNIQUE from the 'item is too heavy to pick up' so that it won't flood the client with them if players goes onto space with lots of objects. server/main.c: Minor cleanup to fix compiler warning about ambigous if/else. server/monster.c: Pass closest part of monster when having it use a skill so that it doesn't throw rocks into itself. Update calls to do_skill as described above. server/player.c: Cal delete_player() when player quits - this properly cleans up any per player unique maps they have. Also, check for any such maps currently in memory, and delete those so that unique maps don't get 'gifted' to the next character of the same name. Update calls to do_skill as described above. server/shop.c: Combine items of the same name together in the output of the shop listings. Include the number of items, remove special casing of some objects so that query_base_name is used for all item types. server/skill_util.c: Modify do_skill() to take additional param as described above. Also, have do_skill return 1 on success, 0 on failur to use skill, and not return exp - otherwise, monster code has no idea if skill was successfully used, as throw doesn't grant exp, and this caused monsters to move into the object they just threw. Update calls to do_skill as described above. server/skills.c: Clean up skill_throw function to return meaningfull value. Also, pass along extra part of closest monster part to target. Modify do_throw to return value, use closest part of body as origin point for thwon object. server/spell_effect.c: Use isqrt function instead of definining ISQRT that used float version. Cleans up compile warning - most likely not seen before as spell was #ifdef SPELL_ENCUMBERANCE out. server/time.c: Put sanity checking for players speed_left in move_player_mover() - got some reports of infinite negative speed on metalforge, and this is the only place in the code where I could see that happening given the description of the events. utils/arch2xml.py, utils/cfarches.xsl: New script (and template) by Todd Mitchell. Script can convert archs to xml, and the template is usuable with mozilla to look at the output. MSW 2002-12-02 | |||
Show difference between Revision 1.72 and 1.73 | |||
Revision 1.72 | garbled | 2002/11/26 19:51:04 | +1 -0 |
Add yet another table and function. plant_a_garden(). Allows for herb (and whatnot) growth on the map. | |||
Show difference between Revision 1.71 and 1.72 | |||
Revision 1.71 | garbled | 2002/11/26 02:33:12 | +0 -1 |
Nuke USE_CHECKSUM. Done in a way that will not blow up on older playerfiles with a checksum. This removes the function calculate_checksum. | |||
Show difference between Revision 1.70 and 1.71 | |||
Revision 1.70 | garbled | 2002/11/12 23:24:53 | +1 -0 |
#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.69 and 1.70 | |||
Revision 1.69 | garbled | 2002/11/08 02:45:26 | +3 -0 |
Move the weather defines into tod.h. Add a function pointer for the weather_effect command, so it can be called from ready_map. | |||
Show difference between Revision 1.68 and 1.69 | |||
Revision 1.68 | garbled | 2002/10/30 22:50:11 | +6 -0 |
Minor twiddlings and bugfixes throughout the weather code. Addition of rainfall accumulation data, and finally something for dynamiclevel 2: Snow. Yes, it now snows, melts, and oceans freeze into glaciers. Still imperfect, and I don't reccomend turning it on just yet, (at least for players). It's stable, it just makes a mess of the roads. | |||
Show difference between Revision 1.67 and 1.68 | |||
Revision 1.67 | garbled | 2002/10/29 04:24:52 | +2 -0 |
Hurray! Weather now works and functions. (still no game effect) This commit adds the compute_sky routine. This routine takes all of the conditions that make up the weather, and actually figures out what the real weather is. Also, if we are in fastclock mode, we write the skymap out occasionally, for debugging purposes. We never read the skymap, it is allways computed on the fly. Change the maps program to read the new skymap. | |||
Show difference between Revision 1.66 and 1.67 | |||
Revision 1.66 | garbled | 2002/10/29 03:00:41 | +2 -0 |
Add a routine to figure out which weathermap something is in, given it's x,y coordinates, and the name of the current map. Also add a function to compute the real temperature of a given weathermap location. This function takes the base temp, and applies wind and time to it. | |||
Show difference between Revision 1.65 and 1.66 | |||
Revision 1.65 | garbled | 2002/10/29 01:16:44 | +4 -0 |
Add prototypes for new stuff added in weather.c | |||
Show difference between Revision 1.64 and 1.65 | |||
Revision 1.64 | garbled | 2002/10/27 22:39:07 | +27 -0 |
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.63 and 1.64 | |||
Revision 1.63 | mwedel | 2002/09/28 02:19:39 | +4 -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.62 and 1.63 | |||
Revision 1.62 | mwedel | 2002/09/07 16:41:19 | +2 -1 |
include/sproto.h: rebuilt lib/help/killpets: New file lib/Makefile.in: Add help/killpets file. server/c_misc.c: Add command_kill_pets(). server/commands.c: add killpets command which kills your pets. server/monster.c: Add some code in check_enemy so that the enemy has to be a monster/generator/player to be considered valid - I was seeing things like arrows ending up as target enemies. MSW 2002-09-07 | |||
Show difference between Revision 1.61 and 1.62 | |||
Revision 1.61 | mwedel | 2002/09/01 01:32:30 | +1 -0 |
This change mostly deals with improving behaviour of pet monstes. Most of the code is from K. Reinert - however, I did some code cleanup/ fixes related to pet monsters, so it is difficult to note where each piece of code came from. One thing this does fix is handling of multipart pets - these now work properly. common/map.c: Update comment for get_rangevector() - no code change. common/object.c: Add get_search_arr() which is used in pet monster code. This returns a semi random scrambling of the freearr array. doc/Developers/protocol: Update documentation about map1a protocol command. include/libproto.h, include/sproto.h: rebuilt. server/attack.c: Have drain attacks return 1 damage so that it is clear that you are actually hitting your opponent. Otherwise, you would get messages that 'you missed xyz', even though you are draining it. This extra point of damage shouldn't change balance in any significant way. server/monster.c: Update hnadling of enemies for pet monsters. It should more intelligently choose the monsters and not switch/clear the enemy field for no reason anymore. Change find_nearest_living_creature to use the get_search_arr() to more randomly choose direction of target - before, there was a proclivity to always look in the north direction. Modify can_hit() to look for closes part of enemy - otherwise, monsters may not attack opponents even if they were right next to them because they couldn't get to the enemies head. Remove move_object from this function - merged with move_ob in move.c server/move.c: Fix move_ob to use 'cleaner' code of move_object, but also have specific features that move_ob had (player handling). Before move_ob didn't handle multipart objects correctly, and the two functions were largely the same. Now move_object() just calls move_ob - the only difference in the functions is that move_ob() takes 3 parameters instead of 2 of move_object() (added parameter is originator). I think this should now mean multipart player objects may now work. server/pets.c: get_pet_enemy enhanced to be much smarter about selecting/finding things for the pet to attack. server/player.c: Remove commented out line of init_beforeplay MSW 2002-08-31 | |||
Show difference between Revision 1.60 and 1.61 | |||
Revision 1.60 | mwedel | 2002/07/17 23:45:35 | +1 -0 |
Add dm command 'freeze' which freezes a player from doing anything for some amount of time. include/sproto.h: rebuilt. lib/Makefile.in: Add freeze to wizhelp files. lib/wizhelp/freeze: New file. server/c_wiz.c: Add command_freeze(). Also, break out get_other_player_from_name() - several functions need the same logic of getting a player named X that is not us - making it a function reduces the duplicate code. Fix some formatting for some functions. server/commands.c: Add command_freeze to the dispatch table. MSW 2002-07-17 | |||
Show difference between Revision 1.59 and 1.60 | |||
Revision 1.59 | mwedel | 2002/07/14 23:57:12 | +12 -8 |
-- 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.58 and 1.59 | |||
Revision 1.58 | mwedel | 2002/03/20 00:27:46 | +14 -17 |
Updates for 1.1.0 release - pretty much all minor bug fixes, like compiler warning messages, invalid ANSI C constructs, missing files to include in the distribution. Makefile.in, include/version.h: update version. include/Makefile.in: Add some missing files include/libproto.h, sproto.h: rebuilt to prevent compiler warnings lib/Makefile.in: Include the wizhelp files in the archive. server/apply.c, server/skill_util.c: fix invalid code (function parameter names can't match structs/typedefs), add a missing return value. server/c_move.c, server/c_new.c, server/c_object.c, server/commands.c, server/daemon.c: Don't include the sproto.h if CEXTRACT is defined. server/plugins.c: fix printf command that was printing wrong value type. doc/spoiler-html/Makefile.in: Remove extraneous newline | |||
Show difference between Revision 1.57 and 1.58 | |||
Revision 1.57 | avogl | 2002/03/03 14:05:58 | +2 -1 |
two fixes to my dragon-race code: - fixed stringcompares wich caused crashed with players that have race NULL. - forgot to commit "server/init.c" before, which resulted in function dragon_ability_gain() not to get bound, thus missing dragon ability gains. | |||
Show difference between Revision 1.56 and 1.57 | |||
Revision 1.56 | avogl | 2002/03/01 15:33:10 | +3 -0 |
As announced on cf-devel, this is the patch which adds a new dragon-race to Crossfire. Players of this dragon race can gain resistances by eating the flesh of their defeated foes. They can also specify in a certain resistance-type and gain various abilities when increasing levels. This "focus" can be switched by eating very special As announced on cf-devel, this is the patch which adds a new dragon-race to Crossfire. Players of this dragon race can gain resistances by eating the flesh of their defeated foes. They can also specify in a certain resistance-type and gain various abilities when increasing levels. This "focus" can be switched by eating very special flesh, which will be available for sale. Dragon players gain special titles which cannot be overwritten by manually set titles. Also see the dragon race description during the race selection process. Note that the quetzal has been slightly modified (picture and race) to prevent getting mixed up with the new dragon race. Please keep in mind that this is the first version of this dragon-race-code. Do not expect it to be perfectly balanced in all aspects. Player's opinions will provide some good feedback for further development I hope. --AndreasV | |||
Show difference between Revision 1.55 and 1.56 | |||
Revision 1.55 | jbontje | 2002/01/16 04:51:32 | +2 -0 |
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.54 and 1.55 | |||
Revision 1.54 | garbled | 2002/01/03 15:32:57 | +1 -0 |
Fix a few bugs in the overlay saves and loads. Add a new DM command overlay_save to force caving/creation of an overlay. | |||
Show difference between Revision 1.53 and 1.54 | |||
Revision 1.53 | garbled | 2002/01/02 00:53:23 | +1 -1 |
Backout of Anim25 patch by michtoen. It was causing server crashes, and is generally not useful in a non-iso crossfire. Discussed w/ mwedel. | |||
Show difference between Revision 1.52 and 1.53 | |||
Revision 1.52 | garbled | 2002/01/01 18:26:28 | +2 -0 |
Clean up some missing prototypes, protect tod.h against multiple inclusion, and generally make -Wmissing-prototypes happier. | |||
Show difference between Revision 1.51 and 1.52 | |||
Revision 1.51 | garbled | 2002/01/01 17:37:54 | +3 -0 |
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 | garbled | 2001/12/18 02:58:03 | +3 -0 |
Lots of changes here. Basically implement a night and day system, as well as tracking of game time. A clockdata file is now created and updated by the server to increment time. Time increases by 1 hour, approximately every 2 minutes of real time. Right now this code has virtually no effect, but as maps are updated with outdoor settings, nightfall will occur automatically. The time command has been modified to show the current game time, and the clock objects have been changed to show the game time as well. garbled 2001-12-18 | |||
Show difference between Revision 1.49 and 1.50 | |||
Revision 1.49 | michtoen | 2001/11/27 22:44:42 | +1 -1 |
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.48 and 1.49 | |||
Revision 1.48 | michtoen | 2001/11/26 11:52:26 | +1 -1 |
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/11 19:09:39 | +1 -0 |
fix some bugs in plugin.c . - I give all functions with a return definition a return cmd- - Refix an old bug - someone recommit it from local copy - don't forget to update sproto.h when you insert new functions in the modules | |||
Show difference between Revision 1.46 and 1.47 | |||
Revision 1.46 | tchize | 2001/11/11 06:37:10 | +10 -0 |
server/plugins.c: adding new hooks to handle the animation of an object to clone an object a wrapper to apply_below command a wrapper to teleport object a wrapper to communicate Their purpose is to prepare the arrival of plugin_animator | |||
Show difference between Revision 1.45 and 1.46 | |||
Revision 1.45 | gros | 2001/11/11 03:39:53 | +9 -1 |
Some bugfixes, new timer system, support for custom plugins commands, new plugin hooks - Gros 11/11/01 | |||
Show difference between Revision 1.44 and 1.45 | |||
Revision 1.44 | gros | 2001/10/21 04:07:12 | +12 -0 |
Some plugins improvements and bugfixes - Chachkoff Y. 10/21/01 | |||
Show difference between Revision 1.43 and 1.44 | |||
Revision 1.43 | gros | 2001/10/14 04:29:01 | +9 -1 |
Major upgrade: Plugin support and Guile Removal - Gros 10/14/01 | |||
Show difference between Revision 1.42 and 1.43 | |||
Revision 1.42 | gros | 2001/10/14 02:57:14 | +51 -565 |
Major changes: Added dynamic plugin support, removed old Guile support. - Gros 10/14/01 | |||
Show difference between Revision 1.41 and 1.42 | |||
Revision 1.41 | garbled | 2001/10/07 02:12:40 | +0 -4 |
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.40 and 1.41 | |||
Revision 1.40 | garbled | 2001/09/27 14:37:39 | +54 -0 |
Add a new command category called communications commands. Place tell, shout and say in here. Also create emotion functions. These functions have no real effect on the game, but make communications between players more colorful and fun. They are mostly fluff. Included with this patch are two new convenience functions, new_info_map_except, and new_info_map_except2, which allow the programmer to write to an entire map, except for certain individuals. Tested by myself, mids, and gros, with thanks to them for fixing something I didn't catch. garbled 2001-09-27 | |||
Show difference between Revision 1.39 and 1.40 | |||
Revision 1.39 | garbled | 2001/09/26 16:40:38 | +4 -0 |
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.38 and 1.39 | |||
Revision 1.38 | mwedel | 2001/08/21 00:39:30 | +12 -12 |
Enhancements to make monsters 'do the right thing' with relation to tiled maps (ie, will detect players and attack them if on an adjoining tiled maps). This involved a rewrite of path_to_player - I've tested this out, and if anything, it seems that monsters may be more aggressive on spellcasting. ++ common/map.c: blocked modify to make sure it is checking valid coordinate value. blocked_link,blocked_two modified to translate for tiled maps. Add load_and_link_tiled_map which loads a tiled map and links in all pointers relative to adjoining maps. out_of_map modified to use this function instead of doing the work itself. Add get_rangevector function that returns offset, direction, and distance between two objects, taking into account tiled maps. get_rangevector_from_mapcoord added which is similar to get_rangevector, but takes a map and coordinates instead of a second object. on_same_map function added which returns true if the two objects are on the same logical (ie tiled) maps. doc/crossfire.doc: Add note about what Int does for monsters. include/map.h: Add some comments, and add structure for rangevector function return values. server/attack.c: add calls to on_same_map instead of doing op->map comparisons. server/monster.c: Many functions modified to properly handle tiled maps properly. server/pets.c: get_pet_enemy modified to know about tiled maps. server/player.c: get_nearest_player modified to know about tiled maps. path_to_player rewritten to know about tiled maps - I think some other bugs were also fixed in return values. Split player_attack_door from move_player attack to keep functions a more reasonable size. move_player_attack, player_can_view modified to know about tiled maps. server/skills.c: can detect_enemy modified to take another parameter - call in steal updated to pass this parameter. server/spell_util.c: ok_to_put_more, can_see_monsterP modified to handle tiled maps properly. socket/item.c: look_at modified to return proper results when player looks at something on an adjoining tiled map. ++ End of checkin | |||
Show difference between Revision 1.37 and 1.38 | |||
Revision 1.37 | mwedel | 2001/07/13 23:06:50 | +1226 -675 |
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.36 and 1.37 | |||
Revision 1.36 | michtoen | 2001/06/13 07:52:07 | +0 -0 |
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.35 and 1.36 | |||
Revision 1.35 | michtoen | 2001/06/13 05:50:48 | +29 -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.34 and 1.35 | |||
Revision 1.34 | mwedel | 2001/05/09 01:58:12 | +2 -1 |
Various improvements to make finding memory leaks easier. common/anim.c: Add free_all_anim function common/arch.c: Modify free_all_arch to free more data common/init.c: If running under MEMORY_DEBUG, don't pre-allocate objects. common/map.c: Add free_all_maps functiion. common/object.c: Modify object allocations if using MEMORY_DEBUG to only malloc one object at a time, and not pre-allocate objects. common/readable.c: Fix memory leak. common/shstr.c: Include autoconf.h so it can pull in dmalloc.h file. include/config.h: Remove notes of what was removed a long time ago. Add MEMORY_DEBUG option. include/libproto.h, include/sockproto.h, include/sproto.h: automatic rebuild server/c_misc.c: Fix 'malloc info command so it reports right memory total for maps. Add command_style_map_info which sums up memory used by style maps. server/commands.c: Add style_info wiz command which dumps memory usage for style maps. server/init.c: Have sighup handler call cleanup function. server/main.c: Fix clean_tmp_files which could result in crash if one of the maps in memory has 0 reset time. Modify cleanup function to free more data. server/player.c: op_on_battleground: Fix compile warning about unuused variable. socket/init.c: Change name of free_all_ericserver to free_all_newserver, have it free all face data. MSW 2001-05-08 | |||
Show difference between Revision 1.33 and 1.34 | |||
Revision 1.33 | mwedel | 2001/04/09 01:59:46 | +0 -2 |
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.32 and 1.33 | |||
Revision 1.32 | michtoen | 2001/04/08 19:57:33 | +2 -0 |
add skill exp | |||
Show difference between Revision 1.31 and 1.32 | |||
Revision 1.31 | mwedel | 2001/03/30 01:52:24 | +2 -2 |
include/sproto.h, server/c_wiz.c server/main.c server/player.c socket/loop.c: Modify leave function to take a second parameter that determines if it should print a message about the player leaving the game or not. Proper use of this prevents duplicate XXX left the game messages. MSW 2001-03-29 | |||
Show difference between Revision 1.30 and 1.31 | |||
Revision 1.30 | mwedel | 2001/03/16 23:03:08 | +2 -1 |
MSW 2001/03/16: Change code so that if player dies and loading the players savebed map does not work, return player to EMERGENCY_MAPPATH instead. New function added to server/main.c called enter_player_savebed which does the work, Files changed: include/sproto.h server/main.c server/player.c server/spell_effect.c (comment added) Unrelated change: Remove messages about multiple resist types set. Files changed: common/loader.l common/loader.c | |||
Show difference between Revision 1.29 and 1.30 | |||
Revision 1.29 | mwedel | 2001/02/26 21:41:25 | +2 -5 |
MSW 2001/02/25: General player login cleanup. This should fix the crash when players re-roll stats too often. So far, it also seems to have the additional effect that calculated players on map now appears to be correct. common/player.c: No longer allocate the player object structure in get_player_ob (function is really misnamed). Callers to this function were not using the allocated function. server/login.c: Add leave_map call when player is loaded. server/main.c: Add leave_map function. server/player.c: Move get_player function to start of file - can declare it static that way. Move some initialize from add_player to get_player. Add set_first_map function. Add appropriate calls to leave_map and set_first_map when players join and leaves the game. | |||
Show difference between Revision 1.28 and 1.29 | |||
Revision 1.28 | cvs | 2001/02/11 03:12:13 | +4 -1 |
MSW 2001/01/11: Other than various general cleanups, the main change this code does is that style maps (for random maps) get loaded special now - they objects they contain are not put on the active list, and they use a private map list so they do not appear in the output of the 'maps command. common/arch.c, common/treasure.c,server/login.c: Update calls to load_object common/loaderl.l,loader.c: Update lex_load to take an optional flags option. This is currently only used so that the loader can decide if it should call update_ob_speedto put objects on the active list or not. Calls to lex_load updated. load_object modified to take another option common.map.c: remove PROCESS_WHILE_LOADING and CHECK_ACTIVE_MAPS ifdefs. update calls to load_object. Remove some dead code. include/config.h: Remove CHECK_ACTIVE_MAPS and PROCESS_WHILE_LOADING flags. Those options did not work, and in all likelihood, this would be done via threading now days and not what code was there. include/libproto.h, sproto.h: updated or various function changes. include/map.h: Add MAP_STYLE flag. random_maps/exit.c: Call set_map_timeout after we load the final map so it will get swapped out. random_maps/standalone.c: Add dummy set_map_timeout function so it compiles. random_maps/style.c: Add load_style_map function which does the job of actually checking to see if a style map is in memory, and if not, loads it up. Updates the pointers so it appears on a map style map list and not the general map list. server/main.c: create set_map_timeout function that deals with setting the map timeouts. Fix bug so server doesn't crash if two players kill each other on hall of selection. server/monster.c remove dead code. socket/loop.c: If realloc fails, catch it and exit with meaningful error message. End of MSW 2001/02/11 checkin. | |||
Show difference between Revision 1.27 and 1.28 | |||
Revision 1.27 | cvs | 2001/01/31 01:54:51 | +34 -40 |
MSW 2001/01/30: Complete rewrite of the exit handling code. Hopefully as an effect, this will fix the player appearing in the middle of the oceans. I think the code should also work better in many other areas. Main enhancements is a 3x3 area for pets to follow player to new map, as well as golems now following players to the new maps. include/sproto.h, random_maps/rproto.h - rebuilt. random_maps/random_map.c: Change generate_random_map to take a structure with the random map paremeters. random_maps/reader.l, reader.c: Add set_random_map_variable function that reads the map parameters from a char buffer. Also, remove some leftover comments that were from the common/loader.l file. random_maps/rogue_layout.c: Change some functions to be static so make proto doesn't collect them. random_maps/standalone.c: Add opening of parms file into main function since it ws removed from the random_map.c file. server/apply.c: Don't display the message of random maps to the players as they enter them, as this message is random map parameters, and not a real message. server/login.c: #if 0 out using of the player loading element in the structure. this isn't used right now. server/main.c: Bulk of the changes. main changes are to break apart the old enter_exit function into smaller functions that more logically do the needed function (random maps, unique maps, and transferring the player to the new map). random map code now passes the parameters via structure instead of file in /tmp. Code is much more understandable now and hopefully bugfree. server/pets.c: minor changes/bugfixes. Search full SIZEOFFREE array, use real owner variable when print out messages. server/player.c: Remove usage of the loading variable in the player structure. End of MSW 2001/01/30 checking. | |||
Show difference between Revision 1.26 and 1.27 | |||
Revision 1.26 | cvs | 2000/12/27 01:53:33 | +8 -2 |
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.25 and 1.26 | |||
Revision 1.25 | avogl | 2000/12/15 09:37:44 | +1 -1 |
Patch for spell/missile reflecting: function reflwall() changed | |||
Show difference between Revision 1.24 and 1.25 | |||
Revision 1.24 | cvs | 2000/12/03 18:40:04 | +3 -2 |
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.23 and 1.24 | |||
Revision 1.23 | cvs | 2000/11/25 19:54:40 | +19 -17 |
MSW 2000/11/25: configure.in, configure, include/autoconf.h.in, server/main.c: Update to check for libdes.a and des.h and use those for password decryption - fixes a problem on freebsd if it is using md5 crypt. Hopefully it doesn't break anything. include/sproto.h: Needed updating. Unrelated to above changes. | |||
Show difference between Revision 1.22 and 1.23 | |||
Revision 1.22 | peterm | 2000/11/19 18:59:09 | +4 -0 |
New spells added: conflict vitriol ironwood skin. | |||
Show difference between Revision 1.21 and 1.22 | |||
Revision 1.21 | peterm | 2000/11/19 01:34:46 | +1 -0 |
peterm: Implementation of: 1) sanctuary 2) holy rage 3) peace 4) forked lightning 5) flaming aura 6) spiderweb | |||
Show difference between Revision 1.20 and 1.21 | |||
Revision 1.20 | peterm | 2000/11/17 21:32:34 | +3 -1 |
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.19 and 1.20 | |||
Revision 1.19 | peterm | 2000/11/17 05:16:45 | +1 -1 |
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.18 and 1.19 | |||
Revision 1.18 | avogl | 2000/11/08 14:15:41 | +1 -0 |
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.17 and 1.18 | |||
Revision 1.17 | jec | 2000/11/06 17:06:47 | +5 -5 |
* stop_item() / attack fix patch 2000-11-06 | |||
Show difference between Revision 1.16 and 1.17 | |||
Revision 1.16 | jec | 2000/10/30 16:09:59 | +0 -1 |
include/sproto.h: Removed prototype of obsolete make_gravestone() function. server/apply.c: Put back gravestone_text() function that was removed accidently a while ago, needed by NOT_PERMADEATH. server/player.c: Don't use the dead player as the originator of object movements. Fixed string handling for NOT_PERMADEATH. | |||
Show difference between Revision 1.15 and 1.16 | |||
Revision 1.15 | peterm | 2000/10/16 14:26:38 | +3 -1 |
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.14 and 1.15 | |||
Revision 1.14 | cvs | 2000/06/08 19:21:25 | +1 -1 |
Contributed code for disease fixes. | |||
Show difference between Revision 1.13 and 1.14 | |||
Revision 1.13 | jec | 2000/05/26 04:50:47 | +11 -9 |
* apply() cleanup patch 26/5/2000 | |||
Show difference between Revision 1.12 and 1.13 | |||
Revision 1.12 | cvs | 2000/04/27 02:34:56 | +3 -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.11 and 1.12 | |||
Revision 1.11 | cvs | 2000/04/22 02:16:40 | +6 -5 |
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.10 and 1.11 | |||
Revision 1.10 | jec | 2000/04/19 06:46:42 | +1 -1 |
See CHANGES file. | |||
Show difference between Revision 1.9 and 1.10 | |||
Revision 1.9 | jec | 2000/04/17 09:18:13 | +3 -2 |
See CHANGES file. | |||
Show difference between Revision 1.8 and 1.9 | |||
Revision 1.8 | cvs | 2000/04/04 23:44:27 | +5 -3 |
Updated for changes to fire_swarm() arguments. Mark wedel 4/4/2000 | |||
Show difference between Revision 1.7 and 1.8 | |||
Revision 1.7 | cvs | 2000/03/11 00:53:11 | +6 -4 |
Split off kill_player function from do some living, and check for player death upon player login. This splits up an otherwise very large function, but more importantly, the second point allows NOT_PERMADEATH to work as expected when the player is dead when logged out. Previous, the if the player was dead when they logged out, it would just kill off the character permanently (without grave marker or anything), even in NOT_PERMADEATH mode. Also, cleaned up player load code to remove code that supported very old style save files. Files changed: server/login.c server/player.c include/sproto.h - msw | |||
Show difference between Revision 1.6 and 1.7 | |||
Revision 1.6 | damn | 1999/09/17 18:42:47 | +0 -1 |
Removed leftover prototype for staff_to_snake -- DAMN | |||
Show difference between Revision 1.5 and 1.6 | |||
Revision 1.5 | damn | 1999/09/17 14:33:10 | +2 -0 |
- added animate_weapon and pay_from_container prototypes --DAMN | |||
Show difference between Revision 1.4 and 1.5 | |||
Revision 1.4 | damn | 1999/08/18 15:52:17 | +1 -0 |
Need prototype for FindKey here so that it can be used in apply.c as well as player.c | |||
Show difference between Revision 1.3 and 1.4 | |||
Revision 1.3 | cvs | 1999/08/06 16:29:53 | +1 -1 |
patches from DAMN for various things: This one makes a couple things level dependent that used to be fixed: 1) time it takes Word of Recall to take effect 2) amount of energy transferred by Transferrence spell 3) percentage of energy drained by Magic Drain spell Also, the following effects have been modified: 1) Followers of a cult that considers undead enemies have a penalty to Command Undead. 2) Magic Drain gives back to the caster a small portion of the energy drained from the victim. And a bug was fixed: 1) SP_level_dam_adjust used and SP_level_strength_adjust used the player's level, where they should have used the caster's level. | |||
Show difference between Revision 1.2 and 1.3 | |||
Revision 1.2 | uid200 | 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.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 |