Merged redundant hak files. Moved hak scripts into module. Updated gitignore. Full Compile. Added release folder & archive.
48 lines
1.6 KiB
Plaintext
48 lines
1.6 KiB
Plaintext
/////////////////////////////////////////////////////
|
|
// NPC ACTIVITIES 5.0 - OnUse Anvil
|
|
//--------------------------------------------------
|
|
// By Deva Bryson Winblood.
|
|
// Also used with NPC ACTIVITIES 6.0 but, did not require modification
|
|
/////////////////////////////////////////////////////
|
|
// SCRIPT: npcact_use_anvil
|
|
/////////////////////////////////////////////////////
|
|
|
|
void MainAction(object oUser)
|
|
{ // do action
|
|
effect eSpark=EffectVisualEffect(VFX_COM_SPARKS_PARRY);
|
|
object oMe=GetNearestObjectByTag("Anvil",oUser,1);
|
|
AssignCommand(oUser,ActionAttack(oMe,TRUE));
|
|
DelayCommand(4.0,AssignCommand(oUser,ActionAttack(oMe,TRUE)));
|
|
DelayCommand(15.8,AssignCommand(oUser,ClearAllActions()));
|
|
DelayCommand(16.0,AssignCommand(oUser,ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD,1.0,4.0)));
|
|
} // do action
|
|
|
|
|
|
void main()
|
|
{
|
|
object oUser=GetLastUsedBy();
|
|
object oPrimary=GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oUser);
|
|
int nHasHammer=FALSE;
|
|
effect eDom=EffectCutsceneDominated();
|
|
if (TestStringAgainstPattern("(**hammer**|**Hammer**)",GetName(oPrimary))) nHasHammer=TRUE;
|
|
if (oUser!=OBJECT_INVALID&&nHasHammer)
|
|
{ //!OI
|
|
if (GetIsPC(oUser))
|
|
{ // PC
|
|
MainAction(oUser);
|
|
} // PC
|
|
else
|
|
{ // NPC
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eDom,oUser,18.0);
|
|
AssignCommand(oUser,ClearAllActions());
|
|
SetLocalInt(oUser,"nGNBDisabled",TRUE);
|
|
MainAction(oUser);
|
|
DelayCommand(18.0,SetLocalInt(oUser,"nGNBDisabled",FALSE));
|
|
} // NPC
|
|
} //!OI
|
|
else if (!nHasHammer)
|
|
{
|
|
AssignCommand(oUser,ActionSpeakString("Trying to work an anvil without a hammer is fools play!"));
|
|
}
|
|
}
|