58 lines
1.3 KiB
Plaintext
58 lines
1.3 KiB
Plaintext
scriptName trapRockfallEffects extends objectReference
|
|
;
|
|
;
|
|
;====================================
|
|
|
|
bool property doOnce = true auto
|
|
{if true do this only once
|
|
default == true}
|
|
|
|
bool property placeAll = true auto
|
|
{default == true
|
|
if true place all things that have been set
|
|
if false place the first thing that we find set}
|
|
|
|
explosion property placedExplosion auto
|
|
objectReference property placedObjectRef auto
|
|
sound property rockfallSound Auto
|
|
objectReference objSelf
|
|
float ControllerShakeL = 0.5
|
|
float ControllerShakeR = 0.5
|
|
float ControllerShakeDuration = 1.5
|
|
bool property cannedHallwayDust = false auto
|
|
{used for precanned dust in hallways}
|
|
string anim01 = "playAnim01"
|
|
string animEndEvent = "endAnim"
|
|
|
|
auto state waiting
|
|
|
|
event onActivate(objectReference triggerRef)
|
|
goToState("DoNothing")
|
|
objSelf = self as objectReference
|
|
rockfallSound.play(objSelf)
|
|
game.ShakeCamera(afStrength = 1.0)
|
|
game.ShakeController(ControllerShakeL, ControllerShakeR, ControllerShakeDuration)
|
|
if cannedHallwayDust
|
|
playAnimationAndWait(anim01, animEndEvent)
|
|
Else
|
|
placeAllThings()
|
|
endif
|
|
endEvent
|
|
|
|
endState
|
|
|
|
state DoNothing
|
|
event onActivate(objectReference triggerRef)
|
|
endEvent
|
|
endState
|
|
|
|
function placeAllThings()
|
|
if placedExplosion
|
|
self.placeAtMe(placedExplosion)
|
|
endif
|
|
|
|
if placedObjectRef
|
|
self.placeAtMe(placedExplosion)
|
|
endif
|
|
endFunction
|