#include "nw_i0_plot" void main() { object oPC = GetItemActivator(); object oArea = GetArea(oPC); int Hostess_Ego = 0; int Hostess_Save_DC = 0; string sDiseaseCount = "disease_count"; // Has whip? Add 7 Ego and 5 DC if (HasItem(oPC, "lara_whip_act")) { Hostess_Ego = Hostess_Ego + 7; Hostess_Save_DC = Hostess_Save_DC + 5; } // Has hand? Add 8 Ego and 5 DC if (HasItem(oPC, "lara_hand_act")) { Hostess_Ego = Hostess_Ego + 8; Hostess_Save_DC = Hostess_Save_DC + 5; } // Has soul? Add 11 Ego and 10 DC if (HasItem(oPC, "lara_soul_act")) { Hostess_Ego = Hostess_Ego + 10; Hostess_Save_DC = Hostess_Save_DC + 10; } // Has mind? Add 16 Ego and 15 DC if (HasItem(oPC, "lara_mind_act")) { Hostess_Ego = Hostess_Ego + 16; Hostess_Save_DC = Hostess_Save_DC + 15; } // Get number of times the magical disease has taken over the PC Hostess_Save_DC = Hostess_Save_DC + GetLocalInt(oPC, sDiseaseCount); // Fail will save? Check vs. disease... int WillSaveResult = WillSave(oPC, Hostess_Ego, SAVING_THROW_TYPE_NONE, OBJECT_SELF); int FortSaveResult = FortitudeSave(oPC, Hostess_Save_DC, SAVING_THROW_TYPE_DISEASE, OBJECT_SELF); if (WillSaveResult == 0) { // Fail fort (disease) save? Go crazy! if (FortSaveResult == 0) { int NewDiseaseCount = GetLocalInt(oPC, sDiseaseCount) + 1; SetLocalInt(oPC, sDiseaseCount, NewDiseaseCount); effect NewForm = EffectPolymorph(POLYMORPH_TYPE_WERECAT, TRUE); ExtraordinaryEffect(NewForm); float NewFormLength = NewDiseaseCount * 10.0f; ApplyEffectToObject(DURATION_TYPE_TEMPORARY, NewForm, oPC, NewFormLength); } } // Immune to disease? Unequip all of the Hostess items. int nSlot = 0; object oItem; if (FortSaveResult == 2) { ClearAllActions(TRUE); effect NewDamage = EffectDamage(Hostess_Ego + Hostess_Save_DC, DAMAGE_TYPE_DIVINE); ApplyEffectToObject(DURATION_TYPE_INSTANT, NewDamage, oPC); for (nSlot=0; nSlot