Elin Modding Docs Doc
Loading...
Searching...
No Matches
GrowSystemTree.cs
1using System;
2using System.Runtime.CompilerServices;
3using UnityEngine;
4
5// Token: 0x02000681 RID: 1665
7{
8 // Token: 0x17000D48 RID: 3400
9 // (get) Token: 0x06002EBE RID: 11966 RVA: 0x00106839 File Offset: 0x00104A39
10 public override RenderData RenderHarvest
11 {
12 get
13 {
14 return EClass.core.refs.renderers.objL_harvest;
15 }
16 }
17
18 // Token: 0x17000D49 RID: 3401
19 // (get) Token: 0x06002EBF RID: 11967 RVA: 0x0010684F File Offset: 0x00104A4F
20 public override int Step
21 {
22 get
23 {
24 return 3;
25 }
26 }
27
28 // Token: 0x17000D4A RID: 3402
29 // (get) Token: 0x06002EC0 RID: 11968 RVA: 0x00106852 File Offset: 0x00104A52
30 public override int StageLength
31 {
32 get
33 {
34 return 6;
35 }
36 }
37
38 // Token: 0x06002EC1 RID: 11969 RVA: 0x00106855 File Offset: 0x00104A55
39 public override bool BlockPass(Cell cell)
40 {
41 return cell.objVal / 30 > 1;
42 }
43
44 // Token: 0x06002EC2 RID: 11970 RVA: 0x00106863 File Offset: 0x00104A63
45 public override bool BlockSight(Cell cell)
46 {
47 return cell.objVal / 30 > 2;
48 }
49
50 // Token: 0x17000D4B RID: 3403
51 // (get) Token: 0x06002EC3 RID: 11971 RVA: 0x00106871 File Offset: 0x00104A71
52 public override float MtpProgress
53 {
54 get
55 {
56 if (this.Bud || this.Baby)
57 {
58 return 0.5f;
59 }
60 if (this.Grown)
61 {
62 return 2f;
63 }
64 if (!this.Mature)
65 {
66 return 1f;
67 }
68 return 3f;
69 }
70 }
71
72 // Token: 0x17000D4C RID: 3404
73 // (get) Token: 0x06002EC4 RID: 11972 RVA: 0x001068AA File Offset: 0x00104AAA
74 public override int HarvestStage
75 {
76 get
77 {
78 return 4;
79 }
80 }
81
82 // Token: 0x17000D4D RID: 3405
83 // (get) Token: 0x06002EC5 RID: 11973 RVA: 0x001068AD File Offset: 0x00104AAD
84 protected override bool DrawHarvestOnTop
85 {
86 get
87 {
88 return true;
89 }
90 }
91
92 // Token: 0x17000D4E RID: 3406
93 // (get) Token: 0x06002EC6 RID: 11974 RVA: 0x001068B0 File Offset: 0x00104AB0
94 public override bool IsMature
95 {
96 get
97 {
98 return this.Grown || this.Mature;
99 }
100 }
101
102 // Token: 0x17000D4F RID: 3407
103 // (get) Token: 0x06002EC7 RID: 11975 RVA: 0x001068C2 File Offset: 0x00104AC2
104 public override bool IsTree
105 {
106 get
107 {
108 return true;
109 }
110 }
111
112 // Token: 0x17000D50 RID: 3408
113 // (get) Token: 0x06002EC8 RID: 11976 RVA: 0x001068C5 File Offset: 0x00104AC5
114 public override int ShadowStage
115 {
116 get
117 {
118 return 0;
119 }
120 }
121
122 // Token: 0x17000D51 RID: 3409
123 // (get) Token: 0x06002EC9 RID: 11977 RVA: 0x001068C8 File Offset: 0x00104AC8
124 public bool Bud
125 {
126 get
127 {
128 return base.stage.idx == 0;
129 }
130 }
131
132 // Token: 0x17000D52 RID: 3410
133 // (get) Token: 0x06002ECA RID: 11978 RVA: 0x001068D8 File Offset: 0x00104AD8
134 public bool Baby
135 {
136 get
137 {
138 return base.stage.idx == 1;
139 }
140 }
141
142 // Token: 0x17000D53 RID: 3411
143 // (get) Token: 0x06002ECB RID: 11979 RVA: 0x001068E8 File Offset: 0x00104AE8
144 public bool Young
145 {
146 get
147 {
148 return base.stage.idx == 2;
149 }
150 }
151
152 // Token: 0x17000D54 RID: 3412
153 // (get) Token: 0x06002ECC RID: 11980 RVA: 0x001068F8 File Offset: 0x00104AF8
154 public bool Grown
155 {
156 get
157 {
158 return base.stage.idx == 3;
159 }
160 }
161
162 // Token: 0x17000D55 RID: 3413
163 // (get) Token: 0x06002ECD RID: 11981 RVA: 0x00106908 File Offset: 0x00104B08
164 public bool Mature
165 {
166 get
167 {
168 return base.stage.idx == 4;
169 }
170 }
171
172 // Token: 0x17000D56 RID: 3414
173 // (get) Token: 0x06002ECE RID: 11982 RVA: 0x00106918 File Offset: 0x00104B18
174 public bool Withered
175 {
176 get
177 {
178 return base.stage.idx == 5;
179 }
180 }
181
182 // Token: 0x17000D57 RID: 3415
183 // (get) Token: 0x06002ECF RID: 11983 RVA: 0x00106928 File Offset: 0x00104B28
184 public bool IsPalulu
185 {
186 get
187 {
188 return this.source.id == 17;
189 }
190 }
191
192 // Token: 0x17000D58 RID: 3416
193 // (get) Token: 0x06002ED0 RID: 11984 RVA: 0x00106939 File Offset: 0x00104B39
194 public bool IsBamboo
195 {
196 get
197 {
198 return this.source.id == 103;
199 }
200 }
201
202 // Token: 0x17000D59 RID: 3417
203 // (get) Token: 0x06002ED1 RID: 11985 RVA: 0x0010694A File Offset: 0x00104B4A
204 protected override bool UseGenericFirstStageTile
205 {
206 get
207 {
208 return false;
209 }
210 }
211
212 // Token: 0x06002ED2 RID: 11986 RVA: 0x0010694D File Offset: 0x00104B4D
213 public override int GetShadow(int index)
214 {
215 if (this.source.id == 103)
216 {
217 return this.source.pref.shadow;
218 }
219 return GrowSystemTree.shadows[index];
220 }
221
222 // Token: 0x06002ED3 RID: 11987 RVA: 0x00106976 File Offset: 0x00104B76
223 public override void SetGenericFirstStageTile(GrowSystem.Stage s)
224 {
225 s.renderData = EClass.core.refs.renderers.objS_flat;
226 s.SetTile(0, new int[]
227 {
228 103
229 });
230 }
231
232 // Token: 0x06002ED4 RID: 11988 RVA: 0x001069A4 File Offset: 0x00104BA4
233 public override void SetStageTile(GrowSystem.Stage s)
234 {
235 s.renderData = this.source.renderData;
236 s.SetTile(s.idx + ((s.idx != 0) ? -1 : 0), this.baseTiles);
237 }
238
239 // Token: 0x06002ED5 RID: 11989 RVA: 0x001069D8 File Offset: 0x00104BD8
240 public override void OnHitFail(Chara c)
241 {
242 if (c == null)
243 {
244 return;
245 }
246 if (this.Young || this.Grown || this.Mature || this.Withered)
247 {
248 Chara chara = CharaGen.Create("putty", -1);
249 EClass._zone.AddCard(chara, GrowSystem.cell.GetPoint().GetNearestPoint(false, false, true, false));
250 chara.renderer.PlayAnime(AnimeID.Fall, true);
251 c.Say("mobFromTree", chara, null, null);
252 }
253 }
254
255 // Token: 0x06002ED6 RID: 11990 RVA: 0x00106A50 File Offset: 0x00104C50
256 public override int GetHp()
257 {
258 if (base.stage.idx > this.HarvestStage)
259 {
260 return (int)((float)base.GetHp() * 1.5f);
261 }
262 return (int)((float)base.GetHp() * 0.5f);
263 }
264
265 // Token: 0x06002ED7 RID: 11991 RVA: 0x00106A84 File Offset: 0x00104C84
266 public int GetPlantBonus(PlantData plant)
267 {
268 if (plant == null || plant.seed == null)
269 {
270 return 0;
271 }
272 int num = plant.seed.encLV / 10;
273 if (EClass.rnd(10) > plant.seed.encLV % 10)
274 {
275 num++;
276 }
277 return Mathf.Min(EClass.rnd(num + 1), 4);
278 }
279
280 // Token: 0x06002ED8 RID: 11992 RVA: 0x00106AD8 File Offset: 0x00104CD8
281 public override void OnMineObj(Chara c = null)
282 {
283 GrowSystemTree.<>c__DisplayClass45_0 CS$<>8__locals1;
284 CS$<>8__locals1.<>4__this = this;
285 Point point = GrowSystem.cell.GetPoint();
286 int id = GrowSystem.cell.matObj_fixed.id;
287 CS$<>8__locals1.plant = EClass._map.TryGetPlant(GrowSystem.cell);
288 if (this.Bud || this.Baby)
289 {
290 if (EClass.rnd(2) == 0 || this.IsPalulu)
291 {
292 base.TryPick(GrowSystem.cell, this.IsPalulu ? "leaf_palulu" : "leaf", -1, 1, false);
293 }
294 if (this.IsBamboo)
295 {
296 base.PopHarvest(c, "bamboo_shoot", -1);
297 }
298 base.TryPick(GrowSystem.cell, "branch", id, 1 + this.<OnMineObj>g__PlantBonus|45_0(ref CS$<>8__locals1), false);
299 return;
300 }
301 if (this.Young)
302 {
303 if (this.IsBamboo)
304 {
305 base.PopHarvest(c, "bamboo_shoot", -1);
306 }
307 base.TryPick(GrowSystem.cell, "branch", id, 2 + this.<OnMineObj>g__PlantBonus|45_0(ref CS$<>8__locals1), false);
308 if (this.IsPalulu)
309 {
310 base.TryPick(GrowSystem.cell, "leaf_palulu", -1, 1, false);
311 }
312 base.TryPick(GrowSystem.cell, "log", id, EClass.rnd(2) + this.<OnMineObj>g__PlantBonus|45_0(ref CS$<>8__locals1) / 2, true);
313 return;
314 }
315 if (this.Grown || this.Mature)
316 {
317 base.TryPick(GrowSystem.cell, this.IsPalulu ? "leaf_palulu" : "bark", -1, 1 + this.<OnMineObj>g__PlantBonus|45_0(ref CS$<>8__locals1) / 2, false);
318 base.TryPick(GrowSystem.cell, "log", id, 1 + EClass.rnd(3) + this.<OnMineObj>g__PlantBonus|45_0(ref CS$<>8__locals1), true);
319 base.TryPick(GrowSystem.cell, "resin", -1, 1 + this.<OnMineObj>g__PlantBonus|45_0(ref CS$<>8__locals1) / 2, false);
320 if (!EClass.player.isAutoFarming)
321 {
322 if (EClass.rnd(500) == 0)
323 {
324 base.TryPick(GrowSystem.cell, "throw_putit", -1, 1, false);
325 }
326 if (point.IsFarmField)
327 {
328 base.TryPick(GrowSystem.cell, TraitSeed.MakeSeed(point.sourceObj, CS$<>8__locals1.plant), c, false);
329 return;
330 }
331 }
332 }
333 else
334 {
335 base.TryPick(GrowSystem.cell, "bark", -1, EClass.rnd(3) + this.<OnMineObj>g__PlantBonus|45_0(ref CS$<>8__locals1), false);
336 base.TryPick(GrowSystem.cell, "resin", -1, 1 + this.<OnMineObj>g__PlantBonus|45_0(ref CS$<>8__locals1) / 2, false);
337 if (!EClass.player.isAutoFarming)
338 {
339 base.TryPick(GrowSystem.cell, TraitSeed.MakeSeed(GrowSystem.cell.sourceObj, CS$<>8__locals1.plant).SetNum(1 + EClass.rnd(3)), c, false);
340 if (EClass.rnd(100) == 0)
341 {
342 base.TryPick(GrowSystem.cell, "throw_putit", -1, 1, false);
343 }
344 }
345 }
346 }
347
348 // Token: 0x06002EDB RID: 11995 RVA: 0x00106D99 File Offset: 0x00104F99
349 [CompilerGenerated]
350 private int <OnMineObj>g__PlantBonus|45_0(ref GrowSystemTree.<>c__DisplayClass45_0 A_1)
351 {
352 return this.GetPlantBonus(A_1.plant);
353 }
354
355 // Token: 0x04001A57 RID: 6743
356 public static int[] shadows = new int[]
357 {
358 31,
359 31,
360 32,
361 33,
362 34,
363 1,
364 1,
365 1
366 };
367}
Definition Cell.cs:10
Definition Chara.cs:12
Definition Point.cs:11