Adds Store on Collide and Wand of the Locker (#33710)

* Adds wand of locker and locker projectile

* Adds IsOpen method to check if storage is open

* Adds store on collide

* Adds Store On Collide to Wizard Locker

* Adds Lock API

* Adds locking support

* Adds resist override and custom visual layers

* Fixes decursed states, adds comment for a future visualizer

* adds locker wand visuals and descriptions

* shrinks locker radius, moves TODO for throw support

* Adds whitelist and moves storage and lock logic into their own methods

* Adds support to disable store on collide after the first open. Fixes prediction issues with disabling.

* Adds wand of locker to the grimoire

* Adds wizard access prototype

* Adds Wizard to universal access

* Moves Lock on collide to on collide method

* Comments

* Changes layer order

* Fixes prediction issues when locking.

* Adds Wiz access to universal ID
This commit is contained in:
keronshb
2024-12-04 11:49:54 -05:00
committed by GitHub
parent 152cf3388b
commit 82528dce37
17 changed files with 284 additions and 3 deletions

View File

@@ -344,6 +344,14 @@ public abstract class SharedEntityStorageSystem : EntitySystem
return true;
}
public bool IsOpen(EntityUid target, SharedEntityStorageComponent? component = null)
{
if (!ResolveStorage(target, ref component))
return false;
return component.Open;
}
public bool CanOpen(EntityUid user, EntityUid target, bool silent = false, SharedEntityStorageComponent? component = null)
{
if (!ResolveStorage(target, ref component))