Area ambience, dialog, sound changes
Got NPCs sitting in the pub added hourly bell tolls Adjusted many sounds in sarum city main changed fog clip distance in many areas
This commit is contained in:
@@ -489,6 +489,7 @@ void sp_Spawn(object oNearest, string sTemplate, int iSpawnX)
|
||||
if (GetLocalInt(oNearest, "IsTreasure") && iValid)
|
||||
{
|
||||
oNewObject = CreateObject(OBJECT_TYPE_PLACEABLE, sTemplate, lCurrentWP, TRUE);
|
||||
oNewObject = CreateObject(OBJECT_TYPE_ITEM, sTemplate, lCurrentWP, TRUE);
|
||||
SetLocalInt(oNearest, "Spawning", GetLocalInt(oNearest, "Spawning") - 1);
|
||||
sp_TagObject(oNearest, "Item", oNewObject);
|
||||
}
|
||||
@@ -513,9 +514,9 @@ void sp_Spawn(object oNearest, string sTemplate, int iSpawnX)
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eSpawn, lCurrentWP);
|
||||
}
|
||||
oNewObject = CreateObject(OBJECT_TYPE_CREATURE, sTemplate, lCurrentWP, FALSE);
|
||||
CreateObject(OBJECT_TYPE_ITEM, sTemplate, lCurrentWP, FALSE);
|
||||
SetLocalInt(oNearest, "Spawning", GetLocalInt(oNearest, "Spawning") - 1);
|
||||
sp_TagObject(oNearest, "Creature", oNewObject);
|
||||
|
||||
}
|
||||
if (GetLocalInt(oNearest, "Camp") && !GetLocalInt(oNearest, "CampExists"))
|
||||
sp_SpawnCamp(oNearest, lCurrentWP);
|
||||
|
59
_module/nss/npc_sit_chair.nss
Normal file
59
_module/nss/npc_sit_chair.nss
Normal file
@@ -0,0 +1,59 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: npc_sit_stay
|
||||
//:://////////////////////////////////////////////
|
||||
/*Goes on the OnSpawn and OnConversation script of the NPC that you want to stay <span class="highlight">seated</span>*/
|
||||
|
||||
#include "NW_I0_GENERIC"
|
||||
void main()
|
||||
{
|
||||
int nMatch = GetListenPatternNumber();
|
||||
object oShouter = GetLastSpeaker();
|
||||
object oIntruder;
|
||||
if (nMatch == -1 && GetCommandable(OBJECT_SELF))
|
||||
{
|
||||
ClearAllActions();
|
||||
}
|
||||
else
|
||||
if(nMatch != -1 && GetIsObjectValid(oShouter) && !GetIsPC(oShouter) && GetIsFriend(oShouter))
|
||||
{
|
||||
if(nMatch == 4)
|
||||
{
|
||||
oIntruder = GetLocalObject(oShouter, "NW_BLOCKER_INTRUDER");
|
||||
}
|
||||
else if (nMatch == 5)
|
||||
{
|
||||
oIntruder = GetLastHostileActor(oShouter);
|
||||
if(!GetIsObjectValid(oIntruder))
|
||||
{
|
||||
oIntruder = GetAttemptedAttackTarget();
|
||||
if(!GetIsObjectValid(oIntruder))
|
||||
{
|
||||
oIntruder = GetAttemptedSpellTarget();
|
||||
if(!GetIsObjectValid(oIntruder))
|
||||
{
|
||||
oIntruder = OBJECT_INVALID;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
RespondToShout(oShouter, nMatch, oIntruder);
|
||||
}
|
||||
|
||||
if(GetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT))
|
||||
{
|
||||
SignalEvent(OBJECT_SELF, EventUserDefined(1004));
|
||||
}
|
||||
if(GetCommandable(OBJECT_SELF))
|
||||
{
|
||||
//{
|
||||
//BeginConversation();
|
||||
//}
|
||||
ClearAllActions();
|
||||
int nChair = 1;
|
||||
string sMyTagName = GetTag(OBJECT_SELF);
|
||||
string sSittableTagName = "CHAIR";
|
||||
object oChair = GetNearestObjectByTag(sSittableTagName, OBJECT_SELF, nChair);
|
||||
ActionSit(oChair);
|
||||
}
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@ void main()
|
||||
if (nMatch == -1 && GetCommandable(OBJECT_SELF))
|
||||
{
|
||||
ClearAllActions();
|
||||
BeginConversation();
|
||||
|
||||
}
|
||||
else
|
||||
if(nMatch != -1 && GetIsObjectValid(oShouter) && !GetIsPC(oShouter) && GetIsFriend(oShouter))
|
||||
@@ -46,9 +46,9 @@ void main()
|
||||
}
|
||||
if(GetCommandable(OBJECT_SELF))
|
||||
{
|
||||
{
|
||||
BeginConversation();
|
||||
}
|
||||
//{
|
||||
//BeginConversation();
|
||||
//}
|
||||
ClearAllActions();
|
||||
int nChair = 1;
|
||||
string sMyTagName = GetTag(OBJECT_SELF);
|
||||
|
60
_module/nss/npc_sit_woodenbe.nss
Normal file
60
_module/nss/npc_sit_woodenbe.nss
Normal file
@@ -0,0 +1,60 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: npc_sit_stay
|
||||
//:://////////////////////////////////////////////
|
||||
/*Goes on the OnSpawn and OnConversation script of the NPC that you want to stay <span class="highlight">seated</span>*/
|
||||
|
||||
#include "NW_I0_GENERIC"
|
||||
void main()
|
||||
{
|
||||
int nMatch = GetListenPatternNumber();
|
||||
object oShouter = GetLastSpeaker();
|
||||
object oIntruder;
|
||||
if (nMatch == -1 && GetCommandable(OBJECT_SELF))
|
||||
{
|
||||
ClearAllActions();
|
||||
//BeginConversation();
|
||||
}
|
||||
else
|
||||
if(nMatch != -1 && GetIsObjectValid(oShouter) && !GetIsPC(oShouter) && GetIsFriend(oShouter))
|
||||
{
|
||||
if(nMatch == 4)
|
||||
{
|
||||
oIntruder = GetLocalObject(oShouter, "NW_BLOCKER_INTRUDER");
|
||||
}
|
||||
else if (nMatch == 5)
|
||||
{
|
||||
oIntruder = GetLastHostileActor(oShouter);
|
||||
if(!GetIsObjectValid(oIntruder))
|
||||
{
|
||||
oIntruder = GetAttemptedAttackTarget();
|
||||
if(!GetIsObjectValid(oIntruder))
|
||||
{
|
||||
oIntruder = GetAttemptedSpellTarget();
|
||||
if(!GetIsObjectValid(oIntruder))
|
||||
{
|
||||
oIntruder = OBJECT_INVALID;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
RespondToShout(oShouter, nMatch, oIntruder);
|
||||
}
|
||||
|
||||
if(GetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT))
|
||||
{
|
||||
SignalEvent(OBJECT_SELF, EventUserDefined(1004));
|
||||
}
|
||||
if(GetCommandable(OBJECT_SELF))
|
||||
{
|
||||
//{
|
||||
//BeginConversation();
|
||||
//}
|
||||
ClearAllActions();
|
||||
int nChair = 1;
|
||||
string sMyTagName = GetTag(OBJECT_SELF);
|
||||
string sSittableTagName = "Woodenbench";
|
||||
object oChair = GetNearestObjectByTag(sSittableTagName, OBJECT_SELF, nChair);
|
||||
ActionSit(oChair);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user