heretic2-sdk/Toolkit/Designer/dsexamples/silverspring/watcherdies.ds
1998-11-24 00:00:00 +00:00

194 lines
No EOL
4.6 KiB
Text

// The Watcher dies
#include "../common/header.ds"
output "r:/base/ds/silverspring"
local entity lpillar
local entity lpilltp
local entity lpillbt
local entity rpillar
local entity rpillarside
local entity camera
local entity camdolly
local entity camtarget
local entity floor1
local entity floor2
local entity floor3
local entity floor4
local entity floor5
local entity topbeam
local entity topbeambar
local entity tbeamst
local entity taker
parameter entity hero1
local entity player1
local entity watcher
local entity monster
local entity change
local entity quaker
local entity rubble
local entity killer
local int sig
local int sig1
lpillar = find entity with targetname "t116"
lpilltp = find entity with targetname "pilltop"
lpillbt = find entity with targetname "t117"
rpillar = find entity with targetname "pillar"
rpillarside = find entity with targetname "t133"
camera = find entity with targetname "t162"
camdolly = find entity with targetname "end"
camtarget = find entity with targetname "t167"
floor1 = find entity with targetname "floor1"
floor2 = find entity with targetname "floor2"
floor3 = find entity with targetname "floor3"
floor4 = find entity with targetname "floor4"
floor5 = find entity with targetname "floor5"
topbeam = find entity with targetname "t123"
topbeambar = find entity with targetname "bar"
tbeamst = find entity with targetname "t128"
taker = find entity with targetname "taker"
monster = find entity with targetname "monster"
watcher = find entity with targetname "lord"
change = find entity with targetname "change"
quaker = find entity with targetname "quaker"
rubble = find entity with targetname "rubble"
killer = find entity with targetname "killer"
player1 = get entity activator
//start the end
copy player attributes from entity player1 to entity hero1
hero1.modelindex = hero1.count
hero1.solid = SOLID_SOLID
hero1.movetype = PHYSICSTYPE_STEP
monster = find entity with targetname "monster"
monster.modelindex = 0
monster.solid = SOLID_NOT
watcher.modelindex = watcher.count
watcher.solid = SOLID_SOLID
watcher.movetype = PHYSICSTYPE_STEP
// Give monster elflord a chance to go away
wait .4 seconds
//here we go
enable cinematics
use entity camera
animate entity watcher performing action DEATH2_ANIMATION signaling sig
wait for all clearing sig
animate entity watcher performing action DEATH1_ANIMATION signaling sig
wait for all clearing sig
animate entity watcher performing action DEATH2_ANIMATION signaling sig
wait for all clearing sig
animate entity watcher performing action GIB1_ANIMATION
enable trigger entity quaker
play sound "world/quake.wav" for entity quaker on channel 10
use entity killer
//place goes to hell
rubble.movetype = PHYSICSTYPE_NOCLIP
wait .5 seconds
//break left pillar
move entity camdolly by [-320, 0, 32] over 8 seconds
move entity camtarget by [128,0,-32] over 8 seconds
lpillar.movetype = PHYSICSTYPE_NOCLIP
use entity lpilltp
wait 1 seconds
move entity lpillar by [0, 0, -256] at 400 speed signaling sig
rotate entity lpillar by [120, 0, 0] at 400 speed signaling sig1
wait for all clearing sig, sig1
use entity lpillar
use entity lpillbt
//break right pillar
wait 4.5 seconds
use entity rpillarside
wait .5 seconds
rpillar.movetype = PHYSICSTYPE_NOCLIP
move entity rubble by [0, 0, -384] at 1000 speed
rotate entity rpillar by [-110, 0, 0] at 150 speed signaling sig
move entity rpillar by [ -16, 0, 0 ] at 150 speed signaling sig1
wait for all clearing sig, sig1
use entity rubble
use entity rpillar
use entity floor3
use entity floor2
//break top crossbeam
use entity topbeambar
wait 1 seconds
use entity tbeamst
topbeam.movetype = PHYSICSTYPE_NOCLIP
move entity topbeam by [0, -64, -64] at 300 speed signaling sig
rotate entity topbeam by [0, 0, 30] at 75 speed signaling sig1
wait for all clearing sig, sig1
move entity topbeam by [0, -32, -368] at 500 speed signaling sig
rotate entity topbeam by [0, 15, 60] at 100 speed signaling sig1
wait for all clearing sig, sig1
move entity camdolly by [160, 160, -64] over 3 seconds
move entity camtarget by [0,0,-384] over 3 seconds
use entity floor5
move entity topbeam by [0, -16, -448] at 500 speed signaling sig
rotate entity topbeam by [-5, 75, 90] at 100 speed signaling sig1
use entity floor1
wait for all clearing sig, sig1
use entity floor4
//the rest
disable trigger entity quaker
use entity taker
use entity camera
wait .5 seconds
use entity change
disable cinematics
exit