|
From: <cro...@li...> - 2003-03-20 07:21:06
|
Module Name: crossfire
Committed By: mwedel
Date: Thu Mar 20 07:21:05 UTC 2003
Modified Files:
crossfire: ChangeLog
crossfire/server: attack.c time.c
Log Message:
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
Start of context diffs
Index: crossfire/ChangeLog
diff -c crossfire/ChangeLog:1.55 crossfire/ChangeLog:1.56
*** crossfire/ChangeLog:1.55 Wed Mar 19 00:04:50 2003
--- crossfire/ChangeLog Wed Mar 19 23:21:04 2003
***************
*** 17,22 ****
--- 17,28 ----
------------------------------------------------------------------------------
Changes for CVS:
+ 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
+
common/anim.c: Pass direction to animate_object() - needed for player
animations as player's facing may not match direction.
crossedit/Attr.c, server/main.c, server/time.c: Update calls to animate_object()
Index: crossfire/server/attack.c
diff -c crossfire/server/attack.c:1.86 crossfire/server/attack.c:1.87
*** crossfire/server/attack.c:1.86 Fri Mar 7 21:35:32 2003
--- crossfire/server/attack.c Wed Mar 19 23:21:05 2003
***************
*** 1,6 ****
/*
* static char *rcsid_attack_c =
! * "$Id: attack.c,v 1.86 2003/03/08 05:35:32 mwedel Exp $";
*/
/*
CrossFire, A Multiplayer game for X-windows
--- 1,6 ----
/*
* static char *rcsid_attack_c =
! * "$Id: attack.c,v 1.87 2003/03/20 07:21:05 mwedel Exp $";
*/
/*
CrossFire, A Multiplayer game for X-windows
***************
*** 62,71 ****
return TRUE;
roll = rndm(1, 20);
! /* the attacktypes have no meaning for object saves */
! type = type & ~(AT_CONFUSION|AT_DRAIN|AT_GHOSTHIT|AT_POISON|AT_SLOW|
AT_PARALYZE|AT_TURN_UNDEAD|AT_FEAR|AT_DEPLETE|AT_DEATH|
! AT_COUNTERSPELL|AT_HOLYWORD|AT_BLIND|AT_LIFE_STEALING);
if (type == 0)
return TRUE;
--- 62,80 ----
return TRUE;
roll = rndm(1, 20);
! /* the attacktypes have no meaning for object saves
! * If the type is only magic, don't adjust type - basically, if
! * pure magic is hitting an object, it should save. However, if it
! * is magic teamed with something else, then strip out the
! * magic type, and instead let the fire, cold, or whatever component
! * destroy the item. Otherwise, you get the case of poisoncloud
! * destroying objects because it has magic attacktype.
! */
! if (type != AT_MAGIC)
! type &= ~(AT_CONFUSION|AT_DRAIN|AT_GHOSTHIT|AT_POISON|AT_SLOW|
AT_PARALYZE|AT_TURN_UNDEAD|AT_FEAR|AT_DEPLETE|AT_DEATH|
! AT_COUNTERSPELL|AT_HOLYWORD|AT_BLIND|AT_LIFE_STEALING|
! AT_MAGIC);
if (type == 0)
return TRUE;
Index: crossfire/server/time.c
diff -c crossfire/server/time.c:1.53 crossfire/server/time.c:1.54
*** crossfire/server/time.c:1.53 Wed Mar 19 00:09:59 2003
--- crossfire/server/time.c Wed Mar 19 23:21:05 2003
***************
*** 1,6 ****
/*
* static char *rcsid_time_c =
! * "$Id: time.c,v 1.53 2003/03/19 08:09:59 mwedel Exp $";
*/
/*
--- 1,6 ----
/*
* static char *rcsid_time_c =
! * "$Id: time.c,v 1.54 2003/03/20 07:21:05 mwedel Exp $";
*/
/*
***************
*** 1222,1229 ****
if(QUERY_FLAG(op, FLAG_MONSTER))
if(move_monster(op) || QUERY_FLAG(op, FLAG_FREED))
return 1;
if(QUERY_FLAG(op, FLAG_ANIMATE) && op->anim_speed==0) {
! animate_object(op, op->direction);
if (QUERY_FLAG(op, FLAG_SEE_ANYWHERE))
make_sure_seen(op);
}
--- 1222,1233 ----
if(QUERY_FLAG(op, FLAG_MONSTER))
if(move_monster(op) || QUERY_FLAG(op, FLAG_FREED))
return 1;
+
if(QUERY_FLAG(op, FLAG_ANIMATE) && op->anim_speed==0) {
! if (op->type == PLAYER)
! animate_object(op, op->facing);
! else
! animate_object(op, op->direction);
if (QUERY_FLAG(op, FLAG_SEE_ANYWHERE))
make_sure_seen(op);
}
|