Protocol: | pserver | User: | anonymous |
Machine: | crossfire.cvs.sourceforge.net | CVSROOT: | /cvsroot/crossfire |
Filename: gods.c | |||
Revision 1.63 | qal21 | 2006/09/06 18:38:50 | +2 -2 |
Make get_god_for_race() safe for gods without races. | |||
Show difference between Revision 1.62 and 1.63 | |||
Revision 1.62 | gros | 2006/07/21 07:39:54 | +14 -3 |
Modified the way the "undead" flag is removed from the player when changing god. This fixes bug #1157459; now, the player should recover its initial race after leaving the Devourers for another god. - gros 2006/07/21 | |||
Show difference between Revision 1.61 and 1.62 | |||
Revision 1.61 | mwedel | 2006/06/05 01:28:56 | +10 -2 |
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.60 and 1.61 | |||
Revision 1.60 | ryo_saeba | 2006/05/05 04:26:35 | +18 -10 |
First part of patch #1453869 courtesy Stefan Huehner (shuehner) | |||
Show difference between Revision 1.59 and 1.60 | |||
Revision 1.59 | tchize | 2006/04/06 16:18:35 | +6 -6 |
finished common/arch.c unit test, fixed a few bugs, moved function around and renamed other | |||
Show difference between Revision 1.58 and 1.59 | |||
Revision 1.58 | akirschbaum | 2006/01/07 12:56:51 | +2 -2 |
Use named constants instead of numbers. | |||
Show difference between Revision 1.57 and 1.58 | |||
Revision 1.57 | akirschbaum | 2006/01/01 07:03:07 | +3 -1 |
Properly unready forgotten spells. Prevents crashing the server if casting a forgotten spell. | |||
Show difference between Revision 1.56 and 1.57 | |||
Revision 1.56 | akirschbaum | 2005/11/01 12:56:37 | +8 -3 |
Fix bug #1082534 (monks with weapons): Now monks properly are denied from using weapons. Only newly created monks are affected since it now relies on a force named "no weapon force" in the player's inventory. The problem was that become_follower() assumed it was the only means do allow/disallow weapon use. | |||
Show difference between Revision 1.55 and 1.56 | |||
Revision 1.55 | gros | 2005/10/18 11:54:31 | +8 -35 |
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.54 and 1.55 | |||
Revision 1.54 | ryo_saeba | 2005/10/16 03:48:30 | +4 -4 |
Don't stack WoR effects. Don't display 'can't recast xx' message for divine intervention | |||
Show difference between Revision 1.53 and 1.54 | |||
Revision 1.53 | ryo_saeba | 2005/09/25 04:47:23 | +3 -2 |
Fix some compilation warnings. | |||
Show difference between Revision 1.52 and 1.53 | |||
Revision 1.52 | akirschbaum | 2005/08/14 14:06:19 | +13 -9 |
server/gods.c: Fix crash for monsters without appropriate god. | |||
Show difference between Revision 1.51 and 1.52 | |||
Revision 1.51 | akirschbaum | 2005/08/14 13:21:01 | +3 -2 |
server/gods.c: Add missing braces around body of if statement. | |||
Show difference between Revision 1.50 and 1.51 | |||
Revision 1.50 | cavesomething | 2005/08/12 18:16:31 | +39 -10 |
Change the way NPCs are allocated gods | |||
Show difference between Revision 1.49 and 1.50 | |||
Revision 1.49 | ryo_saeba | 2005/08/12 08:46:34 | +3 -3 |
Fields changed from char* to const char*, cleanup. | |||
Show difference between Revision 1.48 and 1.49 | |||
Revision 1.48 | ryo_saeba | 2005/08/12 03:18:59 | +5 -5 |
Use const char* instead of char* when possible | |||
Show difference between Revision 1.47 and 1.48 | |||
Revision 1.47 | ryo_saeba | 2005/08/10 08:38:31 | +2 -2 |
Use ARCH_DEPLETION instead of depletion. | |||
Show difference between Revision 1.46 and 1.47 | |||
Revision 1.46 | akirschbaum | 2005/07/25 19:23:00 | +3 -1 |
The following changes prevent spells in player's inventories from being damaged by casting spells, using skills, or praying. server/attack.c: Limit cancellation and acid attacks to visible objects only. server/gods.c: Limit god granted remove curse/damnation to visible objects only. server/skills.c: Limit the skills sense curse and sense magic to visible objects only. server/spell_effect.c: Limit the spells detect curse and detect magic to visible objects only. | |||
Show difference between Revision 1.45 and 1.46 | |||
Revision 1.45 | akirschbaum | 2005/02/20 14:43:15 | +4 -2 |
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.44 and 1.45 | |||
Revision 1.44 | akirschbaum | 2004/11/15 11:58:08 | +3 -3 |
Fix comment. | |||
Show difference between Revision 1.43 and 1.44 | |||
Revision 1.43 | mwedel | 2004/05/20 00:50:00 | +7 -1 |
include/book.h: Increase the size of BOOK_BUF, so inscribed books can hold more informatin. lib/Makefile.am, lib/Makefile.in: Add the 'rename' to the list of help files. lib/archetypes: update the glyph/rune spells to have proper face. lib/bmaps, lib/crossfire.* - add glyph.111 image. server/gods.c: Modify tailor_god_spell() to look harder to find a god - necessary for glyph spells. server/spell_attack.c: Give players 50% of exp for monsters they charm. MSW 2004-05-19 | |||
Show difference between Revision 1.42 and 1.43 | |||
Revision 1.42 | ryo_saeba | 2004/04/18 04:32:30 | +66 -26 |
Update comments, doxygen format | |||
Show difference between Revision 1.41 and 1.42 | |||
Revision 1.41 | mwedel | 2004/04/18 02:59:36 | +18 -5 |
common/button.c: Patch by Bernd Edler to have proper speed set for items activated by buttons. server/apply.c: Apply the 'special prayer' marker stuff, since it wasn't used anymore. server/gods.c: Check for FLAG_EQUIP on spells and not for a special prayer marker to guess if a spell is a god given spell or not. server/spell_util.c: Patch by Bernd Edler so that firewalls are immune to casting time. MSW 2004-04-17 | |||
Show difference between Revision 1.40 and 1.41 | |||
Revision 1.40 | mwedel | 2004/02/22 19:21:28 | +5 -4 |
lib/*: different spell for dragons vs players for firebreath - update treasures so monsters use ability version. server/gods.c: Add missing call to link_player_skills(), resulting in players having multiple praying skills. server/skill_util.c: Change learn_skill() so we don't create a skill pointer for the player if they didn't learn the skill (even if they can't use such a created skill, it is still a bit confusing). Fix finding of hand to hand skills to make sure the player can in fact use the skill in question. MSW 2004-02-22 | |||
Show difference between Revision 1.39 and 1.40 | |||
Revision 1.39 | ryo_saeba | 2004/02/08 11:07:08 | +9 -4 |
Object weight limit, become fellower bug | |||
Show difference between Revision 1.38 and 1.39 | |||
Revision 1.38 | mwedel | 2003/11/09 23:39:50 | +22 -17 |
bulk of this is to fix exp loss when changing gods if you have more than 2 billion exp, removal of spells when you switch levels, and not giving you all new spells when you switch religions. -- common/living.c: Update exp functions to be fully 64 bit aware. Don't take away from player total exp if SK_SUBTRACT_SKILL_EXP is passed in. common/utils.c: Add 64 bit version of random_roll(), called random_roll64() lib/treasures: Make indentation consistent for some treasures. server/apply.c: Use the FLAG_STARTEQUIP to denote god given spells, instead of using special prayer markers. This simplifies the spell learning and removal code. server/gods.c: Make exp loss for changing religions 64 bit compliant. Fix become_follower() so that it doesn't give all the new gods special spells if you switch religions. Fix code so that it properly removes all special prayers from previous god, and also print out message on what spells you lost. Don't set the prayer skill as applied in various areas - this results in two skills being applied, which isn't proper. MSW 2003-11-09 | |||
Show difference between Revision 1.37 and 1.38 | |||
Revision 1.37 | mwedel | 2003/09/13 00:02:10 | +331 -351 |
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.36 and 1.37 | |||
Revision 1.36 | gros | 2003/06/26 06:27:43 | +7 -6 |
Re-implemented the event hooks in objects as a dynamically linked list, instead of a static table. | |||
Show difference between Revision 1.35 and 1.36 | |||
Revision 1.35 | garbled | 2002/12/12 23:09:49 | +3 -2 |
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.34 and 1.35 | |||
Revision 1.34 | garbled | 2002/11/26 02:48:20 | +2 -3 |
Get rid of #ifdef PLUGINS (it is on by default, I didn't take out gros's code) | |||
Show difference between Revision 1.33 and 1.34 | |||
Revision 1.33 | garbled | 2002/11/26 01:55:24 | +1 -9 |
remove MORE_PRIEST_GIFTS MULTIPLE_GODS ifdefs | |||
Show difference between Revision 1.32 and 1.33 | |||
Revision 1.32 | mwedel | 2002/10/12 00:34:29 | +4 -3 |
Experience cleanup - the main functional change is that no upper limit of exp in an individual skill, save for the limit that there is an upper limit of total exp a player can have. Thus, if a player concentrates complete in one skill, he could get to level 110 in it. A lot of code cleanup was done - so much had gotten added to the exp code that it was a real mess. common/living.c: re-arrange some of the code, so all the exp related functions are together. remove adjust_exp(), change check_dm_add_exp_to_obj() to check_exp_adjust. Add new functions add_player_exp(), check_exp_loss(), check_exp_add(), subtract_player_exp(). include/libproto.h: rebuilt. server/c_wiz.c: Update command_addexp() to use new exp functions. server/gods.c: Update lose_priest_exp() to use new exp functions. MSW 2002-10-11 | |||
Show difference between Revision 1.31 and 1.32 | |||
Revision 1.31 | mwedel | 2002/07/14 23:25:40 | +4 -3 |
Update banner copyright with proper contact information. MSW 2002-07-14 | |||
Show difference between Revision 1.30 and 1.31 | |||
Revision 1.30 | mwedel | 2002/06/07 02:00:45 | +5 -5 |
Mostly bugfixes. I'm not sure if this will fix the disappearing arch problem- none of the changes made in the original multiple name would seem to cause it, so hard to say if any of these changes may fix it. -- common/arch.c: Change get_archetype_by_name to be more efficient and not leak memory. Modify code that frees all archetype data to free the name_pl information. Make sure the clone.name_pl is set to NULL. When singularites are created, set the name_pl for them. common/loader.l, common/loader.c: Modify code that fixes up name_pl to be more correct when it fixes up name_pl for old objects. common/map.c: Modify load_map_header so that tile_paths will be normalized - need for editor to be able to load maps that have a multipart object that spans the maps. crossedit/Edit.c: Modify some calls of out_of_map to OUT_OF_REAL_MAP, since tiling code really isn't fully in place for the editor. Modify EditPerformFill so that it actually works and doesn't crash the editor. include/global.h: Move FREE_AND_COPY macro from loader.l to here so that all source code files can use it. lib/adm/map_info: Modify to actually be able to examine just a sub portion of the map directories, and not all of them. Don't always show the unused objects - information isn't very interesting if only a portion is being examined. Modify the exit examining code to properly deal with random maps (if there is a finalmap component, make sure that does exist.) Loade the bmaps file and not the faces file to find valid faces. plugin/plugin_python.c: Add missing %s that described what script was actually loaded. random_maps/special.c, server/alchemy.c, server/c_misc.c, server/gods.c, server/login.c, server/player.c, server/spell_effect.c: Set up proper name_pl value for code that changes the name of objects. server/apply.c: Use FREE_AND_COPY to set up names. Set up proper name_pl values for cases that change name. In apply_lighter, call fix_player if player is lighting an object in his inventory - necessary for the players glow_radius to get updated so the change actually takes effect. socket/request.c: Modify esrv_map_scroll so that it properly clears cells that are moving out of view - failure to do this was resulting in the map1a updating these spaces with empty faces. This was causing fog of war wackiness with the client. MSW 2002-06-06 | |||
Show difference between Revision 1.29 and 1.30 | |||
Revision 1.29 | mwedel | 2002/04/24 01:31:49 | +18 -4 |
crossedit/xutil.c: Update to use name of png file. lib/archetypes: collected - pl_dragon arch changed a while back, with no new collect. lib/collect.pl.in: Add some notes about usage if no option is given or if --help is given. server/gods.c: Fix that resulted in weapon/armor restrictions not working. MSW 2002-04-23 | |||
Show difference between Revision 1.28 and 1.29 | |||
Revision 1.28 | michtoen | 2001/10/29 20:30:20 | +5 -5 |
Remove a bug, reset some modules | |||
Show difference between Revision 1.27 and 1.28 | |||
Revision 1.27 | michtoen | 2001/10/29 18:49:02 | +6 -6 |
really SOME fixes - most casting | |||
Show difference between Revision 1.26 and 1.27 | |||
Revision 1.26 | garbled | 2001/10/15 16:12:08 | +2 -2 |
Remove all instances of RANDOM()% and replace with rndm() from utils.c garbled 2001-10-15 | |||
Show difference between Revision 1.25 and 1.26 | |||
Revision 1.25 | gros | 2001/10/14 02:57:14 | +29 -14 |
Major changes: Added dynamic plugin support, removed old Guile support. - Gros 10/14/01 | |||
Show difference between Revision 1.24 and 1.25 | |||
Revision 1.24 | garbled | 2001/09/26 16:34:08 | +16 -12 |
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.23 and 1.24 | |||
Revision 1.23 | avogl | 2001/09/20 11:44:37 | +76 -10 |
Included the new patch that removes godgiven items when changing cults. The treasurelist of the former god is read and any matching items in the players inventory get deleted. This is very important to keep playbalance up (Especially considering Gaea's powerful gifts). --Andreas V. | |||
Show difference between Revision 1.22 and 1.23 | |||
Revision 1.22 | 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.21 and 1.22 | |||
Revision 1.21 | michtoen | 2001/06/13 05:51:37 | +55 -32 |
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.20 and 1.21 | |||
Revision 1.20 | mwedel | 2001/05/28 23:41:53 | +1 -4 |
Make ALLOW_SKILLS standard part of game (remove #ifdef's for it) Files affected: common/living.c common/object.c common/treasure.c include/config.h include/player.h server/apply.c server/attack.c server/c_move.c server/c_range.c server/c_wiz.c server/commands.c server/init.c server/login.c server/monster.c server/player.c server/rune.c server/skill_util.c server/spell_util.c Make MULTIPLE_GODS standards part of game (remove #ifdefs for it) Files affected: common/readable.c include/spellist.h include/config.h server/attack.c server/gods.c server/skills.c server/spell_effect.c server/spell_util.c doc/Makefile.in, doc/Protocol: Add protocol description file here instead of in the client distribution. include/global.h: Move declaration of MAX_EXP_CAT near top of file so it is set before player.h is included. include/newclient.h: Add CS_STAT_SKILL* values for sending skill experience information to client. include/newserver.h: Add skillexp value to socket struct which determines if client wants skill experience informatiion. include/player.h: Add skill information tracking to player structure so we can easily know when to send updates to client. random_maps/expand2x.c: remove unused variable to prevent compiler warnings. random_maps/square_spiral.c: Include prototype information on all systems, not just win32 to prevent compiler warnings. server/skill_util.c: Initialize skill pointers to make it easier to find skill information when we want to update client. socket/init.c: Init socket->skillexp to 0. socket/loop.c: Fix indentation of table - whitespace change only socket/metaserver.c: Minor fix to prevent compile warnings (on the sprintf that composes the data to send to the metaserver) socket/request.c: Redo SetUp function to be more compact and IMO simpler as wll as easier to read (functionality remains the same). VersionCmd modified to warn users of on dxclients (code on MT) StatsCmd added to send skill information if client wants it. The sending of skill experience is by MT, rest of the changes by me. MSW 2001-05-28 | |||
Show difference between Revision 1.19 and 1.20 | |||
Revision 1.19 | mardahl | 2001/05/03 04:09:07 | +2 -2 |
Fix a bug spotted by Jan. code for moving players could fail for some directions. | |||
Show difference between Revision 1.18 and 1.19 | |||
Revision 1.18 | mardahl | 2001/04/28 01:19:54 | +6 -1 |
Toss someone off of an altar if he's praying at the wrong altar. Changing religion is still possible by getting back on. PeterM | |||
Show difference between Revision 1.17 and 1.18 | |||
Revision 1.17 | avogl | 2001/04/19 10:40:26 | +3 -3 |
Fixed a TERRIBLE bug in the god code: When a player (created under 0.96.0 code) changed gods, he lost all his experience objects. That means the character gets screwed completely and irreversible (except by editing player files). Puh, thank heavens I found that bug. --AV | |||
Show difference between Revision 1.16 and 1.17 | |||
Revision 1.16 | peterm | 2001/01/11 00:37:59 | +25 -6 |
Some changes allowing Ruggilli's immolation ability to be inserted on conversion and withdrawn on reconversion. | |||
Show difference between Revision 1.15 and 1.16 | |||
Revision 1.15 | avogl | 2001/01/09 17:50:37 | +4 -22 |
Fixed a terrible bug about special prayers: Players always lost ALL spells on god-intervention! That happened due to several bugs in the new god functions. Well, after this patch it should work as intended. | |||
Show difference between Revision 1.14 and 1.15 | |||
Revision 1.14 | avogl | 2001/01/01 17:09:32 | +4 -3 |
Minor adjustments to the chance of a god-intervention to happen. It was a tick too low for low/medium-level priests. | |||
Show difference between Revision 1.13 and 1.14 | |||
Revision 1.13 | cvs | 2000/12/27 01:53:35 | +431 -221 |
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.12 and 1.13 | |||
Revision 1.12 | avogl | 2000/12/16 17:32:14 | +12 -3 |
gods.c: Fixed a problem concerning PR: The god's immunities must not always be transferred to the players joining the cult. For example: Sorig has elec +100%, but the player shall only get +30%. player.c: Small mod, to make the new mini-playguides not startequip 1. So players can keep them and even pass them around. | |||
Show difference between Revision 1.11 and 1.12 | |||
Revision 1.11 | cvs | 2000/12/03 18:40:05 | +3 -3 |
Checking for partial resistance code. Various minor errors also fixed (compiler warnings, unused variables, Makefile.in changes, etc). PR code also includes support to send protections to the client. | |||
Show difference between Revision 1.10 and 1.11 | |||
Revision 1.10 | mids | 2000/10/24 18:01:19 | +11 -1 |
dnh's god aligned weapon patch. Weapons can only get the specials of one god. | |||
Show difference between Revision 1.9 and 1.10 | |||
Revision 1.9 | jec | 2000/06/08 11:08:41 | +5 -2 |
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.8 and 1.9 | |||
Revision 1.8 | jec | 2000/05/26 04:50:49 | +2 -2 |
* apply() cleanup patch 26/5/2000 | |||
Show difference between Revision 1.7 and 1.8 | |||
Revision 1.7 | jec | 2000/05/22 08:06:15 | +17 -12 |
common/object.c: Splitted set_owner() into set_owner_simple() and set_owner. copy_owner(): New function. server/spell_util.c: explode_object(): Use copy_owner() instead of setting skill and experience objects manually. Bugfix: Don't use op->owner directly (fixed by using the caster in call to SP_level_dam_adjust(), not the owner, which was wrong anyway). server/spell_util.c: fire_arch_from_position(): Use copy_owner() instead of set_owner() if 'op' isn't the real owner but only a spell object owned by somebody else. server/spell_util.c: move_swarm_spell(): Use the swarm spell object as the owner in call to fire_arch_from_position(), which now handles this case correctly. server/spell_util.c: fire_swarm(): Call tailor_god_spell(). server/gods.c: determine_god(): op->type==SWARM_SPELL is a spell. server/gods.c: tailor_god_spell(): op->type==SWARM_SPELL is a spell. Always abort function if we couldn't find a god. Always add god's attacktype if the spellop's attacktype has AT_GODPOWER. | |||
Show difference between Revision 1.6 and 1.7 | |||
Revision 1.6 | cvs | 2000/04/27 02:35:01 | +93 -74 |
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.5 and 1.6 | |||
Revision 1.5 | cvs | 2000/04/13 23:48:19 | +4 -4 |
Cosmetic fixes - updates to rcsid string to include right file name as well as updates to mail address and/or additions to top banner. Mark Wedel 4/13/2000 | |||
Show difference between Revision 1.4 and 1.5 | |||
Revision 1.4 | damn | 1999/09/17 13:44:43 | +32 -24 |
- minor bugfix/cleanup - luck slightly improves chance of divine intervention | |||
Show difference between Revision 1.3 and 1.4 | |||
Revision 1.3 | cvs | 1999/07/30 02:20:16 | +21 -4 |
Hacked in a mod so that players who change religions lose any special spells they learned from their former religion. --PeterM | |||
Show difference between Revision 1.2 and 1.3 | |||
Revision 1.2 | cvs | 1999/07/13 01:03:04 | +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 |