generated from Jaysyn/ModuleTemplate
72 lines
2.2 KiB
Plaintext
72 lines
2.2 KiB
Plaintext
//Werewolf Cure, just import
|
|
void werewolf()
|
|
{
|
|
//SpeakString("Cure Script fired.");
|
|
object oTarget = GetSpellTargetObject();
|
|
object oCaster = OBJECT_SELF;
|
|
int iWolfDays = GetLocalInt(oTarget,"WOLF_PERM");
|
|
int iWolfDay = GetLocalInt(oTarget,"WOLF_DAYS");
|
|
int iYesWolf = GetLocalInt(oTarget,"AFF_WEREWOLF");
|
|
int iCureSpell = PRCGetSpellId();
|
|
int iCasterLevel = GetLevelByClass(CLASS_TYPE_CLERIC,oCaster);
|
|
|
|
if((iCureSpell == SPELL_HEAL) && (!(iWolfDays)) && (iCasterLevel >= 12))
|
|
{
|
|
if(iYesWolf)
|
|
{
|
|
object oTool = GetFirstItemInInventory(oTarget);
|
|
string sTool = ("ControlShapeTool");
|
|
while(GetIsObjectValid(oTool))
|
|
{
|
|
string sDestroy=GetTag(oTool);
|
|
if(sDestroy==sTool)
|
|
{
|
|
DestroyObject(oTool);
|
|
}
|
|
oTool = GetNextItemInInventory(oTarget);
|
|
}
|
|
SendMessageToPC(oTarget,"The Curse of Lycanthropy has been lifted.");
|
|
DeleteLocalInt(oTarget,"AFF_WEREWOLF");
|
|
}
|
|
}
|
|
if((iCureSpell == SPELL_REMOVE_DISEASE) && (!(iWolfDays)) && (iCasterLevel >= 12) && (iYesWolf))
|
|
{
|
|
if(iYesWolf)
|
|
{
|
|
object oTool = GetFirstItemInInventory(oTarget);
|
|
string sTool = ("ControlShapeTool");
|
|
while(GetIsObjectValid(oTool))
|
|
{
|
|
string sDestroy=GetTag(oTool);
|
|
if(sDestroy==sTool)
|
|
{
|
|
DestroyObject(oTool);
|
|
}
|
|
oTool = GetNextItemInInventory(oTarget);
|
|
}
|
|
SendMessageToPC(oTarget,"The Curse of Lycanthropy has been lifted.");
|
|
DeleteLocalInt(oTarget,"AFF_WEREWOLF");
|
|
}
|
|
}
|
|
if((iCureSpell == SPELL_REMOVE_CURSE) && (iWolfDay < 4))
|
|
{
|
|
int iWillSave = WillSave(oTarget,20);
|
|
if((iWillSave)&& (iYesWolf))
|
|
{
|
|
object oTool = GetFirstItemInInventory(oTarget);
|
|
string sTool = ("ControlShapeTool");
|
|
while(GetIsObjectValid(oTool))
|
|
{
|
|
string sDestroy=GetTag(oTool);
|
|
if(sDestroy==sTool)
|
|
{
|
|
DestroyObject(oTool);
|
|
}
|
|
oTool = GetNextItemInInventory(oTarget);
|
|
}
|
|
SendMessageToPC(oTarget,"The Curse of Lycanthropy has been lifted.");
|
|
DeleteLocalInt(oTarget,"AFF_WEREWOLF");
|
|
}
|
|
}
|
|
}
|