Lankhmar_PRC8/_module/nss/conv_des_spawn2.nss
Jaysyn904 ebc0c6a9b2 Initial commit
Initial commit [v9.7]
2025-04-03 12:54:47 -04:00

50 lines
1.6 KiB
Plaintext

#include "nw_i0_generic"
void main()
{
object oTarget;
object oSpawn;
effect eVFX;
// Get the PC who is in this conversation.
object oPC = GetPCSpeaker();
FadeToBlack(oPC);
// Spawn "lankhraft".
oTarget = GetWaypointByTag("WP_Spawn_raft");
oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "lankhraft", GetLocation(oTarget));
// Spawn "lankhraft2".
oTarget = GetWaypointByTag("WP_Spawn_raft2");
oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "lankhraft2", GetLocation(oTarget));
// Have text appear over the PC's head.
FloatingTextStringOnCreature("A Behemoth runs out of the water, licking its massive jaws!", oPC);
// Spawn "behemoth".
eVFX = EffectVisualEffect(VFX_IMP_PULSE_WATER);
oTarget = GetWaypointByTag("WP_SPn_Slbmth");
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "behemoth", GetLocation(oTarget));
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn));
// Destroy objects (not fully effective until this script ends).
DelayCommand(2.0, DestroyObject(GetObjectByTag("lengthofrope")));
DelayCommand(2.0, DestroyObject(GetObjectByTag("driftwood2")));
// Remove items from the player's inventory
object oItemToTake;
oItemToTake = GetItemPossessedBy(GetPCSpeaker(), "lengthofrope");
if(GetIsObjectValid(oItemToTake) != 0)
ActionTakeItem(oItemToTake, GetPCSpeaker());
// Spawn "plc_hole_b001".
oTarget = GetWaypointByTag("WP_ScragLair2");
oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_hole_b001", GetLocation(oTarget));
FadeFromBlack(oPC);
}