Scriptname _00E_ClosedChestAlias extends ReferenceAlias Int Property LOCK_LEVEL_NOVICE = 1 AutoReadOnly Int Property LOCK_LEVEL_APPRENTICE = 25 AutoReadOnly Int Property LOCK_LEVEL_ADEPT = 50 AutoReadOnly Int Property LOCK_LEVEL_EXPERT = 75 AutoReadOnly Int Property LOCK_LEVEL_MASTER = 254 AutoReadOnly Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked) ObjectReference hitRef = GetReference() If akAggressor != PlayerREF || hitRef.IsLocked() == False Return EndIf Int projectileLevel = 0 If akProjectile == _00E_UnlockProjectile_Novice projectileLevel = LOCK_LEVEL_NOVICE ElseIf akProjectile == _00E_UnlockProjectile_Apprentice projectileLevel = LOCK_LEVEL_APPRENTICE ElseIf akProjectile == _00E_UnlockProjectile_Adept projectileLevel = LOCK_LEVEL_ADEPT ElseIf akProjectile == _00E_UnlockProjectile_Expert projectileLevel = LOCK_LEVEL_EXPERT ElseIf akProjectile == _00E_UnlockProjectile_Master projectileLevel = LOCK_LEVEL_MASTER ElseIf akSource Formlist unlockSpells = _00E_ChestAndDoorUnlockScript_UnlockSpells If unlockSpells.HasForm(akSource) If akSource == unlockSpells.GetAt(0) as Explosion projectileLevel = LOCK_LEVEL_APPRENTICE ElseIf akSource == unlockSpells.GetAt(1) as Explosion projectileLevel = LOCK_LEVEL_ADEPT ElseIf akSource == unlockSpells.GetAt(2) as Explosion projectileLevel = LOCK_LEVEL_EXPERT ElseIf akSource == unlockSpells.GetAt(3) as Explosion projectileLevel = LOCK_LEVEL_MASTER EndIf EndIf EndIf If projectileLevel > 0 Int lockLevel = hitRef.GetLockLevel() If lockLevel > LOCK_LEVEL_MASTER _00E_sDoorLocked.Show() WPNTG06ControlStaffShootFailM.Play(hitRef) ElseIf projectileLevel >= lockLevel ; Unlock hitRef.Lock(False) _00E_UILockpickingUnlockM.Play(hitRef) _00E_Ability_Antimagic_FXSShader.Play(hitRef) hitRef.PlaceAtMe(_00E_UnlockLockExplosion, 1) EndIf EndIf EndEvent Projectile Property _00E_UnlockProjectile_Novice Auto Projectile Property _00E_UnlockProjectile_Apprentice Auto Projectile Property _00E_UnlockProjectile_Adept Auto Projectile Property _00E_UnlockProjectile_Expert Auto Projectile Property _00E_UnlockProjectile_Master Auto Message Property _00E_sDoorLocked Auto Sound Property _00E_UILockpickingUnlockM Auto Sound Property WPNTG06ControlStaffShootFailM Auto EffectShader Property _00E_Ability_Antimagic_FXSShader Auto Explosion Property _00E_UnlockLockExplosion Auto FormList Property _00E_UnlockScrolls Auto FormList Property _00E_ChestAndDoorUnlockScript_UnlockSpells Auto Actor Property PlayerREF Auto