This patch will fix two timing bugs: 1. Firewalls always cast their spell once every second tic. Casting time is supposed to be defined by "speed". 2. Triggers ignore their reset delay time. -------------- next part -------------- Index: common/button.c =================================================================== RCS file: /cvsroot/crossfire/crossfire/common/button.c,v retrieving revision 1.23 diff -c -r1.23 button.c *** common/button.c 27 Oct 2003 03:44:33 -0000 1.23 --- common/button.c 5 Apr 2004 23:06:36 -0000 *************** *** 332,338 **** op->stats.wc = state; if (state) { use_trigger(op); ! op->speed = 1.0 / op->arch->clone.stats.exp; update_ob_speed(op); op->speed_left = -1; } else { --- 332,341 ---- op->stats.wc = state; if (state) { use_trigger(op); ! if (op->stats.exp > 0) /* check sanity */ ! op->speed = 1.0 / op->stats.exp; ! else ! op->speed = 1.0; update_ob_speed(op); op->speed_left = -1; } else { Index: server/spell_util.c =================================================================== RCS file: /cvsroot/crossfire/crossfire/server/spell_util.c,v retrieving revision 1.85 diff -c -r1.85 spell_util.c *** server/spell_util.c 23 Mar 2004 07:52:32 -0000 1.85 --- server/spell_util.c 5 Apr 2004 23:11:20 -0000 *************** *** 1089,1097 **** * take two ticks. Things that cast spells on the players * behalf (eg, altars, and whatever else) shouldn't cost * the player any time. ! * */ ! if (caster == op) { op->speed_left -= spell_ob->casting_time*PATH_TIME_MULT(op,spell_ob) * FABS(op->speed); /* Other portions of the code may also decrement the speed of the player, so * put a lower limit so that the player isn't stuck here too long --- 1089,1097 ---- * take two ticks. Things that cast spells on the players * behalf (eg, altars, and whatever else) shouldn't cost * the player any time. ! * Ignore casting time for firewalls */ ! if (caster == op && caster->type != FIREWALL) { op->speed_left -= spell_ob->casting_time*PATH_TIME_MULT(op,spell_ob) * FABS(op->speed); /* Other portions of the code may also decrement the speed of the player, so * put a lower limit so that the player isn't stuck here too long -------------- next part -------------- _______________________________________________ crossfire-devel mailing list crossfire-devel at lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel