As I am trying to add an old multiclass code from Lost Prophecy files. To the 1.9.3 smaug mud.h file I notice that I cannot find the exact location of the first changes.
It states:
in mud.h
to char_data below
sh_int class;
add
sh_int dualclass;
Add to your defines:
#define IS_DUAL(ch) ((ch)->dualclass > -1)
change IS_VAMPIRE
#define IS_VAMPIRE(ch) (!IS_NPC(ch) \
&& ((ch)->class==CLASS_VAMPIRE \
|| (ch)->dualclass==CLASS_VAMPIRE))
Add the following prototypes in:
bool DUAL_SKILL args((CHAR_DATA *ch, int sn));
int dual_adept args((CHAR_DATA *ch, int sn));
int find_skill_level args((CHAR_DATA *ch, int sn));
int hp_max args((CHAR_DATA *ch));
int hp_min args((CHAR_DATA *ch));
bool use_mana args((CHAR_DATA *ch));
When I look in mud.h I do not see a reference that looks like:
sh_int class;
under a char_data field. Is it possible to still add
multiclass to the new version or am I not seeing where the proper field is?
If anyone has attempted this recently and can give info it would help me greatly.
-------
Could this be referring to the this section of mud.h
struct char_data
{
CHAR_DATA *next;
CHAR_DATA *prev;
CHAR_DATA *next_in_room;
CHAR_DATA *prev_in_room;
CHAR_DATA *master;
CHAR_DATA *leader;
FIGHT_DATA *fighting;
CHAR_DATA *reply;
CHAR_DATA *retell;
CHAR_DATA *switched;
CHAR_DATA *mount;
HHF_DATA *hunting;
HHF_DATA *fearing;
HHF_DATA *hating;
VARIABLE_DATA *variables;
SPEC_FUN *spec_fun;
const char *spec_funname;
MPROG_ACT_LIST *mpact;
int mpactnum;
unsigned short mpscriptpos;
MOB_INDEX_DATA *pIndexData;
DESCRIPTOR_DATA *desc;
AFFECT_DATA *first_affect;
AFFECT_DATA *last_affect;
NOTE_DATA *pnote;
NOTE_DATA *comments;
OBJ_DATA *first_carrying;
OBJ_DATA *last_carrying;
ROOM_INDEX_DATA *in_room;
ROOM_INDEX_DATA *was_in_room;
PC_DATA *pcdata;
DO_FUN *last_cmd;
DO_FUN *prev_cmd; /* mapping */
void *dest_buf; /* This one is to assign to differen things */
const char *alloc_ptr; /* Must str_dup and free this one */
void *spare_ptr;
int tempnum;
EDITOR_DATA *editor;
TIMER *first_timer;
TIMER *last_timer;
CHAR_MORPH *morph;
const char *name;
const char *short_descr;
const char *long_descr;
const char *description;
short num_fighting;
short substate;
short sex;
short Class;
short race;
short level;
short trust;
int played;
time_t logon;
time_t save_time;
short timer;
short wait;
short hit;
short max_hit;
short mana;
short max_mana;
short move;
short max_move;
short practice;
short numattacks;
int gold;
int exp;
EXT_BV act;
EXT_BV affected_by;
EXT_BV no_affected_by;
int carry_weight;
int carry_number;
int xflags;
int no_immune;
int no_resistant;
int no_susceptible;
int immune;
int resistant;
int susceptible;
EXT_BV attacks;
EXT_BV defenses;
int speaks;
int speaking;
short saving_poison_death;
short saving_wand;
short saving_para_petri;
short saving_breath;
short saving_spell_staff;
short alignment;
short barenumdie;
short baresizedie;
short mobthac0;
short hitroll;
short damroll;
short hitplus;
short damplus;
short position;
short defposition;
short style;
short height;
short weight;
short armor;
short wimpy;
int deaf;
short perm_str;
short perm_int;
short perm_wis;
short perm_dex;
short perm_con;
short perm_cha;
short perm_lck;
short mod_str;
short mod_int;
short mod_wis;
short mod_dex;
short mod_con;
short mod_cha;
short mod_lck;
short mental_state; /* simplified */
short emotional_state; /* simplified */
int retran;
int regoto;
short mobinvis; /* Mobinvis level SB */
short colors[MAX_COLORS];
int home_vnum; /* hotboot tracker */
int resetvnum;
int resetnum;
bool loadedself; /* Used to see if mpmloaded self, if so skip changing the reset for it currently */
---
If anyone has any information on this please let me know.
Thanks