Added Mine & Caverns raise & lower functionality
Added Mine & Caverns raise & lower functionality. Revamped Level 1 events to match PnP. Updated Level 1: Core. Added new Footcatcher trap type. Added Underwater heartbeat to Glop Lake Underwater. Full compile.
This commit is contained in:
89
_module/nss/ra_lvl01_onenter.nss
Normal file
89
_module/nss/ra_lvl01_onenter.nss
Normal file
@@ -0,0 +1,89 @@
|
||||
//::////////////////////////////////////////////////////////////////////////////
|
||||
/*//
|
||||
|
||||
Level 1: The Lair of the Dung Beast
|
||||
onEnter script
|
||||
ra_lvl01_onenter.nss
|
||||
|
||||
Wandering Monsters: Check once per 30 minutes on 1d20
|
||||
|
||||
Detections: Faint evil from the whole place; slightly more to the south east.
|
||||
|
||||
Continuous Effects: The stench of this level requires all characters to make
|
||||
a Fortitude save (DC 10) upon entering the level and every 30 minutes
|
||||
thereafter or all rolls are at –2 morale penalty due to the distraction
|
||||
caused by the overpowering smell.
|
||||
|
||||
*///
|
||||
//::////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "spawn_functions"
|
||||
#include "tgdc_explore_inc"
|
||||
|
||||
void StenchMessage(object oPC = OBJECT_SELF)
|
||||
{
|
||||
//:: Only fire for (real) PCs.
|
||||
if ( !GetIsPC(oPC) || GetIsDMPossessed(oPC) )
|
||||
return;
|
||||
|
||||
//:: Have text appear over the PC's head.
|
||||
FloatingTextStringOnCreature("As you enter this area, a terrible, overpowering stench assaults your senses.", oPC, FALSE);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
//:: Get the entering object (usually a PC)
|
||||
object oPC = GetEnteringObject();
|
||||
|
||||
//:: Only fire once per PC.
|
||||
if (!GetLocalInt(oPC, "DO_ONCE__" + GetTag(OBJECT_SELF)) )
|
||||
{
|
||||
StenchMessage(oPC);
|
||||
|
||||
SetLocalInt(oPC, "DO_ONCE__" + GetTag(OBJECT_SELF), TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
Spawn_OnAreaEnter() can take three arguments - the name of the heartbeat
|
||||
script to execute, the heartbeat duration, and a delay for the first
|
||||
heartbeat. They default to spawn_sample_hb, 6.0, and 0.0 respectively; as
|
||||
if it were called like: Spawn_OnAreaEnter( "spawn_sample_hb", 6.0, 0.0 );
|
||||
*/
|
||||
|
||||
if ( GetIsAreaAboveGround( OBJECT_SELF ) && ! GetIsAreaNatural( OBJECT_SELF ) )
|
||||
{
|
||||
//:: Indoors - no delay on the first HB
|
||||
Spawn_OnAreaEnter( "spawn_sample_hb", 6.0, 0.0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
//:: Outdoors or underground - do a 3 second delay on the first HB
|
||||
Spawn_OnAreaEnter( "spawn_sample_hb", 6.0, 3.0 );
|
||||
}
|
||||
|
||||
//:: Records that the PC has entered Rappan Athuk at least once.
|
||||
SetLocalInt(oPC, "bEnteredDungeon", 1);
|
||||
SetLocalInt(oPC, "bEnteredLevelOne", 1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user