Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
tintin++ ogg sound player script for linux
Author: Robert Smith
Submitted by: Vladaar
6Dragons ogg Soundpack
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.4
Author: Vladaar
Submitted by: Vladaar
LoP 1.46
Author: Remcon
Submitted by: Remcon
LOP 1.45
Author: Remcon
Submitted by: Remcon
Users Online
CommonCrawl, DotBot

Members: 0
Guests: 12
Stats
Files
Topics
Posts
Members
Newest Member
481
3,740
19,396
629
DarrenPayn
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Bugfix Lists » SWR FUSS Bugfix List » [Bug] Mobs with max hitdie va...
Forum Rules | Mark all | Recent Posts

[Bug] Mobs with max hitdie values always show as DYING
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Jan 12, 2008, 2:16 pm
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,644
JoinedJan 1, 2002

Bug: Mobs with max hitdie values always show as DYING
Danger: Trivial - Display issue only.
Found by: Kayle
Fixed by: Quixadhal

---

act_info.c, show_condition

Locate:
   if( victim->max_hit > 0 )
      percent = ( 100 * victim->hit ) / victim->max_hit;
   else
      percent = -1;


Change to:
   if( victim->max_hit > 0 )
      percent = ( int )( ( 100.0 * ( double )( victim->hit ) ) / ( double )( victim->max_hit ) );
   else
      percent = -1;


Kayle said:

Currently the max hitdie you can assign a mob is 30000d30000+30000. Well, if you assign this to a mob, they could have anywhere from 60,000 to 690,030,000 hit points. Well, any amount of hitpoints over 20,000,000 will result in the mob always showing up as DYING.


The problem exists because show_condition used strictly integer math to handle the calculations. It's likely complicated even more by the fact that stock Smaug defines victim->hit and victim->max_hit as short. Casting everything to doubles gives back a useable percent value.
       
Pages:<< prev 1 next >>