Login
User Name:

Password:



Register

Forgot your password?
Changes list / Addchange
Author: Khonsu
Submitted by: Khonsu
6Dragons mp3 sound pack
Author: Vladaar
Submitted by: Vladaar
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
Users Online
AhrefsBot, Google

Members: 0
Guests: 35
Stats
Files
Topics
Posts
Members
Newest Member
488
3,788
19,631
595
Khonsu

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,685
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 >>