48 lines
1.4 KiB
Plaintext
48 lines
1.4 KiB
Plaintext
|
|
void main()
|
|
|
|
{
|
|
effect eDamage;
|
|
object oTarget;
|
|
object oSpawn;
|
|
|
|
// Get the creature who triggered this event.
|
|
object oPC = GetEnteringObject();
|
|
|
|
// Only fire for (real) PCs.
|
|
if ( !GetIsPC(oPC) || GetIsDMPossessed(oPC) )
|
|
return;
|
|
|
|
// Only fire once.
|
|
if ( GetLocalInt(GetModule(), "DO_ONCE__" + GetTag(OBJECT_SELF)) )
|
|
return;
|
|
SetLocalInt(GetModule(), "DO_ONCE__" + GetTag(OBJECT_SELF), TRUE);
|
|
|
|
// Cutscene functions:
|
|
BlackScreen(oPC);
|
|
|
|
// Have the PC perform a sequence of actions.
|
|
AssignCommand(oPC, ActionJumpToObject(GetObjectByTag("WP_MV_Crbtd1")));
|
|
|
|
// Have the PC perform a sequence of actions.
|
|
AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_DEAD_BACK, 1.0, 10.0));
|
|
|
|
// Spawn "crbtbdx2".
|
|
oTarget = GetWaypointByTag("WP_crbtbdx2");
|
|
oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "crbtbdx2", GetLocation(oTarget));
|
|
|
|
// Cause damage.
|
|
eDamage = EffectDamage(d6(), DAMAGE_TYPE_BLUDGEONING);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oPC);
|
|
|
|
// Cutscene functions:
|
|
DelayCommand(1.1, FadeFromBlack(oPC));
|
|
|
|
// Have the PC say something.
|
|
DelayCommand(1.1, AssignCommand(oPC, SpeakString("The bed knocked you down!")));
|
|
|
|
// Destroy objects (not fully effective until this script ends).
|
|
// DelayCommand(1.1, DestroyObject(oSpawn));
|
|
DelayCommand(1.1, DestroyObject(GetObjectByTag("crbtbdx1")));
|
|
}
|