----- Original Message -----
From: "Jesper Röjestål" <rk@ARADJA.COM>
> the problem is: how do i do to get affect_total to set aff_abils not
> over the real_abils
> and still have stradd calculated properly, currently when you are at
> 19str and get an -2str affect
> your str will drop to 17 not 18(90), please someone help me with this,
> before i scratch all my hair of my head...
I'd say this is the desired behaviour, actually. When a
player/mob with strength of 19 wears a -2 str object it _should_ have
a strength of 17. Also, when a warrior with strength 18/45 wears a
+1 strength object (and he's of a race who cannot become stronger than
18/00), the standard strength calculation formula should kick in, changing
his strength to 18/55. This also implies that a player of a race that
easily becomes stronger then 18/100 (let's say giants, for example), just like
mobs, just jumps from 18 to 19 strength.
What you want is something like this:
if (IS_NPC(ch)) {
GET_STR(ch) = MIN(GET_STR(ch), i);
} else {
switch GET_RACE(ch) {
case RACE_1:
case RACE_2:
case RACE_3:
if (GET_STR(ch) > 18) {
i = GET_ADD(ch) + ((GET_STR(ch) - 18) * 10);
GET_ADD(ch) = MIN(i, 100);
GET_STR(ch) = 18;
}
break;
case RACE_4:
case RACE_5:
default:
GET_STR(ch) = MIN(GET_STR(ch), class_str_limit[GET_CLASS(ch)]);
break;
}
}
If you don't agree, at least I hope you get the ideas from the code...
Welcor
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/06/01 PST