Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
Development
Nov 28, 2018, 10:10 am
By Keirath
First Immortal
Oct 12, 2018, 12:02 pm
By GatewaySysop
Bug in do_climb( )
Jun 5, 2018, 5:31 pm
By joeyfogas
question on overland code
May 31, 2018, 10:03 am
By joeyfogas
KaVir's Protocol Snip
May 15, 2018, 7:57 pm
By joeyfogas
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: 14
Stats
Files
Topics
Posts
Members
Newest Member
481
3,740
19,397
638
IgnacioBol
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » 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, 3:45 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.
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 >>