Login
User Name:

Password:



Register

Forgot your password?
AFKMud 2.2.3
Author: AFKMud Team
Submitted by: Samson
SWFOTEFUSS 1.5
Author: Various
Submitted by: Samson
SWRFUSS 1.4
Author: Various
Submitted by: Samson
SmaugFUSS 1.9.4
Author: Various
Submitted by: Samson
SmaugFUSS 1.9.3
Author: Various
Submitted by: Samson
Users Online
CommonCrawl, SemrushBot

Members: 0
Guests: 3
Stats
Files
Topics
Posts
Members
Newest Member
486
3,758
19,453
572
danielw

Today's Birthdays
There are no member birthdays today.
» SmaugMuds » Bugfix Lists » AFKMud 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 > AFKMud 2.02

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

Samson
Black Hand
GroupAdministrators
Posts3,665
JoinedJan 1, 2002

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

---

act_info.cpp, 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 >>