Re: Agility, Power, & if (!str_cmp("argument", buf))

From: David Cole (
Date: 11/23/01

Many thanks for the info on st_cmp and the prompt situation :)

> > I've added two new stats to the mud agility and power, power is for
> > summoning, eg: conjurers, how well they can summon elementals and pets
> > and agility is a rogue, and handler related stat.
> >
> Consider this design carefully.  For instance, can you provide clear
> answers to the following questions:
>   * What quality does agility represent?
Agility is basicly, in a, sense going to take dex's place, minus the
movement point section. Dex will mainly be used to get the players movement
points at creation and bonus movement points during level's. Agility will
determine how well you can apply poison to daggers to inffect your opponents
durring battle etc and many other things.

>   * What quality does dexterity represent?
Movement points, & movement point bonus for levels.

>   * What does dexterity quantify that agility does not?
>   * What does agility quantify that dexterity does not?
Its not that it doesn't, rather that i preffer to have another stat that
takes half its work to make things a bit more interesting/difficult, however
you want to put it.

>   * Is there overlap between the stats?
Yes, not many. Agility also determines movement points but ONLY at first
creation and even then it doesnt ask to much of it, it mainly depends on
your class as to what your stats need to be.
>   * Will my players know the difference?  (Is it obvious?)
Yes it will be very obvious.

> The following places need to be updated for a change to be saved and read
> in ASCII pfiles:
> structs.h - the char_data structure (or one of the embedded structs, like
> char_ability_data, as you did.)
> pfdefaults.h - one line per change.
> db.c - char_to_store and store_to_char
>        My guess is that this is where you forget to add lines like:
>        if (GET_POW(ch) != PFDEF_POW)
>          fprintf(fl, "Powe: %d\n", GET_POW(ch));
>        and
>          else if(!strcmp(tag, "Powe"))
>            GET_POW(ch) = num;
> utils.h - define the accessor macro GET_x, etc.

Here is what i have done with agility and power:
in struch.h i've added agi and pow to char_ability_data. in db.c i've added

    GET_AGI(ch) = PFDEF_AGI;
    GET_POW(ch) = PFDEF_POW;
to int load_char, as well as created case's for them lower down in the file:

if(!strcmp(tag, "Agi "))
   GET_AGI(ch) = num;
if(!strcmp(tag, "Pow "))
   GET_POW(ch) = num;
etc etc...

in pfilepos.h:
#define PFDEF_AGI  0
#define PFDEF_POW  0
in the proper places.

I belive thats it, i havent gotten around to making the app_pow etc in
constat.c for both stats, last time i tryed it complained about and
undefined local variable or something about app_pow and app_dex (I could be
wrong about the error its been a few weeks so please if its wrong try not to
laugh at me too hard. :p). Any ideas?

David Cole

   | FAQ: |
   | Archives: |

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