> What I think you might want to do, is in the area where it asks you for
> the mobs level, you could put a switch( atoi(arg)) or whatever it is,
> with cases for each level you want different stuff for... In those
> cases, put a GET_HP(olcmob) = 1000 or whatever you want(Note that isnot
> even resembling code in there, just an idea to get you started). It'll
> make your medit.c file extremely large, but it's just an idea.
Hmm.. how about setting this up at the top of medit.c:
const struct defaultMobStats
{
int hitNumDice;
int hitSizeDice;
int damNumDice;
int damSizeDice;
int experience;
int gold;
int armorClass;
(et cetera)
}
default[ ] =
{
// HND HSD DND DSD EXP GOLD AC LEVEL
{ 1, 1, 1, 1, 1, 0, 100 }, // 0
{ 2, 5, 7, 12, 2000, 150, 100 }, // 1
{ 3, 6, 8, 14, 2100, 213, 185 }, // 2
. . . . . . . // .
. . . . . . . // .
. . . . . . . // .
{ 69, 69, 69, 69, 690000, 6900, -69 } // 69
};
I suppose you could use formulae instead, but I'd prefer a hard-coded
array, myself. Anyway, when a builder inputs a level (stored here in the
variable 'level'), run something like this:
GET_LEVEL( pMob ) = level;
GET_HND( pMob ) = default[ level ].hitNumDice;
GET_HSD( pMob ) = default[ level ].hitSizeDice;
GET_DND( pMob ) = default[ level ].damNumDice;
GET_DND( pMob ) = default[ level ].damSizeDice;
GET_EXP( pMob ) = default[ level ].experience;
GET_GOLD( pMob ) = default[ level ].gold;
GET_AC( pMob ) = default[ level ].armorClass;
Piece of cake. :) Hope this helps..
Brian
Disclaimer: All aforewritten code is MAILER CODE(tm). It is meant to be a
guideline, NOT a 'plug-in' snippet. :)
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST