On Sat, 27 Apr 1996, Fionn Colvin wrote: > Hi all, > Has anyone added skills to E-Type mobs? If so, would you mind > sharing how you went about it? First off, have you made it so mobs have a place to store skills? If not, you'll need to do some fiddling in db.c... This is how my db.c is changed... I'm running a hybrid of pl3 to pl11 though, so things might not be exact. In the parse_mobile() function you can replace: mob_proto[i].player_specials = &dummy_mob; with: CREATE((mob_proto + i)->player_specials, struct player_special_data, 1); Then, in read_mobile, add: *mob->player_specials = *mob_proto[i].player_specials; Now in free_char(), where it calls free(ch->player_specials) You want to make a check if (!IS_NPC(ch)) first, so that you don't free the prototype's skills. Okay, now you've got a slot to store skills for mobs, the espec is pretty simple. I just finished this myself, so its not streamlined and could probably use some sanity checking, but it works fine for me... :) In interpret_espec(), I defined some new variabled, namely arg1, arg2 as char arrays, and skill and percent as ints... make a new case at the bottem... CASE("Skill") { two_arguments(value, arg1, arg2); skill = atoi(arg1); percent = ati(arg2); SET_SKILL(mob_proto + i, skill, percent); } I know, that could be more efficient, and I could do with some sanity checking on the ints,, but I just added this recently to see if it would even work, and havnt gotten around to polishing it up yet. In the E mobs, just add Skill: <skillnumber> <howmuch> and they have skills... example: Skill: 134 50 Would give them kick at 50% ... hum, maybe kick issnt 134 in the stock spells.h ? I can't remember if I renumbered the skills or not... oh well, you get the idea. -Sky
This archive was generated by hypermail 2b30 : 12/18/00 PST