Elin Modding Docs Doc
Loading...
Searching...
No Matches
AI_OpenLock.cs
1using System;
2
3// Token: 0x02000203 RID: 515
5{
6 // Token: 0x170003C3 RID: 963
7 // (get) Token: 0x06000EB0 RID: 3760 RVA: 0x0006DA52 File Offset: 0x0006BC52
8 public override CursorInfo CursorIcon
9 {
10 get
11 {
12 return CursorSystem.Container;
13 }
14 }
15
16 // Token: 0x170003C4 RID: 964
17 // (get) Token: 0x06000EB1 RID: 3761 RVA: 0x0006DA59 File Offset: 0x0006BC59
18 public override bool HasProgress
19 {
20 get
21 {
22 return true;
23 }
24 }
25
26 // Token: 0x170003C5 RID: 965
27 // (get) Token: 0x06000EB2 RID: 3762 RVA: 0x0006DA5C File Offset: 0x0006BC5C
28 public override bool CanTargetInventory
29 {
30 get
31 {
32 return true;
33 }
34 }
35
36 // Token: 0x06000EB3 RID: 3763 RVA: 0x0006DA60 File Offset: 0x0006BC60
37 public override AIProgress CreateProgress()
38 {
39 return new Progress_Custom
40 {
41 canProgress = new Func<bool>(this.CanProgress),
42 onProgressBegin = delegate()
43 {
44 Thing thing = this.owner.things.Find<TraitLockpick>();
45 if (thing != null)
46 {
47 this.owner.Say("lockpick_start_pick", thing, base.target, null, null);
48 }
49 else
50 {
51 this.owner.Say("lockpick_start", this.owner, base.target, null, null);
52 }
53 this.owner.PlaySound("lock_pick", 1f, true);
54 },
55 onProgress = delegate(Progress_Custom p)
56 {
57 LockOpenState lockOpenState = base.target.trait.TryOpenLock(this.owner, false);
58 if (lockOpenState == LockOpenState.Success)
59 {
60 p.CompleteProgress();
61 EClass.Sound.Stop("lock_pick", 0f);
62 return;
63 }
64 if (lockOpenState != LockOpenState.NotEnoughSkill)
65 {
66 return;
67 }
68 this.owner.Say("lockpick_end", this.owner, base.target, null, null);
69 p.Cancel();
70 EClass.Sound.Stop("lock_pick", 0f);
71 },
72 onProgressComplete = delegate()
73 {
74 if (base.target.c_lockLv != 0 && this.owner != null)
75 {
76 this.owner.Say("lockpick_end", this.owner, base.target, null, null);
77 }
78 }
79 }.SetDuration(30, 10);
80 }
81}
Definition Thing.cs:10