Another update for unloaded smokers
This commit is contained in:
parent
627fa71a4e
commit
a3560e8e65
Binary file not shown.
Binary file not shown.
@ -12,12 +12,19 @@ Event OnEffectStart(Actor akTarget, Actor akCaster)
|
||||
; Debug.Trace(self + ": OnEffectStart, " + akTarget)
|
||||
|
||||
Target = akTarget
|
||||
GotoState("Smoking")
|
||||
EndEvent
|
||||
|
||||
state Smoking
|
||||
|
||||
event OnBeginState()
|
||||
; Debug.Trace(self + ": Registering for updates, " + Target)
|
||||
AnimationStage = 0
|
||||
RegisterForSingleUpdate(1.5)
|
||||
RegisterForSleep()
|
||||
EndEvent
|
||||
endevent
|
||||
|
||||
Event OnUpdate()
|
||||
Event OnUpdate()
|
||||
_LockAnimationUpdates()
|
||||
|
||||
If AnimationStage == 0 && Target.GetSitState() != 3
|
||||
@ -41,28 +48,9 @@ Event OnUpdate()
|
||||
EndIf
|
||||
|
||||
_UnlockAnimationUpdates()
|
||||
EndEvent
|
||||
EndEvent
|
||||
|
||||
Event OnPackageChange(Package akOldPackage)
|
||||
; Debug.Trace(self + ": OnPackageChange, " + Target + ", old package " + akOldPackage)
|
||||
|
||||
; Failsafe auto-stop smoking on package change
|
||||
Target.RemoveSpell(_00E_Smoking_CrossLeggedMarkerSP)
|
||||
EndEvent
|
||||
|
||||
Event OnCellAttach()
|
||||
If ! bIsFinished
|
||||
RegisterForSingleUpdate(1.0)
|
||||
RegisterForSleep()
|
||||
endif
|
||||
endEvent
|
||||
|
||||
Event OnCellDetach()
|
||||
UnregisterForUpdate()
|
||||
UnregisterForSleep()
|
||||
endEvent
|
||||
|
||||
Event OnSleepStart(float afSleepStartTime, float afDesiredSleepEndTime)
|
||||
Event OnSleepStart(float afSleepStartTime, float afDesiredSleepEndTime)
|
||||
; Debug.Trace(self + ": OnSleepStart, " + Target)
|
||||
|
||||
; Force reset of the animations to make the NPC re-enter the furniture (if it wishes).
|
||||
@ -76,6 +64,31 @@ Event OnSleepStart(float afSleepStartTime, float afDesiredSleepEndTime)
|
||||
EndIf
|
||||
|
||||
_UnlockAnimationUpdates()
|
||||
EndEvent
|
||||
|
||||
Event OnCellDetach()
|
||||
GotoState("")
|
||||
endEvent
|
||||
|
||||
event OnEndState()
|
||||
; Debug.Trace(self + ": Unregistering for updates, " + Target)
|
||||
UnregisterForUpdate()
|
||||
UnregisterForSleep()
|
||||
endevent
|
||||
|
||||
endstate
|
||||
|
||||
Event OnCellAttach()
|
||||
If ! bIsFinished
|
||||
GotoState("Smoking")
|
||||
endif
|
||||
endEvent
|
||||
|
||||
Event OnPackageChange(Package akOldPackage)
|
||||
; Debug.Trace(self + ": OnPackageChange, " + Target + ", old package " + akOldPackage)
|
||||
|
||||
; Failsafe auto-stop smoking on package change
|
||||
Target.RemoveSpell(_00E_Smoking_CrossLeggedMarkerSP)
|
||||
EndEvent
|
||||
|
||||
Event OnEffectFinish(Actor akTarget, Actor akCaster)
|
||||
|
@ -37,7 +37,9 @@ EVENT onActivate(objectReference actronaut)
|
||||
UnlockMeMSG.show()
|
||||
endif
|
||||
; either way, play a nice ker-chunk sound to feedback why door isn't opening
|
||||
if barredSFX
|
||||
barredSFX.play(self)
|
||||
endif
|
||||
; add a tiny rumble bump for good measure
|
||||
game.shakeController(0.1, 0.1, 0.1)
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user