Elin Decompiled Documentation EA 23.302 Nightly
Loading...
Searching...
No Matches
AI_OpenLock.cs
Go to the documentation of this file.
2{
4
5 public override bool HasProgress => true;
6
7 public override bool CanTargetInventory => true;
8
9 public override bool IsHostileAct
10 {
11 get
12 {
13 if (base.target != null)
14 {
15 return base.target.isNPCProperty;
16 }
17 return false;
18 }
19 }
20
21 public override AIProgress CreateProgress()
22 {
23 return new Progress_Custom
24 {
25 canProgress = CanProgress,
26 onProgressBegin = delegate
27 {
28 Thing thing = owner.things.FindBest<TraitLockpick>((Thing t) => -t.c_charges);
29 if (thing != null)
30 {
31 owner.Say("lockpick_start_pick", thing, base.target);
32 }
33 else
34 {
35 owner.Say("lockpick_start", owner, base.target);
36 }
37 owner.PlaySound("lock_pick");
38 },
39 onProgress = delegate(Progress_Custom p)
40 {
41 switch (base.target.trait.TryOpenLock(owner, msgFail: false))
42 {
43 case LockOpenState.Success:
45 EClass.Sound.Stop("lock_pick");
46 break;
47 case LockOpenState.NotEnoughSkill:
48 owner.Say("lockpick_end", owner, base.target);
49 p.Cancel();
50 EClass.Sound.Stop("lock_pick");
51 break;
52 }
53 },
54 onProgressComplete = delegate
55 {
56 if (base.target.c_lockLv != 0 && owner != null)
57 {
58 owner.Say("lockpick_end", owner, base.target);
59 }
60 }
61 }.SetDuration(30, 10);
62 }
63}
LockOpenState
Definition: LockOpenState.cs:2
virtual Status Cancel()
Definition: AIAct.cs:305
new Chara owner
Definition: AIAct.cs:14
void CompleteProgress()
Definition: AIProgress.cs:64
override AIProgress CreateProgress()
Definition: AI_OpenLock.cs:21
override bool CanTargetInventory
Definition: AI_OpenLock.cs:7
override bool IsHostileAct
Definition: AI_OpenLock.cs:10
override bool HasProgress
Definition: AI_OpenLock.cs:5
override CursorInfo CursorIcon
Definition: AI_OpenLock.cs:3
override bool CanProgress()
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6447
ThingContainer things
Definition: Card.cs:39
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7125
static CursorInfo Container
Definition: CursorSystem.cs:82
Definition: EClass.cs:6
static SoundManager Sound
Definition: EClass.cs:47
Definition: Thing.cs:8