Protocol: | pserver | User: | anonymous |
Machine: | crossfire.cvs.sourceforge.net | CVSROOT: | /cvsroot/crossfire |
Filename: time.c | |||
Revision 1.93 | qal21 | 2006/08/25 22:30:15 | +8 -6 |
Make generators work properly with multi-tile objects. | |||
Show difference between Revision 1.92 and 1.93 | |||
Revision 1.92 | ryo_saeba | 2006/08/19 15:22:21 | +2 -1 |
Fix for bug #1460251 (Big monsters generated by generators broken). Tweaks to object dumping. | |||
Show difference between Revision 1.91 and 1.92 | |||
Revision 1.91 | ryo_saeba | 2006/07/28 16:13:14 | +6 -1 |
Fix duplicator-related crash | |||
Show difference between Revision 1.90 and 1.91 | |||
Revision 1.90 | tchize | 2006/07/02 10:32:35 | +3 -3 |
more progress in unit testing, marked points of interrest in code | |||
Show difference between Revision 1.89 and 1.90 | |||
Revision 1.89 | ryo_saeba | 2006/05/05 04:26:36 | +12 -12 |
First part of patch #1453869 courtesy Stefan Huehner (shuehner) | |||
Show difference between Revision 1.88 and 1.89 | |||
Revision 1.88 | tchize | 2006/04/06 16:18:36 | +2 -2 |
finished common/arch.c unit test, fixed a few bugs, moved function around and renamed other | |||
Show difference between Revision 1.87 and 1.88 | |||
Revision 1.87 | ryo_saeba | 2006/03/18 09:05:37 | +36 -33 |
Massive cleaning of code. Shouldn't be any functional change. | |||
Show difference between Revision 1.86 and 1.87 | |||
Revision 1.86 | mwedel | 2006/02/07 01:54:46 | +10 -1 |
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.85 and 1.86 | |||
Revision 1.85 | mwedel | 2006/02/04 21:56:58 | +48 -46 |
No code change - just cleaning up the formatting of move_marker() - indentation was all wacky. MSW 2006-02-04 | |||
Show difference between Revision 1.84 and 1.85 | |||
Revision 1.84 | akirschbaum | 2006/01/07 08:30:07 | +6 -6 |
Make teleporters hidden below the floor work again. | |||
Show difference between Revision 1.83 and 1.84 | |||
Revision 1.83 | akirschbaum | 2005/12/10 08:27:10 | +10 -5 |
common/object.c, server/{pets.c,player.c,spell_attack.c,time.c}, socket/request.c: Properly check for P_OUT_OF_MAP after calling get_map_flags(). | |||
Show difference between Revision 1.82 and 1.83 | |||
Revision 1.82 | akirschbaum | 2005/12/05 16:58:35 | +42 -36 |
Fix bug #1173563 (Creator created Bombs malfunction): Creators and Converters now copy items from inventory. Fallback (for empty inventory) is the old behavior to create the new item from other_arch. If the inventory contains more than one item, a random one is picked. | |||
Show difference between Revision 1.81 and 1.82 | |||
Revision 1.81 | mwedel | 2005/12/01 02:25:45 | +3 -2 |
server/spell_attack.c: Add some missing P_IS_ALIVE checks - these weren't needed in the past because living objects would block movement - with new movement code, isn't always the case. server/time.c: Fix player movers so that if the victim doesn't have any movement type, we move it. MSW 2005-11-30 | |||
Show difference between Revision 1.80 and 1.81 | |||
Revision 1.80 | akirschbaum | 2005/11/30 14:59:09 | +3 -3 |
common/time.c: In move_teleporter() and move_player_mover() do not affect DMs if FLAG_WIZPASS is set. common/object.c: In check_move_on() do not affect DMs if FLAG_WIZPASS is set. This prevents DMs from triggering traps when walking over them. | |||
Show difference between Revision 1.79 and 1.80 | |||
Revision 1.79 | mwedel | 2005/11/16 02:16:09 | +57 -48 |
Commit for new blocking code. Not going to dictate all the changes - but will outline the broad points. Note also that the doc/Developers/objects is updated and goes into more details also. - check for P_WALL no longer used - instead, need to use GET_MAP_MOVE_BLCOK and check against movement type of objects. - arch_blocked() changed to ob_blocked(), now takes object. Needed because just looking at archetype move_ values is no longer sufficient. - find_first_free_spot() changed to take object, since it just calls arch_blocked() - FLAG_FLYING removed, now in move type. - walk_on/walk_off/fly_on/fly_off removed - now based on move_on and move_off fields. - Map space structure extended to hold the move_on/move_off, etc values so that we can shortcut some processing by not having to check every object on the space when something enters it if move_on isn't set. - archetypes recollected - boulders needed move_walk to properly trigger buttons. - Note that the new plugin code has to be fixed up for the new movement code. Look for FIXME in plugins/cfpython/cfpython_object.c MSW 2005-11-15 | |||
Show difference between Revision 1.78 and 1.79 | |||
Revision 1.78 | akirschbaum | 2005/10/28 18:43:31 | +6 -3 |
Prevent problems (crashes) for large item piles. Now limit nrof to less than 2^31. | |||
Show difference between Revision 1.77 and 1.78 | |||
Revision 1.77 | gros | 2005/10/18 11:54:31 | +19 -170 |
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.76 and 1.77 | |||
Revision 1.76 | akirschbaum | 2005/10/07 14:38:50 | +4 -4 |
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.75 and 1.76 | |||
Revision 1.75 | akirschbaum | 2005/10/07 12:54:48 | +2 -2 |
common/{arch.c, object.c}, crossedit/{Attr.c, Defines.h, Edit.c}, include/libproto.h, server/{plugins.c, time.c}: Rename functions with mixed-case names to lower case only. crossedit/Defines.h: Remove prototypes for nonexisting functions. | |||
Show difference between Revision 1.74 and 1.75 | |||
Revision 1.74 | ryo_saeba | 2005/09/25 13:36:02 | +5 -3 |
Changed quest system, needs tweaks and fixes. | |||
Show difference between Revision 1.73 and 1.74 | |||
Revision 1.73 | qal21 | 2005/09/15 20:02:06 | +3 -1 |
Allow directors/movers to specify a specific arch/name/race. | |||
Show difference between Revision 1.72 and 1.73 | |||
Revision 1.72 | ryo_saeba | 2005/08/12 08:46:34 | +13 -13 |
Fields changed from char* to const char*, cleanup. | |||
Show difference between Revision 1.71 and 1.72 | |||
Revision 1.71 | ryo_saeba | 2005/07/19 15:59:35 | +2 -2 |
Don't hardcode values. Fix item transformer code. | |||
Show difference between Revision 1.70 and 1.71 | |||
Revision 1.70 | akirschbaum | 2005/07/16 16:10:40 | +2 -2 |
Fix spelling errors in string constants. | |||
Show difference between Revision 1.69 and 1.70 | |||
Revision 1.69 | ryo_saeba | 2005/07/14 11:21:34 | +5 -2 |
Quest handling | |||
Show difference between Revision 1.68 and 1.69 | |||
Revision 1.68 | akirschbaum | 2005/03/06 14:38:55 | +2 -2 |
common/{map.c, readable.c, treasure.c}, crossedit/Attr.c, server/{apply.c, attack.c, c_wiz.c, init.c, monster.c, pets.c, shop.c, skill_util.c, skills.c, spell_attack.c, spell_effect.c, time.c}, socket/{info.c, request.c}: Add missing newline character to LOG() messages. | |||
Show difference between Revision 1.67 and 1.68 | |||
Revision 1.67 | akirschbaum | 2005/02/20 14:43:16 | +19 -7 |
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.66 and 1.67 | |||
Revision 1.66 | mwedel | 2005/01/12 02:04:02 | +2 -2 |
aclocal.m4, configure: Add check for python 2.4. common/re-cmp.c: Fix improper comparison *(str+1) instead of str+1 server/login.c: don't allow null names. server/main.c: Disable logging of removed objects - filling up log files on archmage of all the errors. server/player.c: Fix improper initialization of attacktype in for loop. Give players max grace, sp when they die - also, if they are near starvation, give them a bunch of food. server/spell_effect.c: Put cap on duration of godly retribution - it can otherwise last so long that if a player is killed by it at their savebed location, spell could still go on after players temporary immunity ends. Retribution as increases in damage, so no need to really increase damage and duration to really high amounts. server/spell_util.c: In fire_arch_from_position(), and check that player isn't casting spell on top of wall - fixes for many spells, including ball lightning. server/time.c: Change comparsion on return of get_map_flags() from == P_OUT_OF_MAP to & P_OUT_OF_MAP - keeps syntax consistent. MSW 2005-01-11 | |||
Show difference between Revision 1.65 and 1.66 | |||
Revision 1.65 | mwedel | 2004/12/29 02:45:10 | +55 -21 |
common/regexp.c: Fixed couple flaws in regexp handling. First, there was an off by one error in the handling of matches (if the match was for example eureca, player could just say eurec, and it would treat that as a valid match). Second case was that the regular expression logic would not try comparing the rest of the passed in string after a partial match - In the eureca case above, if the passed in string was 'where is eureca', after matching the first e (in where), it then fails to match the to prevent unpaid objects from teleporting out of the shop. Also extend code so that non living objects can't use shop mats. server/player.c: Insert force into the player when they die making them immune to any spells on the space they reappear on - this prevents multiple deaths if there is large spell effect going on in the savebed location. Duration of force should be long enough for most spells to run their course, but no so long that the player can use it for much of an advantage (plus, killing yourself to get such an advantage seems odd, and the force only makes the player immune to the attacktypes currently on the space) server/spell_effect.c: Fix spell casting walls (lighting wall, firewall, etc) in that the spell object they cast was not being inserted, resulting in the walls not doing anything. MSW 2004-12-28 Applied patch (bug misc/zoo2) by Lalo server/time.c: creators can now create multi part objects. Applied patch 1086102 by Salathar: server/attack.c: If player kills another player, add (pk) to the death message. Applied patch 1086103 by Salathar: server/move.c: If player pushes another player, send message to both players that pushed happened. Previously, when pushing another player, the pusher wouldn't get any notice. MSW 2004-12-28 | |||
Show difference between Revision 1.64 and 1.65 | |||
Revision 1.64 | mwedel | 2004/12/28 19:08:50 | +12 -2 |
Applied patch 1001079 - make alchemy books say what skill & equipment is needed - by Kevin Rudat. common/readable.c: Update code that generates book title, contents to denote what skill and equipment is needed. random_maps/{random_map.c, random_map.h, reader.l, reader.c, standalone.c}, server/main.c: Remove generate_treasure_now as an option for random maps - none are using delayed treasure, and IMO, if someone did, it would horribly break things, so it should never be used - given that, no reason to leave the code there. server/main.c: Add additional debugging for process events on removed objects - trying to track down occasional disease crash. server/time.c: Fix crash in move_player_mover() - it was never map tile aware, but even more so, appears to have always been broken if the player move tried to push the player off the edge of a map. Check for out of map condition, as well as make it map tile aware. MSW 2004-12-28 | |||
Show difference between Revision 1.63 and 1.64 | |||
Revision 1.63 | mwedel | 2004/06/23 00:49:07 | +13 -2 |
server/skill_util.c: Fix skills command so that it properly displays percentage of permanent exp. server/time.c: Modify move_arrow() so that it removes thrown objects with no inventory. MSW 2004-06-22 | |||
Show difference between Revision 1.62 and 1.63 | |||
Revision 1.62 | mwedel | 2004/05/14 00:55:56 | +61 -66 |
Clean up the formatting of move_teleporter() - no code changes. MSW 2004-05-13 | |||
Show difference between Revision 1.61 and 1.62 | |||
Revision 1.61 | temitchell | 2004/04/09 22:18:54 | +2 -2 |
- add patch to stop pets from multiplying (good idea thanks David McIlwraith) | |||
Show difference between Revision 1.60 and 1.61 | |||
Revision 1.60 | ryo_saeba | 2004/02/27 17:00:28 | +3 -3 |
Some warnings cleaning. | |||
Show difference between Revision 1.59 and 1.60 | |||
Revision 1.59 | mwedel | 2003/09/28 23:02:43 | +48 -45 |
server/time.c: Real change is to add a missing call to fix_player - without this new players would be getting messed up maxsp/maxgrace values. Cleaned up formatting in move_player_changer() while doing the other change. MSW 2003-09-28 | |||
Show difference between Revision 1.58 and 1.59 | |||
Revision 1.58 | mwedel | 2003/09/13 00:02:13 | +226 -263 |
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.57 and 1.58 | |||
Revision 1.57 | temitchell | 2003/09/04 01:25:32 | +2 -2 |
- add new type TRAP, make initial seperations from RUNE in code add in traps triggering stuff if they are detonated | |||
Show difference between Revision 1.56 and 1.57 | |||
Revision 1.56 | tchize | 2003/09/03 07:25:06 | +54 -5 |
generator may now use their inventory as a basis to generated items instead of the other_arch field. Will allow more fine tuned generators | |||
Show difference between Revision 1.55 and 1.56 | |||
Revision 1.55 | gros | 2003/06/26 06:27:43 | +38 -34 |
Re-implemented the event hooks in objects as a dynamically linked list, instead of a static table. | |||
Show difference between Revision 1.54 and 1.55 | |||
Revision 1.54 | mwedel | 2003/03/20 01:21:05 | +6 -2 |
server/attack.c: Change did_make_save to strip out magic attacktype when making saves for objects - otherwise, things like poison cloud destroy objects. server/time.c: deal with player animations special in process_object - need to pass in the facing value, and not direction, since direction gets reset. MSW 2003-03-19 | |||
Show difference between Revision 1.53 and 1.54 | |||
Revision 1.53 | mwedel | 2003/03/19 02:09:59 | +2 -2 |
crossedit/Attr.c, server/main.c, server/time.c: Update calls to animate_object() MSW 2003-03-18 | |||
Show difference between Revision 1.52 and 1.53 | |||
Revision 1.52 | mwedel | 2003/02/03 01:23:48 | +40 -29 |
More bugfixes: include/shop.h: remove _SHOP_H after endif, causing compiler warnings. include/skills.h: Add check to USING_SKILL to make sure chosen_skill is not null. server/c_chat.c: Add some missing return values, resulting in compiler warnings. server/skill_util.c: Remove unused variable. compiler warnings again. server/spell_effect.c: Change dimension door so that you can't go through spaces that block passsage and also block view (eg walls). This goes back to the more traditional behaviour. Remove some unused variables. server/spell_util.c: Add missing P_OUT_OF_MAP to move_missile, resulting in crashes. server/time.c: if generator is not on a map, don't have it generates. Fixes crashes. MSW 2003-02-02 | |||
Show difference between Revision 1.51 and 1.52 | |||
Revision 1.51 | garbled | 2003/01/16 22:38:35 | +25 -1 |
Add a duplicator/multiplier/destroyer object type. This will duplicate a specific arch when triggered, and that arch is on top of the duplicator. It will multiply the number of items in the pile, by the level of the duplicator. If the duplicator is set to level 0, it will destroy the object. | |||
Show difference between Revision 1.50 and 1.51 | |||
Revision 1.50 | mwedel | 2003/01/08 02:39:21 | +86 -73 |
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.49 and 1.50 | |||
Revision 1.49 | garbled | 2003/01/07 03:39:15 | +3 -1 |
Add code for lanterns. These lanterns can be turned on and off. This should make nighttime in the bigworld a bit easier to handle. | |||
Show difference between Revision 1.48 and 1.49 | |||
Revision 1.48 | mwedel | 2002/12/31 01:19:08 | +3 -3 |
server/time.c: Fix bad code in stop_arrow that caused crashes/improper freeing of data. MSW 2002-12-30 | |||
Show difference between Revision 1.47 and 1.48 | |||
Revision 1.47 | garbled | 2002/12/25 00:45:46 | +12 -1 |
New Arrow and Pet Code: Add bowmode and petmode commands. Allowing the player to change the firing style for bows to one of either threewide, or spreadshot. Allow players to change the operating modes of his pet with petmode. Can be either seek and destroy, defend, or normal historical behavior. Change bows to impart speed to arrows based on damage and other magical plusses. Damage decays over distance, to stop arrows from flying forever. Very fast moving arrows will pierce multiple targets. An arrow moving at a speed greater than 10.0 will go straight through a target, losing 1.0 of speed in the process. Change magic missile to use spell_find_dir instead of find_dir to stop it from flying in a circle and hitting the caster, and to make it stop flying into walls to hit creatures behind the walls. | |||
Show difference between Revision 1.46 and 1.47 | |||
Revision 1.46 | garbled | 2002/12/12 23:09:49 | +10 -1 |
Fix a typo in the attacktype bow->arrow transfer. Make it so gods can now bless bows like they would any other weapon. Make slaying transfer fom the bow to the arrow, so the god enchantment is not lost. | |||
Show difference between Revision 1.45 and 1.46 | |||
Revision 1.45 | garbled | 2002/12/12 15:52:52 | +3 -1 |
Fix the fact that bows do not impart thier attacktype to arrows fired. | |||
Show difference between Revision 1.44 and 1.45 | |||
Revision 1.44 | mwedel | 2002/12/03 01:40:18 | +11 -2 |
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.43 and 1.44 | |||
Revision 1.43 | garbled | 2002/11/26 02:48:20 | +1 -13 |
Get rid of #ifdef PLUGINS (it is on by default, I didn't take out gros's code) | |||
Show difference between Revision 1.42 and 1.43 | |||
Revision 1.42 | mwedel | 2002/08/13 23:31:07 | +3 -1 |
server/time.c: Possible fix for bug seen on metalforge - in move_player_mover, make sure we are working with the head of the monster. MSW 2002-08-13 | |||
Show difference between Revision 1.41 and 1.42 | |||
Revision 1.41 | mwedel | 2002/07/14 23:25:40 | +3 -3 |
Update banner copyright with proper contact information. MSW 2002-07-14 | |||
Show difference between Revision 1.40 and 1.41 | |||
Revision 1.40 | 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.39 and 1.40 | |||
Revision 1.39 | michtoen | 2001/11/27 22:44:42 | +2 -2 |
Anim25 Patch This patch do this things mainly: - include same animation sheme for players and monster again - introduce guard/walk/fight animation in 8 direction - direct action: monster change from guard/walk animation when they get attacked and fall back to walk or guard when the enemy is gone - Monster do "intelligent" animation -> facing enemy -> turn and run when scared - fixed some animation flaws which invokes late anim update (monster moves first and hold one frame old facing) - Include real time player animation! -> player starts moving animation when player moves -> fall back to guard anim when player do nothing -> plays fight anim when hit some Hope i got all. This patch is much not so hard as it sounds. Most of these features was easy to include because the old anim engine was able to do about 80% of this. I had just to boost up the logic. | |||
Show difference between Revision 1.38 and 1.39 | |||
Revision 1.38 | michtoen | 2001/11/26 22:33:46 | +0 -0 |
Arch type & subtype patch Added type & subtype system with 2 subtypes. Type & subtype will be send to client. Adding new types: FLOOR 71 WALL 77 LIGHT_SOURCE 78 MISC_OBJECT 79 MONSTER 80 SPAWN_GENERATOR 81 Added subtypes for armor & weapons. new commands are: sub_type <uint8> sub_typ2 <uint16> sub_type2 is for internal server use. Added new command: casting_speed <delay> This will be included later. I will use the sdl client as tester for this patch, older clients will not be effected even when the arches are updated. | |||
Show difference between Revision 1.37 and 1.38 | |||
Revision 1.37 | michtoen | 2001/11/26 11:52:26 | +10 -3 |
Attack Patch 25.11.01 Detailed information in the dev list. The changes are to many to explain here. | |||
Show difference between Revision 1.36 and 1.37 | |||
Revision 1.36 | michtoen | 2001/11/04 14:22:55 | +0 -0 |
One Arch/one pic patch. I use a modified map1cmd, called map2cmd for it. This is a first tryout implementation. The code can more then only submit offset data of multi arch, its also possible to include animation tags for the faces - we have now more free flags. The code is NOT optimized. Iam still unsure , what the best way is to send all this data. Sort & parsing cost time. At this stage, ill quick parse is by server, use slightly more bandwitch and let do the client more work. But thats perhaps not the best way. But this code will allow to install the arches for this one arch/one pic. MT | |||
Show difference between Revision 1.35 and 1.36 | |||
Revision 1.35 | michtoen | 2001/11/02 21:46:46 | +14 -1 |
If you destroy or open a door, you can set in the arch OTHER_ARCH to an object that will then generated. This can be used for open/close doors. | |||
Show difference between Revision 1.34 and 1.35 | |||
Revision 1.34 | garbled | 2001/10/15 16:12:08 | +9 -9 |
Remove all instances of RANDOM()% and replace with rndm() from utils.c garbled 2001-10-15 | |||
Show difference between Revision 1.33 and 1.34 | |||
Revision 1.33 | gros | 2001/10/14 02:57:15 | +179 -24 |
Major changes: Added dynamic plugin support, removed old Guile support. - Gros 10/14/01 | |||
Show difference between Revision 1.32 and 1.33 | |||
Revision 1.32 | garbled | 2001/09/26 16:34:08 | +2 -2 |
Apply the big luck patch to all these files. This removes the special cases for alchemy and prayer as well. 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.31 and 1.32 | |||
Revision 1.31 | mwedel | 2001/09/03 01:44:55 | +25 -15 |
This checkin mainly fixes multipart teleporters - they should now work properly. Also a minor fix to make the new pickup code work. server/apply.c: apply_shop_mat rewritten to be more 'presentable'. Minor changes were needed in any case to pass the player/creature a a second object to teleport. server/c_object.c: change the sscanf to be unsigned when getting value for new pickup mode. At least on my system, if the value in the string was larger than the max signed value, sscanf set it to the max value. server/move.c: teleport function largely re-written. Instead of the third arg being the 'originator', it is now the object to teleport. This allows the head of the teleporter to get passed to this function even if the object to teleport is not on the head. server/time.c: move_teleporter modified to also check for objects on the other parts of multipart teleporters. Also, pass the head object to the teleport function so that proper destination is used. MSW 2001-09-02 | |||
Show difference between Revision 1.30 and 1.31 | |||
Revision 1.30 | avogl | 2001/08/07 11:58:13 | +10 -10 |
Fixed a bug with teleporters. Teleporters under floors didn't work - now they do. --AV | |||
Show difference between Revision 1.29 and 1.30 | |||
Revision 1.29 | avogl | 2001/08/07 09:35:21 | +4 -5 |
Re-enabled the ability of teleporters to move objects with "no_pass" flag set. It is needed for a few maps in pupland and mak-tower. --AV | |||
Show difference between Revision 1.28 and 1.29 | |||
Revision 1.28 | mwedel | 2001/08/05 17:34:04 | +7 -5 |
common/object.c:decrease_ob_nr modified to correctly update client when player uses item from container that is on the ground (bookshelf for example) server/time.c: move_teleporter modified to skip over wall/floors and teleport whatever is above them. MSW 2001-08-05 | |||
Show difference between Revision 1.27 and 1.28 | |||
Revision 1.27 | mwedel | 2001/08/05 00:07:20 | +25 -19 |
common/map.c: modify link_multipart_objects to preserve name and title of head when making the more parts. modify update_position so that it should never show an invisible face to the player. common/object.c: fix check_walk_on so that spells will now properly get affected by spinners and directories. include/sockproto.h: Rebuilt to include MapNewmapCmd server/hiscore.c: Fix crash if player savebeds map on map which does not have a name. Use the path instead. server/move.c: modify teleporter function to send MapNewmapCmd to client if player got teleported. Needed for fog of war code. server/time.c: modify move_teleporter so that it will not teleport walls. socket/Makefile.in: Modified to use cproto to generate proto files. MSW 2001-08-04 | |||
Show difference between Revision 1.26 and 1.27 | |||
Revision 1.26 | mwedel | 2001/07/13 23:11:18 | +16 -16 |
Map tiling checkin server/Makefile.in: Remove encounter.c file. Use cproto instead of cextract to create proto file. server/alchemy.c,server/attack.c,server/c_object.c,server/c_wiz.c, server/disease.c, server/login.c, server/main.c, server/monster.c, server/move.c, server/pets.c, server/player.c, server/resurrection.c, server/rune.c, server/shop.c,server/skill_util.c, server/skills.c, server/spell_effect.c, server/spell_util.c, server/swap.c, server/time.c modified to use modified insert_ob_in_map function, use new macros to access map structure related data. change calls to update_all_los, remove lighting related code. server/apply.c: modified to use new insert_ob_in_map function. Update calls to update_object. remove RANDOM_ENCOUNTER code. for exits, modified to use the head for valid coordinates since the other parts may not have valid values since they are not saved out to disk anymore. server/c_misc.c,server/hiscore.c: modified to use new map structure/information. server/commands.c: remove dumplights command. server/encounter.c: removed - code no longer used server/init.c: remove RANDOM_ENCOUNTERS code. server/script.c: change Script_getMapObject to return NULL since there is no longer a map object. Modify to use new insert_ob_in_map and update_object functions. MSW 2001-07-13 | |||
Show difference between Revision 1.25 and 1.26 | |||
Revision 1.25 | michtoen | 2001/06/13 07:51:58 | +1 -1 |
Modified Files: player.c loader.l loader.c init.c request.c newserver.h Log Message: Removed 2 compiler warning from Scriptfire patch in loader.l/loader.c and script.c. added a new setup cmd: "newanim" a client giving the newanim cmd, will enable the new animation system. The interface is open and not server controlled at this moment. First using is to enable the player moving in 8 direction. Giving this option to a server without changed arch will invoke broken player animations. This will be changed in the future. MT 2001-06-13 | |||
Show difference between Revision 1.24 and 1.25 | |||
Revision 1.24 | michtoen | 2001/06/13 05:52:20 | +19 -1 |
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.23 and 1.24 | |||
Revision 1.23 | mwedel | 2001/04/30 01:34:29 | +2 -1 |
common/object.c: Add clear_owner function. include/libproto.h: rebuild. server/player.c: Modify op_on_battleground to look for battleground anyplace on space. Temp for for wall of thorns on space - as long as maps don't try to abuse the use of battlegrounds, should be OK. server/time.c: Add clear_owner call to stop_arrow. Fixes problem of thrown objects not getting saved. MSW 2001-04-28 | |||
Show difference between Revision 1.22 and 1.23 | |||
Revision 1.22 | mwedel | 2001/04/06 01:25:10 | +39 -35 |
common/porting.c: Fix compile warnings/bugs introduced by Win32 changes. server/time.c: Modify move_player_mover so that it determines direction of the mover and then process accordingly, as well as formatting changes. server/c_object.c: modify examine so that it properly shows info about magic bullet spell books. MSW 2001-04-05 | |||
Show difference between Revision 1.21 and 1.22 | |||
Revision 1.21 | cvs | 2000/12/27 01:53:35 | +2 -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.20 and 1.21 | |||
Revision 1.20 | avogl | 2000/12/21 10:43:26 | +2 -2 |
Wrong flag in save_player(), caused the saving-attempt to fail. | |||
Show difference between Revision 1.19 and 1.20 | |||
Revision 1.19 | avogl | 2000/12/20 14:29:29 | +15 -2 |
I intended to clean up the character-creation process and thus changed the initial starting place from "/city/city" to "/HallOfSelection", like it should be. I hope this will not cause unwanted side-effects. I really did my best to test it and prevent any bugs caused by this change. If you still discover some weirdness that might be related to this change, please lemme know. -AV | |||
Show difference between Revision 1.18 and 1.19 | |||
Revision 1.18 | avogl | 2000/12/15 09:42:37 | +6 -4 |
server/attack.c: Acid will only corrode equipment while the player has less than 50% acid resist. Note that acid corrosion makes players feel *very* unappy since there is no way to reverse the process yet. Outcommented the deathstrike-debug message. It used to spam the log like crazy. server/spell_util.c: server/time.c: Patch for spell/missile reflecting: The "reflect spell/missile" flag does no longer provide living creatures with perfect immunity to projectiles. There is a missing chance of: 10% + level of projectile / 10 This does apply for all kinds of magic bullets/missiles, arrows, bolts and thrown objects. Smite spells and bolt spells are not affected, they will always bounce off. server/spell_effect.c: Done some more cleaning and adjusting for the protection spells. E.g. it is no longer possible to have both a god's blessing and a holy possession in effect. Also removed is the ability to add holy bless/poss. effects of more than one god to a char. | |||
Show difference between Revision 1.17 and 1.18 | |||
Revision 1.17 | avogl | 2000/12/13 21:52:33 | +2 -1 |
PR-patch by AndreasV: Main features of this patch: o Negative resistances are calculated in a "logical" way. For example: +30 and -30 makes a total of zero. o Vulnerabilities work as "caps" for protection. E.g.: While wearing one item with fire -20, you cannot get more than fire +80 overall from equipment. If one is forced to live with high vulnerability (like wraith: fire -30), you can still use a potion to go beyond the cap. o Potions work completely different than before. The so-called "immunity-potions" grant an absolute value of 90% protection (independant from the players's equipment and properties), there are also very rare ones with 95% and cheap ones with 50%. If the player has already got more protection than the potion provides, drinking it won't have any effect. o Cursed potions are working now (have been broken before). They give a temporare vulnerability, but can be overriden by uncursed potions of the same res.-type. o Protection spells work different than potions. Their effect does add to the player's equipment. The amount of protection granted depends on the caster's skill level and path attunes (if a related spellpath exists). The maximum a player can get is currently 60% (at wisdom lvl 107 & path_attuned). o When the player's state of resistance changes, a new kind of message shows up: The percentage of the new resistance is displayed: e.g. "You resistance to fire rises to 67%". o When a player got hit by dam<1 it used to be zero. To make the calculations more accurate, for 0<dam<1 I "simulate" a floating point value-effect now. Example: If the correct damage value would be 0.4, there is 40% chance for dam=1, else dam=0. For 0.7, ther'd be 70% chance for dam=1... etc. Without that feature, there would most of the times be no difference between resistance 95 and 100. | |||
Show difference between Revision 1.16 and 1.17 | |||
Revision 1.16 | peterm | 2000/11/19 01:33:30 | +4 -1 |
PeterM: Implementation of: 1) sanctuary 2) holy rage 3) peace 4) forked lightning 5) flaming aura 6) spiderweb | |||
Show difference between Revision 1.15 and 1.16 | |||
Revision 1.15 | peterm | 2000/11/17 21:32:34 | +4 -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.14 and 1.15 | |||
Revision 1.14 | jec | 2000/11/06 17:06:47 | +147 -88 |
* stop_item() / attack fix patch 2000-11-06 | |||
Show difference between Revision 1.13 and 1.14 | |||
Revision 1.13 | cvs | 2000/11/04 00:40:50 | +2 -1 |
server/time.c: Add call to esrv_update_item to update the face for the client after the player chooses a class. MSW 11/3/2000 | |||
Show difference between Revision 1.12 and 1.13 | |||
Revision 1.12 | peterm | 2000/10/23 13:13:56 | +4 -4 |
Fix for dumb crashing bug I made. --PeterM | |||
Show difference between Revision 1.11 and 1.12 | |||
Revision 1.11 | peterm | 2000/10/16 14:19:31 | +48 -6 |
Major race/class change by PeterM: BEGIN: ***************** apply.c: new function, apply changes to player. If the change is a CLASS, player receives certain attributes from the class. login.c: make sure people using the old race/class archetypes in their player files can still use them. player.c: 1) give_initial_items modified for greater flexibility: you can pass in a treasurelist. 2) Also, initial forces are applied to the player. 3) Comment added on the stat roll function. 4) Word of recall into the new class-choice map (unfortunately hard-wired.) for newly-rolled players. 5) gen_sp and gen_hp and gen_grace now allowed to go negative to slow down player regen. skill_util.c 1) Don't give out basic skills anymore. This interferes with the class code. spell_util.c 1) Praying failures moderated in frequency. 2) Summoned creatures enhanced in wc, speed, depending on casting level. 3) Word of recall allowed to work in no-magic areas if a flag is set. time.c 1) Move player changer function added. 2) Marker object expiration added. END race/class stuff 10/16/2000 *************************** | |||
Show difference between Revision 1.10 and 1.11 | |||
Revision 1.10 | cvs | 2000/07/28 02:10:21 | +13 -5 |
server/time.c: Update the change_object function such that if the object is in a players inventory, send a delete & send_item for the object that has changed (the delete + send_item is necessary due to the ways objects change, so we just can't sent a update_item). This fixes the 'torches go dim & then out but client inventory not updated' bug, and likely fixes some other problems - I am not sure how many other objects out there change. MSW 7/28/2000 | |||
Show difference between Revision 1.9 and 1.10 | |||
Revision 1.9 | jec | 2000/06/13 11:58:41 | +2 -1 |
server/time.c: move_marker(): Bugfix: Call update_ob_speed() after changing force->speed. | |||
Show difference between Revision 1.8 and 1.9 | |||
Revision 1.8 | jec | 2000/06/08 11:08:42 | +4 -6 |
common/button.c: do_mood_floor(): Bugfixes: Only players can have pets. Call add_friendly_object() for friendly monsters. server/spell_effect.c and server/spell_util.c: Several functions: Only add a pet if there really is a pet's owner, and it's a player. server/spell_effect.c: cast_charm() and cast_charm_undead(): Bugfixes: Only players can cast these spells. This fixes server crash if a monster casted a charm spell, and the charmed pet was killed. Call add_friendly_object for friendly monsters. common/friend.c: remove_friendly_object(): Use llevError for error messages. common/living.c: fix_player(); server/gods.c: tailor_god_spell(); server/spell_effect.c: summon_avatar() and animate_weapon(): Bugfix: Set a string to NULL after calling free_string(). This fixes a nasty bug that caused the string's reference count drop below 0, which resulted in corruption of malloc()'s internal data structures (and possibly server crashes). server/time.c: move_creator(): Bugfix: Call free_string() to free old values of op->name and op->title before overwriting them with new values. common/object.c: insert_ob_in_map_simple() and insert_ob_in_map(): Check that we don't insert freed objects. server/attack.c: hit_player_attacktype() and hit_player(): Bugfix: Check that find_god() really found a god, and that 'god->slaying' is not NULL. Fixes crash if a monster casted turn undead and actually hit something. server/attack.c: hit_player(): Check that a pet's owner is a player. Prevents server crashes if a monster has a pet monster due to a bug somewhere. Use llevError for error message. server/time.c: move_arrow(): Use llevDebug level for "Arrow had no map" message. server/c_object.c, server/spell_effect.c, server/spell_util.c: Bugfixes: Added some missing checks for destroyed objects. Use was_destroyed() or return value of insert_ob_in_map() to check for destroyed objects, not FLAG_FREED or FLAG_REMOVED. Don't use op->count of destroyed objects. server/shop.c: get_payment2(): Type of tag is 'tag_t', not 'long'. server/spell_effect.c: animate_bomb(): Fix environment checks. server/spell_util.c: fire_bolt(): Bugfix: Set level of bolt. server/spell_util.c: explosion(): Bugfix: Set FLAG_NO_APPLY before moving the exploding object to the top. server/spell_util.c: put_a_monster(): First create the monster completely, then just insert its head. server/time.c: generate_monster(): Bugfix: Don't free generators that are used up in this function. process_object() already does this. This fixes steambolt (which is a generator but must not used up here - generate_monster() wasn't looking at FLAG_IS_USED_UP) and all generators which should really be used up (because process_object() didn't expect generate_monster() to destroy the object). | |||
Show difference between Revision 1.7 and 1.8 | |||
Revision 1.7 | cvs | 2000/06/06 02:03:25 | +23 -10 |
Patch to marker so that we can replace old marks. | |||
Show difference between Revision 1.6 and 1.7 | |||
Revision 1.6 | jec | 2000/05/29 11:31:26 | +5 -1 |
lib/checkarch.pl: Check for archetypes with type FIRECHEST but no level. - Jan Echternach 5/29/2000 server/apply.c: move_apply(): Added handling of THROWN_OBJ, CANCELLATION and BALL_LIGHTNING. server/spell_effect.c: cancellation(): Traverse inventory of objects with type THROWN_OBJ. - Jan Echternach 5/29/2000 server/player.c: fire_bow() and server_skills.c: do_throw(): Bugfix: Don't use op->count of freed objects. Use was_destroyed() to check for freed objects instead of QUERY_FLAG (FLAG_FREED). - Jan Echternach 5/29/2000 server/spell_util.c: fire_a_ball(): Bugfixes: Use op->other_arch as the archetype to fire, not FBULLET. (-> Firechests now cast fire balls again, not snowballs.) Set level of fired archetype. Check if object was destroyed after insert_ob_in_map(). - Jan Echternach 5/29/2000 server/time.c: move_firewall() and move_firechest(): Do nothing if object has no map. Fixes server crashes if a dm creates such a thing in the inventory. - Jan Echternach 5/29/2000 | |||
Show difference between Revision 1.5 and 1.6 | |||
Revision 1.5 | jec | 2000/05/26 04:50:49 | +18 -17 |
* apply() cleanup patch 26/5/2000 | |||
Show difference between Revision 1.4 and 1.5 | |||
Revision 1.4 | jec | 2000/04/17 09:18:13 | +2 -1 |
See CHANGES file. | |||
Show difference between Revision 1.3 and 1.4 | |||
Revision 1.3 | cvs | 1999/08/02 19:33:17 | +46 -3 |
Changes allowing for a keycode in the alchemical recipes. Now, if the formula has a field called 'keycode xxxx', the person must possess a MARK with 'slaying xxxx' in order to execute the formula successfully. | |||
Show difference between Revision 1.2 and 1.3 | |||
Revision 1.2 | cvs | 1999/07/13 01:03:05 | +0 -0 |
Global commit for 0.95.4 - most files have no changes but just have differing headers between my local RCS and the CVS versions and need to get synced up. | |||
Show difference between Revision 1.1 and 1.2 | |||
Revision 1.1 | uid200 | 1999/04/02 13:10:04 | None |
Initial revision | |||
First version | |||
Revision 1.1.1.1 | uid200 | 1999/04/02 13:10:04 | +0 -0 |
First CVS revsion: crossfire-0.95.3 | |||
Show difference between Revision 1.1 and 1.1.1.1 |