Encounter work
Separated static spawns in "Forest of Hope: Central". Fixed faction issues with Corrak's Crew. Added "Faction Zoo" area for future faction work. Tweaked factions. Made sure creatures with CODI AI were granting XP. Tweaked Masterwork weapons. Fixed Warforged appearance not showing up properly in toolset.
This commit is contained in:
45
_module/nss/corrak_onpercep.nss
Normal file
45
_module/nss/corrak_onpercep.nss
Normal file
@@ -0,0 +1,45 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: corrak_onpercep
|
||||
//:: Copyright (c) 2022 Project RATDOG
|
||||
//::///////////////////////////////////////////////
|
||||
/*
|
||||
Makes the NPC speak to the PC upon seeing them
|
||||
the first time.
|
||||
*/
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Created By: Jaysyn
|
||||
//:: Created On: 20221203
|
||||
//::///////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
//:: Declare major variables
|
||||
object oPC = GetLastPerceived();
|
||||
object oNPC = OBJECT_SELF;
|
||||
string sUUID = GetObjectUUID(oPC);
|
||||
string sTag = GetTag(oNPC);
|
||||
|
||||
//:: Only looks out for players
|
||||
if (!GetIsPC(oPC)) return;
|
||||
|
||||
//:: Must be seen & not just heard
|
||||
if (!GetLastPerceptionSeen()) return;
|
||||
|
||||
//:: If NPC has seen PC before stop
|
||||
int DoOnce = GetLocalInt(oPC,"SeenBy"+sTag);
|
||||
|
||||
if (DoOnce==TRUE) return;
|
||||
|
||||
//:: Execute the PRC NPC OnPerception script
|
||||
ExecuteScript("prc_npc_percep", OBJECT_SELF);
|
||||
|
||||
//:: Mark that NPC has seen the PC before
|
||||
SetLocalInt(oPC,"SeenBy"+sTag,GetLocalInt(oPC,"SeenBy"+sTag) + 1);
|
||||
//SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), TRUE);
|
||||
|
||||
//:: Execute the CODI AI NPC OnPerception script
|
||||
ExecuteScript("no_ai_per", OBJECT_SELF);
|
||||
|
||||
//:: Start conversation
|
||||
ActionStartConversation(oPC, "");
|
||||
}
|
@@ -239,4 +239,7 @@ int nVFX = GetLocalInt(OBJECT_SELF,"SpawnVFX");
|
||||
|
||||
//:: Execute PRC NPC OnDeath script
|
||||
ExecuteScript("prc_npc_death", OBJECT_SELF);
|
||||
|
||||
//:: Execute PRC PW OnDeath script
|
||||
ExecuteScript("prc_pwondeath", OBJECT_SELF);
|
||||
}
|
||||
|
23
_module/nss/invis_onspawn.nss
Normal file
23
_module/nss/invis_onspawn.nss
Normal file
@@ -0,0 +1,23 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Name invis_onspawn
|
||||
//:: Copyright (c) 2022 Project RATDOG
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
|
||||
Sets spawner permenently invisible. Used for
|
||||
faction spawn markers since they must be
|
||||
creatures.
|
||||
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Jaysyn
|
||||
//:: Created On: 20221203
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
effect eNatInvis = EffectInvisibility(4);
|
||||
eNatInvis = SupernaturalEffect(eNatInvis);
|
||||
eNatInvis = ExtraordinaryEffect(eNatInvis);
|
||||
DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eNatInvis, OBJECT_SELF));
|
||||
}
|
@@ -16,6 +16,7 @@
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "sql_db_partywide"
|
||||
#include "pqj_inc"
|
||||
|
||||
void main()
|
||||
@@ -230,6 +231,9 @@ int nVFX = GetLocalInt(OBJECT_SELF,"SpawnVFX");
|
||||
DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF));
|
||||
}
|
||||
|
||||
//:: Track which PC's have seen Marthek dead
|
||||
SQL_SetLocalIntOnAll(oKiller, "bKilledMarthek", 1);
|
||||
|
||||
//:: Set quest stage & update DB.
|
||||
AddPersistentJournalQuestEntry("marthek", 2, oKiller);
|
||||
|
||||
|
@@ -57,7 +57,6 @@ void main()
|
||||
//:: Execute Default NPC OnDeath script
|
||||
ExecuteScript("nw_c2_default7", OBJECT_SELF);
|
||||
|
||||
|
||||
//:: Execute PRC NPC OnDeath script
|
||||
ExecuteScript("prc_npc_death", OBJECT_SELF);
|
||||
}
|
||||
|
@@ -239,4 +239,7 @@ int nVFX = GetLocalInt(OBJECT_SELF,"SpawnVFX");
|
||||
|
||||
//:: Execute PRC NPC OnDeath script
|
||||
ExecuteScript("prc_npc_death", OBJECT_SELF);
|
||||
|
||||
//:: Execute PRC PW OnDeath script
|
||||
ExecuteScript("prc_pwondeath", OBJECT_SELF);
|
||||
}
|
||||
|
@@ -230,4 +230,7 @@ int nVFX = GetLocalInt(OBJECT_SELF,"SpawnVFX");
|
||||
|
||||
//:: Execute PRC NPC OnDeath script
|
||||
ExecuteScript("prc_npc_death", OBJECT_SELF);
|
||||
|
||||
//:: Execute PRC PW OnDeath script
|
||||
ExecuteScript("prc_pwondeath", OBJECT_SELF);
|
||||
}
|
||||
|
@@ -11,6 +11,10 @@
|
||||
#include "spawn_cfg_cusflg"
|
||||
#include "x0_i0_corpses"
|
||||
|
||||
//
|
||||
//void main (){}
|
||||
//
|
||||
|
||||
void InitFlags(object oSpawn, string sSpawnName, string sSpawnTag);
|
||||
int SetSpawns(location lBase);
|
||||
string PadIntToString(int nInt, int nDigits);
|
||||
|
Reference in New Issue
Block a user