34 lines
1.4 KiB
Plaintext
34 lines
1.4 KiB
Plaintext
Scriptname _00E_FS_Smelter_Workbench extends ObjectReference
|
|
{script that is attached to all smelter workbenches and manages the switching between dismantling and smelting}
|
|
|
|
Actor Property PlayerREF Auto
|
|
Message Property _00E_Theriantrophist_CantCraftMSG Auto
|
|
Message Property _00E_Smelting_DismantlingMSG Auto
|
|
Race Property _00E_Theriantrophist_PlayerWerewolfRace Auto
|
|
ObjectReference Property _00E_Dismantling_SmelterREF Auto
|
|
|
|
Event OnInit()
|
|
BlockActivation()
|
|
Endevent
|
|
|
|
Event OnActivate(ObjectReference akActionRef)
|
|
|
|
; block the player from activating the smelter when being transformed in werewolf due to animation bugs
|
|
If akActionRef == PlayerREF && PlayerREF.GetRace() == _00E_Theriantrophist_PlayerWerewolfRace
|
|
_00E_Theriantrophist_CantCraftMSG.Show()
|
|
ElseIf akActionRef == PlayerREF && !(PlayerREF.GetRace() == _00E_Theriantrophist_PlayerWerewolfRace)
|
|
int iButton = _00E_Smelting_DismantlingMSG.Show()
|
|
|
|
If iButton == 0 ; if the player wants to process ore into ingots
|
|
Self.Activate(akActionRef, true)
|
|
ElseIf iButton == 1 ; if the player wants to dismantle items back into crafting components, disable player controls
|
|
Game.DisablePlayerControls(true, true, true, true, true, true, true, true)
|
|
_00E_Dismantling_SmelterREF.Activate(PlayerREF)
|
|
Else
|
|
return
|
|
EndIf
|
|
Else
|
|
Self.Activate(akActionRef, true) ; if it's not the player but an NPC
|
|
EndIf
|
|
|
|
Endevent |