Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
Bug in disarm( )
Nov 12, 2017, 6:54 pm
By GatewaySysop
Bug in will_fall( )
Oct 23, 2017, 1:35 am
By GatewaySysop
Bug in do_zap( ), do_brandish( )
Oct 18, 2017, 1:52 pm
By GatewaySysop
Bug in get_exp_worth( )
Oct 10, 2017, 1:26 am
By GatewaySysop
Bug in do_drag( )
Oct 8, 2017, 12:40 am
By GatewaySysop
LOP Heroes Edition
Author: Vladaar
Submitted by: Vladaar
Heroes sound extras
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.3
Author: Vladaar
Submitted by: Vladaar
Memwatch
Author: Johan Lindh
Submitted by: Vladaar
Beastmaster 6D sound files
Author: Vladaar
Submitted by: Vladaar
Users Online
CommonCrawl

Members: 0
Guests: 11
Stats
Files
Topics
Posts
Members
Newest Member
476
3,704
19,231
608
LAntorcha
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Codebases » SmaugFUSS » Floating Points
Forum Rules | Mark all | Recent Posts

Floating Points
< Newer Topic :: Older Topic > Cheat? Now there's a good idea!

Pages:<< prev 1 next >>
Post is unread #1 Feb 7, 2004, 3:42 am   Last edited Feb 7, 2004, 3:46 am by angelus433
Go to the top of the page
Go to the bottom of the page

angelus433
New Member
GroupMembers
Posts2
JoinedJan 10, 2004

Cheat? Man, you're a genius :)
After reading that I thought, hey why don't I just fake it?
I ditched all the floating point junk, and it turns out I really didn't need it to be in that format anyhow. Instead, what I did was have skill adepts save at a range of 0-100 and multiply that by 100. For the displays which print things and such, I just used a different way of showing that like so:
pager_printf(ch, "&B%9s: &w%17.17s \t &BCurrent: %s%3d.%d &BMax: &W%3d.%d %s%s&B \n\r",
  skn, skill_table[sn]->name,
  ch->pcdata->learned[sn] > 0 ? "&W" : "&w",
  ch->pcdata->learned[sn]/100, ch->pcdata->learned[sn] % 100,
  dual_adept(ch, sn) / 100, dual_adept(ch, sn) % 100,
  skill_table[sn]->prereq && skill_table[sn]->prereq[0] != '\0' ? "&BPrereq: &C" : "",
  skill_table[sn]->prereq && skill_table[sn]->prereq[0] != '\0' ? skill_table[sn]->prereq : "" );


And have the learn_from_success/failure and several other functions raise or lower the current adept % accordingly.

On a side note, processing the floating point numbers in a skills table as large as I have was considerably slower.

Once again, cheap, hackish fixes save the day!

Thanks for the inspiration,
Exodus
       
Pages:<< prev 1 next >>