Re: affect_total problems

From: Welcor (
Date: 10/27/01

----- 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;
      case RACE_4:
      case RACE_5:
        GET_STR(ch) = MIN(GET_STR(ch), class_str_limit[GET_CLASS(ch)]);

If you don't agree, at least I hope you get the ideas from the code...


   | FAQ: |
   | Archives: |

This archive was generated by hypermail 2b30 : 12/06/01 PST