//:://////////////////////////////////////////////////////////////////////////// /*// 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); }