Elin Modding Docs Doc
Loading...
Searching...
No Matches
TraitPotionEmpty.cs
1using System;
2
3// Token: 0x02000344 RID: 836
5{
6 // Token: 0x170007AE RID: 1966
7 // (get) Token: 0x06001A4F RID: 6735 RVA: 0x000A4A19 File Offset: 0x000A2C19
8 public override ThrowType ThrowType
9 {
10 get
11 {
12 return ThrowType.Vase;
13 }
14 }
15
16 // Token: 0x06001A50 RID: 6736 RVA: 0x000A4A1C File Offset: 0x000A2C1C
17 public override bool CanDrink(Chara c)
18 {
19 return false;
20 }
21
22 // Token: 0x06001A51 RID: 6737 RVA: 0x000A4A1F File Offset: 0x000A2C1F
23 public override bool CanUse(Chara c, Point p)
24 {
25 return this.GetWell(p) != null || p.cell.IsTopWaterAndNoSnow;
26 }
27
28 // Token: 0x06001A52 RID: 6738 RVA: 0x000A4A38 File Offset: 0x000A2C38
29 public override bool OnUse(Chara c, Point p)
30 {
31 TraitWell well = this.GetWell(p);
32 if (well != null && well.Charges <= 0)
33 {
34 c.Say("drinkWell_empty", c, well.owner, null, null);
35 return false;
36 }
37 SE.Play("water_farm");
38 this.owner.ModNum(-1, true);
39 Thing thing;
40 if (well != null && well.IsHoly)
41 {
42 thing = ThingGen.Create((this.owner.id == "bucket_empty") ? "bucket" : "water", -1, -1);
43 thing.SetBlessedState(BlessedState.Blessed);
44 }
45 else
46 {
47 thing = ThingGen.Create("potion", -1, 10);
48 }
49 c.Say("drawWater", this.owner.Duplicate(1), thing, null, null);
50 c.Pick(thing, true, true);
51 if (well != null)
52 {
53 well.ModCharges(-1);
54 }
55 return true;
56 }
57
58 // Token: 0x06001A53 RID: 6739 RVA: 0x000A4B04 File Offset: 0x000A2D04
59 public override void OnDrink(Chara c)
60 {
61 }
62
63 // Token: 0x06001A54 RID: 6740 RVA: 0x000A4B08 File Offset: 0x000A2D08
64 public TraitWell GetWell(Point p)
65 {
66 foreach (Card card in p.ListCards(false))
67 {
68 TraitWell traitWell = card.trait as TraitWell;
69 if (traitWell != null)
70 {
71 return traitWell;
72 }
73 }
74 return null;
75 }
76}
Definition Card.cs:13
Definition Chara.cs:12
Definition Point.cs:11
Definition Thing.cs:10