Or on a leap of faith.......since it returned -453.75 (Correct me if I'm wrong on that) perhaps you need to check the type on int your using, you might be going outside the allowable range. *shrug* that's just my thought on the matter, hopefully it helps though.
----- Original Message ----- From: "Jamie Harrell" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Thursday, December 06, 2001 10:18 PM Subject: Re: Math problem? Other than MAYBE some obscure chipset problem with floating point conversion? *boggle* This is a first for me, I've never seen anything remotely close happen.... 2 things to possibly try... 1) explicitly typecast the result back to the int form, perhaps it's an implicit problem (ie: save = (int)(((victim->level/2) - (level/2)) * 5 - victim->saving_throw * 1.25); ) 2) Mayhaps use a float for the save? not that it would make much of a difference, but it should work if nothing else will.... *shrug* Good luck, that's one heck of a bug Icechild Coder of Arthanox *********** REPLY SEPARATOR *********** On 12/6/2001 at 4:41 PM Jason Gauthier wrote: >Anyone want to take a shot in the dark as to why this crashed my mud? > >Program terminated with signal 11, Segmentation fault. >#0 0x80d5440 in saves_spell (level=200, victim=0xbc94450, dam_type=18) > at magic.c:191 >191 save = ( (victim->level/2) - (level/2)) * 5 - >victim->saving_throw * 1.25; >(gdb) list saves_spell >186 */ >187 bool saves_spell( int level, CHAR_DATA *victim, int dam_type ) >188 { >189 int save, num; >190 CLASS *cl; >191 save = ( (victim->level/2) - (level/2)) * 5 - >victim->saving_throw * 1.25; >192 >193 if (IS_AFFECTED(victim,AFF_BERSERK)) >194 save += victim->level/2; >195 >(gdb) print ( (victim->level/2) - (level/2)) * 5 - victim->saving_throw * >1.25 >$1 = -453.75 > > > > >-- >ROM mailing list >[email protected] >http://www.rom.org/cgi-bin/mailman/listinfo/rom -- ROM mailing list [email protected] http://www.rom.org/cgi-bin/mailman/listinfo/rom

