On Fri, 7 Feb 1997, Brian Williams - Nashak wrote: > question... would > int percent = (GET_HIT(victim) / dam) * 100; > always return 100? > I want it so that it'll go into decimals for the division, and then > * 100 would be the percent of hp you do in damage.. thanks for > a response =) try this brian (it will return 0% if hp <= 0... prevents divide by 0 errors and negative values) NOTE: written in mailer :) int get_percent_damage(struct char_data *victim, int damage) { return ( (GET_HIT(victim) > 0) ? ((dam * 100) / GET_HIT(victim)) : 0 ); } so, to use the examples of daniel and mark (25 hp and 2 dam) ((2 * 100) / 25) = 8% damage all in integer arithmetic without using floating point. enjoy... +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST