Aschbourne_PRC8/_module/nss/vamp_children.nss

75 lines
2.8 KiB
Plaintext
Raw Permalink Normal View History

2024-06-14 10:48:20 -04:00
//Summon Wolf and add it as henchman.
/* DAVIDBEOULVE: I changed the variables 'VampChildrenWolfUsed' and
'VampChildrenRatUsed' to be the same one so that only one summoned can
work at a time... and to avoid the faction bug where they always tried
to kill each other.
*/
void vamp_children_wolf(object oPC, location lLocation)
{
effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_1);
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eVis, lLocation);
// if (GetLocalInt(oPC,"VampChildrenWolfUsed")==1)
if (GetLocalInt(oPC,"VampChildrenUsed")==1)
{
object oCreature = GetHenchman(oPC);
if (GetIsObjectValid(oCreature)==TRUE)
{
RemoveHenchman(oPC,oCreature);
DestroyObject(oCreature);
}
// SetLocalInt(oPC,"VampChildrenWolfUsed",0);
SetLocalInt(oPC,"VampChildrenUsed",0);
}
else
{
//effect eSummon = EffectSummonCreature("NW_WOLF_000");
//ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, lLocation, HoursToSeconds(12));
CreateObject(OBJECT_TYPE_CREATURE,"vampwolf",lLocation, TRUE,"WOLF");
object oCreature = GetObjectByTag("WOLF");
SetAssociateListenPatterns(oCreature);
// * Companions, come in, by default with Attack Nearest Enemy && Follow Master modes
SetLocalInt(oCreature,"NW_COM_MODE_COMBAT",ASSOCIATE_COMMAND_ATTACKNEAREST);
SetLocalInt(oCreature,"NW_COM_MODE_MOVEMENT",ASSOCIATE_COMMAND_FOLLOWMASTER);
AddHenchman(oPC,oCreature);
// SetLocalInt(oPC,"VampChildrenWolfUsed",1);
SetLocalInt(oPC,"VampChildrenUsed",1);
}
}
//Summon Dire Rat and add it as henchman.
void vamp_children_rat(object oPC, location lLocation)
{
effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_1);
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eVis, lLocation);
// if (GetLocalInt(oPC,"VampChildrenRatUsed")==1)
if (GetLocalInt(oPC,"VampChildrenUsed")==1)
{
object oCreature = GetHenchman(oPC);
if (GetIsObjectValid(oCreature)==TRUE)
{
RemoveHenchman(oPC,oCreature);
DestroyObject(oCreature);
}
// SetLocalInt(oPC,"VampChildrenRatUsed",0);
SetLocalInt(oPC,"VampChildrenUsed",0);
}
else
{
CreateObject(OBJECT_TYPE_CREATURE,"vamprat",lLocation, TRUE,"RAT");
object oCreature = GetObjectByTag("RAT");
SetAssociateListenPatterns(oCreature);
// * Companions, come in, by default with Attack Nearest Enemy && Follow Master modes
SetLocalInt(oCreature,"NW_COM_MODE_COMBAT",ASSOCIATE_COMMAND_ATTACKNEAREST);
SetLocalInt(oCreature,"NW_COM_MODE_MOVEMENT",ASSOCIATE_COMMAND_FOLLOWMASTER);
AddHenchman(oPC,oCreature);
// SetLocalInt(oPC,"VampChildrenRatUsed",1);
SetLocalInt(oPC,"VampChildrenUsed",1);
}
}