enderalse/source/scripts/_00e_a2_starlingdummyspidersc.psc

126 lines
3.7 KiB
Plaintext

Scriptname _00E_A2_StarlingdummySpiderSC extends ReferenceAlias
;=====================================================================================
; FUNCTIONS
;=====================================================================================
Function Detonate()
{Called from _00E_A2_StarlingdummyDetSC}
Selfactor = self.GetActorReference()
PlaceDebris()
Selfactor.PlaceAtMe(_00E_A2_StarlingdummyDetExp, 1)
Selfactor.PlaceAtMe(_00E_A2_StarlingdummyExplosioNoEffects, 1)
PlaceGas()
_00E_A2_StarlingdummySteamReleaseM.Play(Game.GetPlayer())
SelfActor.Disable()
ClearAliases()
Game.GetPlayer().DispelSpell(_00E_A2_StarlingdummySP)
Utility.Wait(3)
CleanUp()
Utility.Wait(15)
DeletePoisonGas()
EndFunction
Function PlaceDebris()
; they don't need to be cleaned up in this script,
; they'll get cleaned up in _00E_A2_StarlingDummySpiderCleanupSC OnUnload()
SelfActor.PlaceAtMe(DwarvenScrapMetalNoValue, 1)
SelfActor.PlaceAtMe(DwarvenScrapBentNoValue, 1)
SelfActor.PlaceAtMe(DwarvenScrapBentNoValue, 1)
SelfActor.PlaceAtMe(DwarvenScrapLever02NoValue, 1)
SelfActor.PlaceAtMe(DwarvenScrapLeverNoValue, 1)
EndFunction
Function PlaceGas()
PlaceMarker01 = SelfActor.PlaceAtMe(XMarker)
PlaceMarker02 = SelfActor.PlaceAtMe(XMarker)
PlaceMarker03 = SelfActor.PlaceAtMe(XMarker)
PlaceMarker01.MoveTo(SelfActor, 0.0, 0.0, 200.0)
PlaceMarker02.MoveTo(SelfActor, 100, 100, 200.0)
PlaceMarker03.MoveTo(SelfActor, -100, -100, 200.0)
PoisonGas01 = PlaceMarker01.PlaceAtMe(_00E_A2_Starlingdummy_PoisonGas, 1)
PoisonLight = PlaceMarker01.PlaceAtMe(_00E_A2_StarlingdummyPoisonLight, 1)
PoisonGas02 = PlaceMarker02.PlaceAtMe(_00E_A2_Starlingdummy_PoisonGas, 1)
PoisonGas03 = PlaceMarker03.PlaceAtMe(_00E_A2_Starlingdummy_PoisonGas, 1)
PoisonGas01.playAnimation("playAnim02")
PoisonGas02.playAnimation("playAnim02")
PoisonGas03.playAnimation("playAnim02")
EndFunction
Function CleanUp()
PlaceMarker01.Delete()
PlaceMarker02.Delete()
PlaceMarker03.Delete()
EndFunction
Function DeletePoisonGas()
PoisonGas01.playAnimation("playAnim01")
PoisonGas02.playAnimation("playAnim01")
PoisonGas03.playAnimation("playAnim01")
Utility.Wait(2)
PoisonGas01.Delete()
PoisonGas02.Delete()
PoisonGas03.Delete()
PoisonLight.Disable(true)
Utility.Wait(1.5)
Poisonlight.Delete()
EndFunction
Function ClearAliases()
Int iAliasIndex = VictimsArray.Length
while iAliasIndex > 0
iAliasIndex -= 1
AliasToClear = VictimsArray[iAliasIndex]
AliasToClear.Clear()
EndWhile
A2_Starlingdummy_SpiderAlias.Clear()
EndFunction
;=====================================================================================
; PROPERTIES
;=====================================================================================
Actor SelfActor
ReferenceAlias AliasToClear
ObjectReference PoisonGas01
ObjectReference PoisonGas02
ObjectReference PoisonGas03
ObjectReference PlaceMarker01
ObjectReference PlaceMarker02
ObjectReference PlaceMarker03
ObjectReference Poisonlight
Spell Property _00E_A2_StarlingdummySP Auto
Explosion Property _00E_A2_StarlingdummyDetExp Auto
Explosion Property _00E_A2_StarlingdummyExplosioNoEffects Auto
Sound Property _00E_A2_StarlingdummySteamReleaseM Auto
Activator Property _00E_A2_Starlingdummy_PoisonGas Auto
ReferenceAlias[] Property VictimsArray Auto
ReferenceAlias Property A2_Starlingdummy_SpiderAlias Auto
Static Property XMarker Auto
Light Property _00E_A2_StarlingdummyPoisonLight Auto
MiscObject Property DwarvenScrapMetalNoValue Auto
MiscObject Property DwarvenScrapLever02NoValue Auto
MiscObject Property DwarvenScrapLeverNoValue Auto
MiscObject Property DwarvenScrapBentNoValue Auto