Elin Modding Docs Doc
Loading...
Searching...
No Matches
InvOwnerDeliver.cs
1using System;
2
3// Token: 0x02000571 RID: 1393
5{
6 // Token: 0x17000B6F RID: 2927
7 // (get) Token: 0x0600261A RID: 9754 RVA: 0x000D79ED File Offset: 0x000D5BED
8 public override bool SingleTarget
9 {
10 get
11 {
12 return this.mode == InvOwnerDeliver.Mode.Tax;
13 }
14 }
15
16 // Token: 0x17000B70 RID: 2928
17 // (get) Token: 0x0600261B RID: 9755 RVA: 0x000D79F8 File Offset: 0x000D5BF8
18 public override string langTransfer
19 {
20 get
21 {
22 if (this.mode != InvOwnerDeliver.Mode.Bank)
23 {
24 return "invDeliver";
25 }
26 return "invBank";
27 }
28 }
29
30 // Token: 0x17000B71 RID: 2929
31 // (get) Token: 0x0600261C RID: 9756 RVA: 0x000D7A0E File Offset: 0x000D5C0E
32 public override InvOwnerDraglet.ProcessType processType
33 {
34 get
35 {
36 return InvOwnerDraglet.ProcessType.Consume;
37 }
38 }
39
40 // Token: 0x0600261D RID: 9757 RVA: 0x000D7A11 File Offset: 0x000D5C11
41 public InvOwnerDeliver(Card owner = null, Card container = null, CurrencyType _currency = CurrencyType.Money) : base(owner, container, _currency)
42 {
43 }
44
45 // Token: 0x0600261E RID: 9758 RVA: 0x000D7A1C File Offset: 0x000D5C1C
46 public override bool ShouldShowGuide(Thing t)
47 {
48 switch (this.mode)
49 {
50 case InvOwnerDeliver.Mode.Tax:
51 return t.c_bill != 0;
52 case InvOwnerDeliver.Mode.Bank:
53 return t.id == "money";
54 case InvOwnerDeliver.Mode.Crop:
55 return t.category.id == "vegi" || t.category.id == "fruit" || t.category.id == "mushroom";
56 default:
57 return false;
58 }
59 }
60
61 // Token: 0x0600261F RID: 9759 RVA: 0x000D7AA8 File Offset: 0x000D5CA8
62 public static void PayBill(Thing t, bool fromBank = false)
63 {
64 bool flag = t.id == "bill_tax";
65 bool flag2 = t.id == "bill_debt";
66 QuestDebt questDebt = EClass.game.quests.Get<QuestDebt>();
67 if ((flag && EClass.player.taxBills <= 0) || (flag2 && questDebt == null))
68 {
69 SE.Beep();
70 EClass.pc.Pick(t, false, true);
71 return;
72 }
73 if (fromBank)
74 {
75 EClass.game.cards.container_deposit.ModCurrency(-t.c_bill, "money");
76 }
77 else if (!EClass.pc.TryPay(t.c_bill, "money"))
78 {
79 return;
80 }
81 if (flag2)
82 {
83 EClass.player.debt -= t.c_bill;
84 if (EClass.player.debt < 0)
85 {
86 EClass.player.debt = 0;
87 }
88 questDebt.paid = true;
89 questDebt.UpdateJournal();
90 }
91 else if (flag)
92 {
93 EClass.player.stats.taxBillsPaid += t.c_bill;
94 EClass.player.taxBills--;
95 if (EClass.player.taxBills < 0)
96 {
97 EClass.player.taxBills = 0;
98 }
99 int num = t.GetInt(35, null) / 1000;
100 if (num > 0)
101 {
102 Thing thing = ThingGen.Create("money2", "copper").SetNum(num);
103 Thing p = ThingGen.CreateParcel("parcel_mysiliaGift", new Thing[]
104 {
105 thing
106 });
107 Msg.Say("getSalary", thing, null, null, null);
108 EClass.world.SendPackage(p);
109 }
110 }
111 else
112 {
113 EClass.player.unpaidBill -= t.c_bill;
114 }
115 Msg.Say("payBill", t, null, null, null);
116 t.Destroy();
117 }
118
119 // Token: 0x06002620 RID: 9760 RVA: 0x000D7C74 File Offset: 0x000D5E74
120 public override void _OnProcess(Thing t)
121 {
122 switch (this.mode)
123 {
124 case InvOwnerDeliver.Mode.Tax:
125 InvOwnerDeliver.PayBill(t, false);
126 return;
127 case InvOwnerDeliver.Mode.Bank:
128 SE.Pay();
129 Msg.Say("depositMoney", t, this.owner, null, null);
130 this.owner.AddThing(t, true, -1, -1);
131 return;
132 case InvOwnerDeliver.Mode.Crop:
133 {
134 Msg.Say("farm_chest", t, Lang._weight(t.SelfWeight * t.Num, true, 0), null, null);
135 QuestHarvest questHarvest = EClass.game.quests.Get<QuestHarvest>();
136 if (questHarvest != null)
137 {
138 questHarvest.weightDelivered += t.SelfWeight * t.Num;
139 }
140 SE.Pick();
141 t.Destroy();
142 return;
143 }
144 default:
145 return;
146 }
147 }
148
149 // Token: 0x04001500 RID: 5376
150 public InvOwnerDeliver.Mode mode;
151
152 // Token: 0x02000AA5 RID: 2725
153 public enum Mode
154 {
155 // Token: 0x04002B5F RID: 11103
156 Default,
157 // Token: 0x04002B60 RID: 11104
158 Tax,
159 // Token: 0x04002B61 RID: 11105
160 Bank,
161 // Token: 0x04002B62 RID: 11106
162 Crop
163 }
164}
Definition Card.cs:13
Definition Msg.cs:7
Definition Thing.cs:10