61 lines
1.6 KiB
Plaintext
61 lines
1.6 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Name oldhermit_onhb
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Strange Old Hermit's HB script.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_inc_spells"
|
|
|
|
/* // Metamagic flag for Extend Spell
|
|
const int METAMAGIC_EXTEND = 4; */
|
|
|
|
// Check if SPELL_REPEL_VERMIN is active on OBJECT_SELF
|
|
int IsRepelVerminActive()
|
|
{
|
|
|
|
// Iterate through all active effects on the object
|
|
effect eCurrent = GetFirstEffect(OBJECT_SELF);
|
|
while (GetIsEffectValid(eCurrent))
|
|
{
|
|
int nSpellId = GetEffectSpellId(eCurrent);
|
|
if (nSpellId == SPELL_REPEL_VERMIN)
|
|
{
|
|
return TRUE; // Found the spell effect
|
|
}
|
|
|
|
eCurrent = GetNextEffect(OBJECT_SELF);
|
|
}
|
|
|
|
return FALSE; // Spell effect not found
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oNPC = OBJECT_SELF;
|
|
|
|
if (!GetIsAreaInterior())
|
|
{
|
|
if (!IsRepelVerminActive())
|
|
{
|
|
// Get the NPCs HitDice
|
|
int nSpellLevel = GetHitDice(OBJECT_SELF);
|
|
|
|
// Cast SPELL_REPEL_VERMIN with Extend Spell metamagic
|
|
ActionSpeakString("Aggh, damn bugs!!", TALKVOLUME_TALK);
|
|
DelayCommand(0.1f, ActionCastSpellAtObject(SPELL_REPEL_VERMIN, oNPC, METAMAGIC_EXTEND, TRUE, nSpellLevel, FALSE));
|
|
}
|
|
}
|
|
|
|
if ((!GetIsInCombat(oNPC) && (GetItemInSlot(INVENTORY_SLOT_CHEST) == OBJECT_INVALID)))
|
|
DelayCommand(0.5f, ActionEquipMostEffectiveArmor());
|
|
|
|
//:: Execute the default NPC OnHeartbeat script
|
|
ExecuteScript("nw_c2_default1", oNPC);
|
|
|
|
//:: Execute the PRC NPC OnHeartbeat script
|
|
ExecuteScript("prc_npc_hb", oNPC);
|
|
|
|
} |