generated from Jaysyn/ModuleTemplate
Initial commit
Initial commit
This commit is contained in:
73
_module/nss/lara_whip_act.nss
Normal file
73
_module/nss/lara_whip_act.nss
Normal file
@@ -0,0 +1,73 @@
|
||||
#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<NUM_INVENTORY_SLOTS; nSlot++)
|
||||
{
|
||||
oItem=GetItemInSlot(nSlot, oPC);
|
||||
if (GetTag(oItem) == "lara_whip_act")
|
||||
AssignCommand(oPC, ActionUnequipItem(oItem));
|
||||
if (GetTag(oItem) == "lara_hand_act")
|
||||
AssignCommand(oPC, ActionUnequipItem(oItem));
|
||||
if (GetTag(oItem) == "lara_soul_act")
|
||||
AssignCommand(oPC, ActionUnequipItem(oItem));
|
||||
if (GetTag(oItem) == "lara_mind_act")
|
||||
AssignCommand(oPC, ActionUnequipItem(oItem));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user