--- crossfire/server ---


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

Filename: spell_attack.c
Revision 1.40ryo_saeba 2006/08/19 16:22:26 +73 -74
Fix bug #1523571 (Diseases work only on head part).
Show difference between Revision 1.39 and 1.40
Revision 1.39ryo_saeba 2006/07/25 17:37:22 +2 -2
Fix bug #1528194. Fix an annoying message.
Show difference between Revision 1.38 and 1.39
Revision 1.38qal21 2006/07/16 22:03:45 +10 -4
Attempt to fix bug #1523571 "Diseases work only on 'head' part".
Show difference between Revision 1.37 and 1.38
Revision 1.37akirschbaum 2006/05/25 12:49:36 +2 -3
Make swarm spells work again. These spells did not work anymore on tiles which
had a move_block type set (for example cobblestones).
Show difference between Revision 1.36 and 1.37
Revision 1.36ryo_saeba 2006/05/05 04:26:35 +7 -7
First part of patch #1453869 courtesy Stefan Huehner (shuehner)
Show difference between Revision 1.35 and 1.36
Revision 1.35tchize 2006/04/06 16:18:36 +5 -5

finished common/arch.c unit test, fixed a few bugs, moved function around and renamed other
Show difference between Revision 1.34 and 1.35
Revision 1.34mwedel 2006/03/14 01:44:16 +3 -2
Fix non ANSI conforming code so it will compile with compilers that
care about that type of things.
MSW 2006-03-20
Show difference between Revision 1.33 and 1.34
Revision 1.33akirschbaum 2006/03/04 10:34:26 +21 -22
Apply patch #1436833 (Patch for forked lightning crash at map borders) by CF
Development Team Schmorp.de <crossfire@schmorp.de>.
Show difference between Revision 1.32 and 1.33
Revision 1.32akirschbaum 2006/01/07 06:49:21 +3 -2
Fix issues with map tiling.
Show difference between Revision 1.31 and 1.32
Revision 1.31akirschbaum 2006/01/01 07:39:01 +4 -4
Make forked lightning correctly traverse tiled maps.
Show difference between Revision 1.30 and 1.31
Revision 1.30akirschbaum 2005/12/10 08:27:10 +13 -6
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.29 and 1.30
Revision 1.29mwedel 2005/12/01 02:25:45 +3 -3
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.28 and 1.29
Revision 1.28akirschbaum 2005/11/30 15:16:07 +5 -6
Fix function comment.
Show difference between Revision 1.27 and 1.28
Revision 1.27mwedel 2005/11/16 02:16:09 +73 -40
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.26 and 1.27
Revision 1.26akirschbaum 2005/11/01 04:08:17 +4 -3
Add new function object_get_env_recursive() to find the outermost environment
object for a given object.
Show difference between Revision 1.25 and 1.26
Revision 1.25akirschbaum 2005/10/29 19:16:56 +6 -4
Fix bug #1236244 (Exp from scrolls): reading a scroll of charm monsters or
meteor swarm now gives exp for use magic item, not summoning or pyromancy.
Show difference between Revision 1.24 and 1.25
Revision 1.24akirschbaum 2005/10/29 16:59:42 +2 -2
Fix part of bug #1236244 (Exp from scrolls): reading a scroll of charm
monsters now gives exp for use magic item, not summoning.
Show difference between Revision 1.23 and 1.24
Revision 1.23akirschbaum 2005/10/07 14:38:50 +11 -11
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.22 and 1.23
Revision 1.22mwedel 2005/09/13 01:46:35 +2 -2
This change is mostly cosmetic and a preparation for the new movement
type code. Basically, it just changes the old object movement_type
field to attack_movement. This makes sense because that is what that
field is called in saved and loaded objects/archetypes, and thus
frees up that name for the new movement code.
--
common/button.c: field name change
common/loader.{cl}: field name change
doc/Developers/objects: Add section on new movement types, update old
documentation to note it is attack_movement and not movement_type
field that is important.
include/object.h: field name change.
server/attack.c: field name change.
server/monster.c: field name change
server/pets.c: field name change
server/skills.c: field name change.
server/spell_attack.c: field name change
server/spell_effect.c: field name change
MSW 2005-09-12
Show difference between Revision 1.21 and 1.22
Revision 1.21ryo_saeba 2005/08/12 08:46:34 +3 -3
Fields changed from char* to const char*, cleanup.
Show difference between Revision 1.20 and 1.21
Revision 1.20ryo_saeba 2005/07/19 15:59:34 +5 -5
Don't hardcode values. Fix item transformer code.
Show difference between Revision 1.19 and 1.20
Revision 1.19tchize 2005/05/07 06:51:20 +2 -2

Corrected silinesses in code. Now compiles when CFLAGS=-ansi -pedantic
Show difference between Revision 1.18 and 1.19
Revision 1.18akirschbaum 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.17 and 1.18
Revision 1.17ryo_saeba 2005/01/07 15:23:59 +6 -2
Apply patch #1096921 courtesy Salathar (mice outbreak fix)
Show difference between Revision 1.16 and 1.17
Revision 1.16ryo_saeba 2004/08/14 04:48:40 +28 -8
Fix charm monster exploit
Show difference between Revision 1.15 and 1.16
Revision 1.15mwedel 2004/06/11 02:23:43 +3 -1
common/item.c: describe_monster() - if the creature/player is stealthy,
mention it when the object is described.
common/loader.l, loader.c: Fix passed in size to get_ob_diff() - was one
to long, causing string corruption.
server/spell_attack.c: mood_change() - fix get_map_ob call - wasn't using
correct coordinate variables, resulting in crash.
MSW 2004-06-10
Show difference between Revision 1.14 and 1.15
Revision 1.14mwedel 2004/06/11 01:12:58 +2 -2
common/object.c: insert_map_in_ob() - remove CAN_MERGE checks after the
map translation - otherwise, we can have bogus coordinates
that are used for GET_MAP_OB.
random_maps/style.c: pick_random_object() - have it return null object
(and probably crash) instead of getting into an infinite loop.
server/c_wiz.c: command_kick() - check FLAG_FREED of player. Remove all
the broken skill/exp object granting code in command_possess() - this
is probably still a broken function.
server/spell_attack.c: mood_change() - fix get_map_ob call - wasn't using
correct coordinate variables, resulting in crash.
MSW 2004-06-10
Show difference between Revision 1.13 and 1.14
Revision 1.13mwedel 2004/06/01 02:20:56 +5 -1
server/c_misc.c: Add sum_weight() call to fix_me command so that players
weight is properly recalculated.
server/skills.c: Fix up attempt_steal() so that it doesn't improperly
remove object from target when person doing the stealing can't pick
it up.
server/spell_attack.c: Set maxhp properly, so multipled fireballs, etc
can be going off at the same time.
server/spell_effect.c: Fix up cast_create_missile() so more esoteric
missiles can be created.
MSW 2004-05-31
Show difference between Revision 1.12 and 1.13
Revision 1.12mwedel 2004/05/20 00:50:00 +4 -3
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.11 and 1.12
Revision 1.11mwedel 2004/05/04 02:14:53 +5 -5
common/item.c: describe_monster() - print luck when describing players (fixex
perceive self not showing luck)
server/attack.c: kill_object() - don't give player exp if he kills himself -
compare owner against what was killed, not the hitter.
server/pets.c: summon_object() - move breaking out for last treasurelist
after we set the last valid treasurelist - otherwise, the list entry for
the treasurelist was never used. Change summoned creatures so that
the items they have are god given, and thus disappear when they
are killed - prevents players from summoning and then looting their pets.
server/spell_attack.c: explode_bullet() - Get owner of the spell so that we
can properly tailor the explosion portion of the spell for the god
of the worshipper.
MSW 2004-05-03
Show difference between Revision 1.10 and 1.11
Revision 1.10temitchell 2004/04/04 11:37:02 +10 -2
- modify spell_knockback function to exclude DM and add a simple
modifier for friction. Flying creatures are easier to push than
walking creatures (perhaps if a FLAG_STICKYFEET ever comes into play
this modifier can be used here as well to increase effects of friction).
Show difference between Revision 1.9 and 1.10
Revision 1.9temitchell 2004/02/28 19:53:47 +54 -46
- 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.8 and 1.9
Revision 1.8ryo_saeba 2004/02/27 17:00:28 +7 -6
Some warnings cleaning.
Show difference between Revision 1.7 and 1.8
Revision 1.7mwedel 2004/02/26 00:17:28 +7 -5
copy over x, y into nx, ny in do_mood_change - otherwise, infinite
loop can result because loop variable (x, y) will ge clobbered.
MSW 2004-02-25
Show difference between Revision 1.6 and 1.7
Revision 1.6mwedel 2004/02/23 23:43:58 +10 -1
server/spell_attack.c: Properly set maxhp in the cone spell - this is used
in ok_to_put_more() to make sure one spell doesn't hit a single space
too many times.
MSW 2004-02-23
Show difference between Revision 1.5 and 1.6
Revision 1.5mwedel 2004/02/23 00:06:30 +14 -4
common/object.c: Change CAN_MERGE() so that we never merge applied objects -
whether or not they are rings.
server/spell_attack.c: Fix cast_cone() so that it properly hits all directions.
MSW 2004-02-22
Show difference between Revision 1.4 and 1.5
Revision 1.4mwedel 2004/02/16 18:22:25 +22 -3
doc/Developers/spells: Update type on casting_time - include suggested value
for times so that results are hopefully more coherent.
lib/archetypes, treasures.bld: rebuilt.
lib/treasures: Change some of the 'spelldirect' types to just the actual spells,
so that two seperate archs don't have to be maintained.
server/c_wiz.c: Add some basic sanity checking to command_remove() so that
we don't unnecessarily crash.
server/skills.c: write_scroll() - have it reset value of the scroll so that
the scrolls so inscribed by players have better chance of merging.
server/spell_attack.c: cast_cone() - if the caster is a trap, have it hit
the center space, so that characters who detonate cone traps will get hit
by the effects. Also, reduce range of cone spells if they are going
in all directions, compared to being targetted in a speciifc direction.
server/spell_util.c: cast_spell() - put lower limit on player speed_left value
when casting spells - since higher up the calling stack, the player speed
is also reduced, we need to set the lower limit here so that the player
isn't out of action longer than they should be.
MSW 2004-02-16
Show difference between Revision 1.3 and 1.4
Revision 1.3mwedel 2004/02/13 01:42:10 +2 -2
common/object.c: change get_owner() so that it also returns no valid owner if
the owner is removed. This fixes a crash if a player quits but is still
sitting at the play again prompt when something he owns kills something.
server/skill_util.c: Fix show_skills() so that if the character has too many
skills for whatever reason, we don't crash, and instead print an error
to the player.
server/spell_attack.c: Fix typo - not sure actual effect, but probably nothing
good. '+ +' should just have been '+'
MSW 2004-02-12
Show difference between Revision 1.2 and 1.3
Revision 1.2mwedel 2003/11/14 01:57:10 +3 -1
Add missing out_of_map() check to animate_bomb()
MSW 2003-11-13
Show difference between Revision 1.1 and 1.2
Revision 1.1mwedel 2003/09/13 00:02:13 None
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
First version


File made using version 1.98 of cvs2html by leaf at 2011-07-21 17:47