// ==> This file will deal with combat skills... #include "../mud.h" #include "../character.h" #include "../account.h" #include "../storage.h" #include "../auxiliary.h" #include "../handler.h" #include "../socket.h" #include "../utils.h" #include "../save.h" #include "../set_val/set_val.h" #include "../bitvector.h" #include "../room.h" #include "../world.h" #include "../action.h" #include "skills.h" #include "skillpoints.h" #include "lessons.h" #include "religionskills.h" /************************************************************************ * auxiliary data for bank * ************************************************************************/ typedef struct religion_data { int ceremony; int sacrifice; int blessing; } RELIGION_DATA; RELIGION_DATA *newReligionData() { RELIGION_DATA *data = malloc(sizeof(RELIGION_DATA)); data->ceremony = 0; data->sacrifice = 0; data->blessing = 0; return data; } void deleteReligionData(RELIGION_DATA *data) { free(data); } void religionDataCopyTo(RELIGION_DATA *from, RELIGION_DATA *to) { to->ceremony = from->ceremony; to->sacrifice = from->sacrifice; to->blessing = from->blessing; } RELIGION_DATA *religionDataCopy(RELIGION_DATA *data) { RELIGION_DATA *new_data = newReligionData(); religionDataCopyTo(data, new_data); return new_data; } STORAGE_SET *religionDataStore(RELIGION_DATA *data) { STORAGE_SET *set = new_storage_set(); store_int(set, "ceremony", data->ceremony); store_int(set, "sacrifice", data->sacrifice); store_int(set, "blessing", data->blessing); return set; } RELIGION_DATA *religionDataRead(STORAGE_SET *set) { RELIGION_DATA *data = newReligionData(); data->ceremony = read_int(set, "ceremony"); data->sacrifice = read_int(set, "sacrifice"); data->blessing = read_int(set, "blessing"); return data; } /************** Ceremony **************/ int charGetCeremony(CHAR_DATA *ch) { RELIGION_DATA *data = charGetAuxiliaryData(ch, "religion_aux_data"); return data->ceremony; } void charSetCeremony(CHAR_DATA *ch, int new_ceremony) { RELIGION_DATA *religiondata = charGetAuxiliaryData(ch, "religion_aux_data"); religiondata->ceremony = new_ceremony; return; } /************** Sacrifice **************/ int charGetSacrifice(CHAR_DATA *ch) { RELIGION_DATA *data = charGetAuxiliaryData(ch, "religion_aux_data"); return data->sacrifice; } void charSetSacrifice(CHAR_DATA *ch, int new_sacrifice) { RELIGION_DATA *religiondata = charGetAuxiliaryData(ch, "religion_aux_data"); religiondata->sacrifice = new_sacrifice; return; } /************** Blessing **************/ int charGetBlessing(CHAR_DATA *ch) { RELIGION_DATA *data = charGetAuxiliaryData(ch, "religion_aux_data"); return data->blessing; } void charSetBlessing(CHAR_DATA *ch, int new_blessing) { RELIGION_DATA *religiondata = charGetAuxiliaryData(ch, "religion_aux_data"); religiondata->blessing = new_blessing; return; } /************************************************************************ Below here are all of the init_ functions for this file. *************************************************************************/ void init_religionskills(void) { add_set("ceremony", SET_CHAR, SET_TYPE_INT, charSetCeremony, NULL); add_set("sacrifice", SET_CHAR, SET_TYPE_INT, charSetSacrifice, NULL); add_set("blessing", SET_CHAR, SET_TYPE_INT, charSetBlessing, NULL); auxiliariesInstall("religion_aux_data", newAuxiliaryFuncs(AUXILIARY_TYPE_CHAR, newReligionData, deleteReligionData, religionDataCopyTo, religionDataCopy, religionDataStore, religionDataRead)); }