2023-12-04 15:02:58 +00:00
|
|
|
Scriptname WebDestructibleSCRIPT extends ObjectReference
|
|
|
|
|
|
|
|
import debug
|
|
|
|
import utility
|
|
|
|
|
|
|
|
Quest property myQuest auto
|
|
|
|
{the quest to manipulate when web is destroyed}
|
|
|
|
|
|
|
|
Int property myQuestStageOnFirstStage auto
|
|
|
|
{if needed, the stage to set when web hits first stage of destruction}
|
|
|
|
|
|
|
|
Int property myQuestStageOnDestroyed auto
|
|
|
|
{if needed, the stage to set when web is destroyed}
|
|
|
|
|
|
|
|
ObjectReference property webActor auto
|
|
|
|
{the actor stuck in the web}
|
|
|
|
|
|
|
|
ObjectReference property webTrigger auto
|
|
|
|
{the trigger calling random animations on actor in web and web itself}
|
|
|
|
|
|
|
|
Scene property myScene01 auto
|
|
|
|
{if needed, the scene to start when web hits its first stage}
|
|
|
|
|
|
|
|
Scene property myScene02 auto
|
|
|
|
{if needed, the scene to start when web is destroyed}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Event OnDestructionStageChanged(int aiOldStage, int aiCurrentStage)
|
|
|
|
|
|
|
|
if(aiCurrentStage == 1)
|
|
|
|
if(myQuest)
|
2024-01-10 14:08:24 +00:00
|
|
|
myQuest.SetCurrentStageID(myQuestStageOnFirstStage)
|
2023-12-04 15:02:58 +00:00
|
|
|
;if there is a scene to start, then start the scene
|
|
|
|
endif
|
|
|
|
|
|
|
|
if(myScene01)
|
|
|
|
myScene01.start()
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
if(aiCurrentStage == 2)
|
|
|
|
;web is destroyed
|
|
|
|
|
|
|
|
;if there's a trigger controlling the random web animations, then need to set its stopCondition
|
|
|
|
if(webTrigger)
|
|
|
|
SpiderWebAnimationsSCRIPT myWebTrigger = webTrigger as SpiderWebAnimationsSCRIPT
|
|
|
|
myWebTrigger.stopCondition = true
|
|
|
|
myWebTrigger.gotoState("done")
|
|
|
|
endif
|
|
|
|
|
|
|
|
;if there's an actor in the web, set his variable and get him out
|
|
|
|
if(webActor)
|
|
|
|
Actor myActor = webActor as Actor
|
2023-12-08 02:45:53 +00:00
|
|
|
myActor.SetActorValue("Variable03", 5)
|
2023-12-04 15:02:58 +00:00
|
|
|
myActor.evaluatePackage()
|
|
|
|
endif
|
|
|
|
|
|
|
|
;if there is a quest to manipulate, then set the stage
|
|
|
|
if(myQuest)
|
2024-01-10 14:08:24 +00:00
|
|
|
myQuest.SetCurrentStageID(myQuestStageOnDestroyed)
|
2023-12-04 15:02:58 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
;if there is a scene to start, then start the scene
|
|
|
|
if(myScene02)
|
|
|
|
if(!myScene01.isPlaying())
|
|
|
|
myScene02.start()
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
;animate the web
|
|
|
|
playAnimation("Exit")
|
|
|
|
endif
|
|
|
|
endEvent
|