Aschbourne_PRC8/_module/nss/ww_act_bel.nss

124 lines
5.1 KiB
Plaintext
Raw Normal View History

2024-06-14 10:48:20 -04:00
void main()
{
object oItem = GetItemActivated();
object oPC = GetItemActivator();
string sItemTag=GetTag(oItem);
int nToHeal;
effect eHeal;
effect eVis = EffectVisualEffect(VFX_IMP_HEALING_S);
DelayCommand(1.0,AssignCommand(oPC,ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW)));
//AssignCommand(oPC,ActionSpeakString("DEBUG: Belladonna Script Fired."));
//werewolf belladonna
if(sItemTag=="PotionOfBEL")
{
int iWolfDays = GetLocalInt(oPC,"WOLF_DAYS");
int iWolfPerm = GetLocalInt(oPC,"WOLF_PERM");
int iBellUsed = GetLocalInt(oPC,"Bell_Used");
int iBCure = GetLocalInt(oPC,"iBCure");
if(((iWolfPerm == 1)&&(iWolfDays >1))||(iBCure ==1))
{
AssignCommand(oPC,ActionSpeakString("This Belledonna is bitter to taste!"));
}
else
{
AssignCommand(oPC,ActionSpeakString("This Belledonna is bitter to taste!"));
SetCampaignInt("WWData","iBCure",1,oPC);
SetLocalInt(oPC, "iBCure", 1);
int iWereWolf = GetLocalInt(oPC,"AFF_WEREWOLF");
int iWolfSave = FortitudeSave(oPC,20);
int nHeal = GetSkillRank(SKILL_HEAL, oPC);
int nRandom = d20(1);
int nResult = nRandom + nHeal;
int iBelWorks = iBCure;
if((iWolfSave) && (iWereWolf == 1) && (iBelWorks == 1))
{
object oTool = GetFirstItemInInventory(oPC);
object oWolfTool = GetFirstItemInInventory(oPC);
string sTool = ("controlshapetool");
string sWolfTool = ("wolfformtool");
while(GetIsObjectValid(oTool))
{
string sDestroy=GetTag(oTool);
if(sDestroy==sTool)
{
DestroyObject(oTool);
}
oTool = GetNextItemInInventory(oPC);
}
while(GetIsObjectValid(oWolfTool))
{
string sDestroy=GetTag(oWolfTool);
if(sDestroy==sWolfTool)
{
DestroyObject(oWolfTool);
}
oWolfTool = GetNextItemInInventory(oPC);
}
SetCampaignInt("WWData","AFF_WEREWOLF",0,oPC);
SetLocalInt(oPC,"AFF_WEREWOLF",0);
AssignCommand(oPC,ActionSpeakString("I don't feel very well . . ."));
}
if((nResult >= 20) && (iWereWolf == 1) && (iBelWorks == 1))
{
object oTool = GetFirstItemInInventory(oPC);
object oWolfTool = GetFirstItemInInventory(oPC);
string sTool = ("controlshapetool");
string sWolfTool = ("wolfformtool");
while(GetIsObjectValid(oTool))
{
string sDestroy=GetTag(oTool);
if(sDestroy==sTool)
{
DestroyObject(oTool);
}
oTool = GetNextItemInInventory(oPC);
}
while(GetIsObjectValid(oWolfTool))
{
string sDestroy=GetTag(oWolfTool);
if(sDestroy==sWolfTool)
{
DestroyObject(oWolfTool);
}
oWolfTool = GetNextItemInInventory(oPC);
}
SetCampaignInt("WWData","AFF_WEREWOLF",0,oPC);
SetLocalInt(oPC,"AFF_WEREWOLF",0);
AssignCommand(oPC,ActionSpeakString("I don't feel very well . . ."));
}
}
//SendMessageToPC(oPC,""DEBUG: Bell Toxin Save.");
int iBelSave = FortitudeSave(oPC,13);
int iBelSave2 = FortitudeSave(oPC,13);
if(!(iBelSave))
{
int iBelAmt = d6();
effect eBelPoison = EffectAbilityDecrease(ABILITY_STRENGTH,iBelAmt);
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eBelPoison,oPC);
SendMessageToPC(oPC,"The Belladonna Has Poisoned You.");
if(!(iBelSave2))
{
int iBelAmt = d6(2);
effect eBelPoison = EffectAbilityDecrease(ABILITY_STRENGTH,iBelAmt);
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eBelPoison,oPC);
//SendMessageToPC(oPC,"DEBUG: The Belladona Was Very Harsh To Your System.");
}
PlayVoiceChat(VOICE_CHAT_POISONED,oPC);
}
//SendMessageToPC(oPC,"DEBUG: You have saved from the Toxic Affects of Belladona");
}
//end werewolf belladonna
DestroyObject(oItem);
}