Added a convo node to get the gold your henchman picks up

ran the external compiler just in case, and it made new .ncs
This commit is contained in:
EpicValor
2023-09-15 19:40:28 -05:00
parent a0d5f98f53
commit d8cc875ac4
24 changed files with 7187 additions and 6217 deletions

View File

@@ -10,7 +10,7 @@ void main()
int bFound = FALSE;
string sName;
location lCenter = GetLocation(OBJECT_SELF);
object oThing = GetFirstObjectInShape(SHAPE_SPHERE,15.0,lCenter,TRUE,OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_ITEM);
object oThing = GetFirstObjectInShape(SHAPE_SPHERE,60.0,lCenter,TRUE,OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_ITEM);
while(GetIsObjectValid(oThing))
{
if(GetObjectType(oThing)==OBJECT_TYPE_ITEM)
@@ -23,8 +23,10 @@ void main()
case BASE_ITEM_ARMOR:*/
sName = GetName(oThing);
TurnToFaceObject(oThing);
ActionMoveToObject (oThing, TRUE, 1.0f);
ActionPickUpItem(oThing);
ActionDoCommand(SendMessageToPC(oMaster,GetName(OBJECT_SELF)+" picked up "+sName+"."));
/*break;
default:
@@ -41,12 +43,12 @@ void main()
|| (GetIsTrapped(oThing) && !GetTrapDetectedBy(oThing,OBJECT_SELF))))
{
bFound = TRUE;
ActionMoveToObject(oThing);
ActionMoveToObject (oThing, TRUE, 1.0f);
ActionDoCommand(AssignCommand(oThing,PlayAnimation(ANIMATION_PLACEABLE_OPEN)));
//ActionInteractObject(oThing);
//ActionDoCommand(DoPlaceableObjectAction(oThing,PLACEABLE_ACTION_USE));
TurnToFaceObject(oThing);
ActionPlayAnimation(ANIMATION_LOOPING_GET_MID,1.0,3.0);
ActionPlayAnimation(ANIMATION_LOOPING_GET_MID,2.0,0.5);
object oItem = GetFirstItemInInventory(oThing);
while(GetIsObjectValid(oItem))
{
@@ -57,6 +59,7 @@ void main()
case BASE_ITEM_ARMOR:*/
ActionDoCommand(SendMessageToPC(oMaster,GetName(OBJECT_SELF)+" picked up "+GetName(oItem)+" from "+GetName(oThing)+"."));
ActionTakeItem(oItem,oThing);
/* break;
default:
break;
@@ -67,11 +70,15 @@ void main()
}
}
} // else
oThing = GetNextObjectInShape(SHAPE_SPHERE,15.0,lCenter,TRUE,OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_ITEM);
oThing = GetNextObjectInShape(SHAPE_SPHERE,60.0,lCenter,TRUE,OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_ITEM);
} // while(GetIsObjectValid(oThing))
ActionDoCommand(SetAssociateState(NW_ASC_IS_BUSY,FALSE));
if(!bFound)
SpeakString("I don't see where I can find any around here.");
}

View File

@@ -894,6 +894,16 @@ void bkRespondToHenchmenShout(object oShouter, int nShoutIndex, object oIntruder
if(GetAssociateType(OBJECT_SELF) == ASSOCIATE_TYPE_HENCHMAN)
{
FireHenchman(GetMaster(), OBJECT_SELF);
location lHome = GetLocation(GetObjectByTag("golemhome"));
ClearAllActions();
location lTarget = GetLocation(OBJECT_SELF);
ActionCastFakeSpellAtObject(SPELL_MINOR_GLOBE_OF_INVULNERABILITY, OBJECT_SELF);
DelayCommand(3.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3), lTarget, 5.0));
DelayCommand(3.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_LIGHT_RED_20), lTarget, 30.0));
AssignCommand(OBJECT_SELF, DelayCommand(6.1, JumpToLocation(lHome)));
DelayCommand(5.9, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3), lHome, 5.0));
DelayCommand(5.9, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_LIGHT_RED_20), lHome, 30.0));
DestroyObject(OBJECT_SELF, 10.0);
}
}
break;

11
_module/nss/golemgold.nss Normal file
View File

@@ -0,0 +1,11 @@
//golemgold
#include "69_inc_henai"
void main()
{
object oMaster = GetMaster();
int gGold = GetGold (OBJECT_SELF);
ActionDoCommand (GiveGoldToAllEqually (oMaster, gGold));
TakeGold (gGold, OBJECT_SELF, TRUE);
}