Elin Modding Docs Doc
Loading...
Searching...
No Matches
Act.2.cs
1using System;
2using UnityEngine;
3using UnityEngine.UI;
4
5// Token: 0x020001B9 RID: 441
6public class Act : Element
7{
8 // Token: 0x17000301 RID: 769
9 // (get) Token: 0x06000C84 RID: 3204 RVA: 0x000625F3 File Offset: 0x000607F3
10 public override bool ShowPotential
11 {
12 get
13 {
14 return false;
15 }
16 }
17
18 // Token: 0x17000302 RID: 770
19 // (get) Token: 0x06000C85 RID: 3205 RVA: 0x000625F6 File Offset: 0x000607F6
20 public override bool UsePotential
21 {
22 get
23 {
24 return false;
25 }
26 }
27
28 // Token: 0x17000303 RID: 771
29 // (get) Token: 0x06000C86 RID: 3206 RVA: 0x000625F9 File Offset: 0x000607F9
30 public override bool ShowRelativeAttribute
31 {
32 get
33 {
34 return true;
35 }
36 }
37
38 // Token: 0x06000C87 RID: 3207 RVA: 0x000625FC File Offset: 0x000607FC
39 public virtual CursorInfo GetCursorIcon(Card c)
40 {
41 return this.CursorIcon;
42 }
43
44 // Token: 0x17000304 RID: 772
45 // (get) Token: 0x06000C88 RID: 3208 RVA: 0x00062604 File Offset: 0x00060804
46 public virtual CursorInfo CursorIcon
47 {
48 get
49 {
50 return CursorSystem.Action;
51 }
52 }
53
54 // Token: 0x06000C89 RID: 3209 RVA: 0x0006260B File Offset: 0x0006080B
55 public virtual MultiSprite GetStateIcon()
56 {
57 return null;
58 }
59
60 // Token: 0x06000C8A RID: 3210 RVA: 0x0006260E File Offset: 0x0006080E
61 public override Sprite GetSprite()
62 {
63 return base.source.GetSprite();
64 }
65
66 // Token: 0x17000305 RID: 773
67 // (get) Token: 0x06000C8B RID: 3211 RVA: 0x0006261B File Offset: 0x0006081B
68 public virtual string ID
69 {
70 get
71 {
72 return base.source.alias;
73 }
74 }
75
76 // Token: 0x17000306 RID: 774
77 // (get) Token: 0x06000C8C RID: 3212 RVA: 0x00062628 File Offset: 0x00060828
78 public virtual bool IsAct
79 {
80 get
81 {
82 return true;
83 }
84 }
85
86 // Token: 0x17000307 RID: 775
87 // (get) Token: 0x06000C8D RID: 3213 RVA: 0x0006262B File Offset: 0x0006082B
88 public virtual bool WillEndTurn
89 {
90 get
91 {
92 return true;
93 }
94 }
95
96 // Token: 0x17000308 RID: 776
97 // (get) Token: 0x06000C8E RID: 3214 RVA: 0x0006262E File Offset: 0x0006082E
98 public virtual bool CloseLayers
99 {
100 get
101 {
102 return true;
103 }
104 }
105
106 // Token: 0x17000309 RID: 777
107 // (get) Token: 0x06000C8F RID: 3215 RVA: 0x00062631 File Offset: 0x00060831
108 public virtual int LeftHand
109 {
110 get
111 {
112 return 0;
113 }
114 }
115
116 // Token: 0x1700030A RID: 778
117 // (get) Token: 0x06000C90 RID: 3216 RVA: 0x00062634 File Offset: 0x00060834
118 public virtual int RightHand
119 {
120 get
121 {
122 return 0;
123 }
124 }
125
126 // Token: 0x1700030B RID: 779
127 // (get) Token: 0x06000C91 RID: 3217 RVA: 0x00062637 File Offset: 0x00060837
128 public virtual int ElementPowerMod
129 {
130 get
131 {
132 return base.source.eleP;
133 }
134 }
135
136 // Token: 0x1700030C RID: 780
137 // (get) Token: 0x06000C92 RID: 3218 RVA: 0x00062644 File Offset: 0x00060844
138 public virtual bool ShowMapHighlight
139 {
140 get
141 {
142 return false;
143 }
144 }
145
146 // Token: 0x1700030D RID: 781
147 // (get) Token: 0x06000C93 RID: 3219 RVA: 0x00062647 File Offset: 0x00060847
148 public virtual bool ShowMapHighlightBlock
149 {
150 get
151 {
152 return false;
153 }
154 }
155
156 // Token: 0x06000C94 RID: 3220 RVA: 0x0006264A File Offset: 0x0006084A
157 public virtual bool ShowMouseHint(Card c)
158 {
159 return true;
160 }
161
162 // Token: 0x1700030E RID: 782
163 // (get) Token: 0x06000C95 RID: 3221 RVA: 0x0006264D File Offset: 0x0006084D
164 public virtual bool PickHeldOnStart
165 {
166 get
167 {
168 return false;
169 }
170 }
171
172 // Token: 0x1700030F RID: 783
173 // (get) Token: 0x06000C96 RID: 3222 RVA: 0x00062650 File Offset: 0x00060850
174 public virtual bool DropHeldOnStart
175 {
176 get
177 {
178 return false;
179 }
180 }
181
182 // Token: 0x17000310 RID: 784
183 // (get) Token: 0x06000C97 RID: 3223 RVA: 0x00062653 File Offset: 0x00060853
184 public virtual bool CanPressRepeat
185 {
186 get
187 {
188 return false;
189 }
190 }
191
192 // Token: 0x17000311 RID: 785
193 // (get) Token: 0x06000C98 RID: 3224 RVA: 0x00062656 File Offset: 0x00060856
194 public virtual bool CanAutofire
195 {
196 get
197 {
198 return false;
199 }
200 }
201
202 // Token: 0x17000312 RID: 786
203 // (get) Token: 0x06000C99 RID: 3225 RVA: 0x00062659 File Offset: 0x00060859
204 public virtual bool ResetAxis
205 {
206 get
207 {
208 return false;
209 }
210 }
211
212 // Token: 0x17000313 RID: 787
213 // (get) Token: 0x06000C9A RID: 3226 RVA: 0x0006265C File Offset: 0x0006085C
214 public virtual bool RequireTool
215 {
216 get
217 {
218 return false;
219 }
220 }
221
222 // Token: 0x17000314 RID: 788
223 // (get) Token: 0x06000C9B RID: 3227 RVA: 0x0006265F File Offset: 0x0006085F
224 public virtual bool IsHostileAct
225 {
226 get
227 {
228 return false;
229 }
230 }
231
232 // Token: 0x17000315 RID: 789
233 // (get) Token: 0x06000C9C RID: 3228 RVA: 0x00062662 File Offset: 0x00060862
234 public virtual bool HideRightInfo
235 {
236 get
237 {
238 return false;
239 }
240 }
241
242 // Token: 0x17000316 RID: 790
243 // (get) Token: 0x06000C9D RID: 3229 RVA: 0x00062665 File Offset: 0x00060865
244 public virtual bool HaveLongPressAction
245 {
246 get
247 {
248 return this.TargetType.CanSelectParty;
249 }
250 }
251
252 // Token: 0x17000317 RID: 791
253 // (get) Token: 0x06000C9E RID: 3230 RVA: 0x00062672 File Offset: 0x00060872
254 public virtual float Radius
255 {
256 get
257 {
258 return base.source.radius;
259 }
260 }
261
262 // Token: 0x06000C9F RID: 3231 RVA: 0x0006267F File Offset: 0x0006087F
263 public virtual bool IsValidTC(Card c)
264 {
265 return c.isChara || c.trait.CanBeAttacked;
266 }
267
268 // Token: 0x06000CA0 RID: 3232 RVA: 0x00062696 File Offset: 0x00060896
269 public virtual string GetHintText(string str = "")
270 {
271 return this.GetText(str);
272 }
273
274 // Token: 0x06000CA1 RID: 3233 RVA: 0x000626A0 File Offset: 0x000608A0
275 public virtual string GetText(string str = "")
276 {
277 if (base.source != null)
278 {
279 this.id = base.source.id;
280 }
281 if (this.id != 0)
282 {
283 return Lang.ParseRaw(base.source.GetName(), str, null, null, null, null);
284 }
285 if (!Lang.Has(this.ToString()))
286 {
287 string[] array = new string[5];
288 array[0] = this.ToString();
289 array[1] = "/";
290 int num = 2;
291 SourceElement.Row source = base.source;
292 array[num] = ((source != null) ? source.ToString() : null);
293 array[3] = "/";
294 array[4] = this.id.ToString();
295 return string.Concat(array);
296 }
297 return Lang.Get(this.ToString());
298 }
299
300 // Token: 0x06000CA2 RID: 3234 RVA: 0x00062744 File Offset: 0x00060944
301 public virtual string GetTextSmall(Card c)
302 {
303 if (c == null)
304 {
305 return null;
306 }
307 return c.Name + c.GetExtraName();
308 }
309
310 // Token: 0x17000318 RID: 792
311 // (get) Token: 0x06000CA3 RID: 3235 RVA: 0x0006275C File Offset: 0x0006095C
312 public virtual int PerformDistance
313 {
314 get
315 {
316 return 1;
317 }
318 }
319
320 // Token: 0x17000319 RID: 793
321 // (get) Token: 0x06000CA4 RID: 3236 RVA: 0x0006275F File Offset: 0x0006095F
322 public virtual int MaxRadius
323 {
324 get
325 {
326 return 99;
327 }
328 }
329
330 // Token: 0x1700031A RID: 794
331 // (get) Token: 0x06000CA5 RID: 3237 RVA: 0x00062764 File Offset: 0x00060964
332 public virtual TargetType TargetType
333 {
334 get
335 {
336 if (!base.source.target.IsEmpty())
337 {
338 string target = base.source.target;
339 uint num = <PrivateImplementationDetails>.ComputeStringHash(target);
340 if (num <= 1049176909U)
341 {
342 if (num <= 850565431U)
343 {
344 if (num != 333403860U)
345 {
346 if (num == 850565431U)
347 {
348 if (target == "Party")
349 {
350 return TargetType.Party;
351 }
352 }
353 }
354 else if (target == "Chara")
355 {
356 return TargetType.Chara;
357 }
358 }
359 else if (num != 1004962635U)
360 {
361 if (num == 1049176909U)
362 {
363 if (target == "Select")
364 {
365 return TargetType.Select;
366 }
367 }
368 }
369 else if (target == "Enemy")
370 {
371 return TargetType.Enemy;
372 }
373 }
374 else if (num <= 2648502281U)
375 {
376 if (num != 1480824651U)
377 {
378 if (num == 2648502281U)
379 {
380 if (target == "SelfParty")
381 {
382 return TargetType.SelfParty;
383 }
384 }
385 }
386 else if (target == "Neighbor")
387 {
388 return TargetType.SelfAndNeighbor;
389 }
390 }
391 else if (num != 3803529630U)
392 {
393 if (num == 3834216855U)
394 {
395 if (target == "Self")
396 {
397 return TargetType.Self;
398 }
399 }
400 }
401 else if (target == "Ground")
402 {
403 return TargetType.Ground;
404 }
405 }
406 return TargetType.Any;
407 }
408 }
409
410 // Token: 0x1700031B RID: 795
411 // (get) Token: 0x06000CA6 RID: 3238 RVA: 0x000628C1 File Offset: 0x00060AC1
412 public virtual bool LocalAct
413 {
414 get
415 {
416 return true;
417 }
418 }
419
420 // Token: 0x1700031C RID: 796
421 // (get) Token: 0x06000CA7 RID: 3239 RVA: 0x000628C4 File Offset: 0x00060AC4
422 public virtual bool CanRapidFire
423 {
424 get
425 {
426 return false;
427 }
428 }
429
430 // Token: 0x1700031D RID: 797
431 // (get) Token: 0x06000CA8 RID: 3240 RVA: 0x000628C7 File Offset: 0x00060AC7
432 public virtual float RapidDelay
433 {
434 get
435 {
436 return 0.2f;
437 }
438 }
439
440 // Token: 0x1700031E RID: 798
441 // (get) Token: 0x06000CA9 RID: 3241 RVA: 0x000628CE File Offset: 0x00060ACE
442 public virtual bool ShowAuto
443 {
444 get
445 {
446 return false;
447 }
448 }
449
450 // Token: 0x06000CAA RID: 3242 RVA: 0x000628D1 File Offset: 0x00060AD1
451 public virtual Color GetActPlanColor()
452 {
453 if (!this.IsCrime)
454 {
455 return EClass.Colors.colorAct;
456 }
457 return EClass.Colors.colorHostileAct;
458 }
459
460 // Token: 0x1700031F RID: 799
461 // (get) Token: 0x06000CAB RID: 3243 RVA: 0x000628F0 File Offset: 0x00060AF0
462 public virtual bool IsCrime
463 {
464 get
465 {
466 return EClass._zone.IsCrime(EClass.pc, this);
467 }
468 }
469
470 // Token: 0x06000CAC RID: 3244 RVA: 0x00062904 File Offset: 0x00060B04
471 public virtual bool Perform()
472 {
473 int id = this.id;
474 if ((id == 8230 || id == 8232) && Act.TC.isThing)
475 {
476 int power = Act.CC.elements.GetOrCreateElement(base.source.id).GetPower(Act.CC) * Act.powerMod / 100;
477 ActEffect.Proc(base.source.proc[0].ToEnum(true), power, BlessedState.Normal, Act.CC, Act.TC, default(ActRef));
478 return true;
479 }
480 if (base.source.proc.Length != 0)
481 {
482 string text = base.source.aliasRef.IsEmpty(Act.CC.MainElement.source.alias);
483 string a = base.source.proc[0];
484 if (a == "LulwyTrick" || a == "BuffStats")
485 {
486 text = base.source.proc[1];
487 }
488 else if (text == "mold")
489 {
490 text = Act.CC.MainElement.source.alias;
491 }
492 if (this.TargetType.Range == TargetRange.Self && !Act.forcePt)
493 {
494 Act.TC = Act.CC;
495 Act.TP.Set(Act.CC.pos);
496 }
497 int power2 = Act.CC.elements.GetOrCreateElement(base.source.id).GetPower(Act.CC) * Act.powerMod / 100;
498 ActEffect.ProcAt(base.source.proc[0].ToEnum(true), power2, BlessedState.Normal, Act.CC, Act.TC, Act.TP, base.source.tag.Contains("neg"), new ActRef
499 {
500 n1 = base.source.proc.TryGet(1, true),
501 aliasEle = text,
502 act = this
503 });
504 }
505 return true;
506 }
507
508 // Token: 0x06000CAD RID: 3245 RVA: 0x00062AF8 File Offset: 0x00060CF8
509 public virtual bool CanPerform()
510 {
511 return true;
512 }
513
514 // Token: 0x06000CAE RID: 3246 RVA: 0x00062AFB File Offset: 0x00060CFB
515 public bool Perform(Chara _cc, Card _tc = null, Point _tp = null)
516 {
517 return this.CanPerform(_cc, _tc, _tp) && this.Perform();
518 }
519
520 // Token: 0x06000CAF RID: 3247 RVA: 0x00062B10 File Offset: 0x00060D10
521 public bool CanPerform(Chara _cc, Card _tc = null, Point _tp = null)
522 {
523 Act.<>c__DisplayClass82_0 CS$<>8__locals1 = new Act.<>c__DisplayClass82_0();
524 CS$<>8__locals1.<>4__this = this;
525 Act.CC = _cc;
526 Act.TC = _tc;
527 Point tp = Act.TP;
528 Point point = _tp;
529 if (_tp == null)
530 {
531 Card tc = Act.TC;
532 point = (((tc != null) ? tc.pos : null) ?? Act.CC.pos);
533 }
534 tp.Set(point);
535 CS$<>8__locals1.tt = this.TargetType;
536 if (Act.forcePt && CS$<>8__locals1.tt.Range == TargetRange.Self && !Act.CC.IsPC)
537 {
538 CS$<>8__locals1.tt = TargetType.Chara;
539 }
540 if (this.LocalAct && EClass._zone.IsRegion)
541 {
542 return false;
543 }
544 if (CS$<>8__locals1.tt.Range == TargetRange.Self)
545 {
546 Act.TP.Set(Act.CC.pos);
547 return this.CanPerform();
548 }
549 if (Act.CC.IsPC && Act.TP.Equals(EClass.pc.pos) && EClass.core.config.game.shiftToUseNegativeAbilityOnSelf && base.source.tag.Contains("neg") && !EInput.isShiftDown)
550 {
551 return false;
552 }
553 if (!(this is ActMelee) && CS$<>8__locals1.tt.Range == TargetRange.Chara && (Act.TC == null || !Act.CC.CanSee(Act.TC)))
554 {
555 return false;
556 }
557 CS$<>8__locals1.distCheck = CS$<>8__locals1.<CanPerform>g__DistCheck|0(Act.CC.pos, Act.TP);
558 if (!CS$<>8__locals1.distCheck && (Act.CC.IsMultisize || (Act.TC != null && Act.TC.IsMultisize)))
559 {
560 if (Act.CC.IsMultisize)
561 {
562 Act.CC.ForeachPoint(delegate(Point p, bool main)
563 {
564 base.<CanPerform>g__DistCheckMulti|1(p, Act.TC);
565 });
566 }
567 else
568 {
569 CS$<>8__locals1.<CanPerform>g__DistCheckMulti|1(Act.CC.pos, Act.TC);
570 }
571 }
572 return CS$<>8__locals1.distCheck && this.CanPerform();
573 }
574
575 // Token: 0x06000CB0 RID: 3248 RVA: 0x00062CEE File Offset: 0x00060EEE
576 public static void SetReference(Chara _cc, Card _tc = null, Point _tp = null)
577 {
578 Act.CC = _cc;
579 Act.TC = _tc;
580 Act.TP.Set(_tp ?? Act.TC.pos);
581 }
582
583 // Token: 0x06000CB1 RID: 3249 RVA: 0x00062D16 File Offset: 0x00060F16
584 public virtual bool IsToolValid()
585 {
586 return Act.CC == EClass.pc && Act.TOOL != null && Act.TOOL.parent == EClass.pc;
587 }
588
589 // Token: 0x06000CB2 RID: 3250 RVA: 0x00062D3E File Offset: 0x00060F3E
590 public static void SetTool(Thing t)
591 {
592 Act.TOOL = t;
593 }
594
595 // Token: 0x06000CB3 RID: 3251 RVA: 0x00062D48 File Offset: 0x00060F48
596 public new void SetImage(Image image)
597 {
598 image.sprite = (this.GetSprite() ?? EClass.core.refs.icons.defaultAbility);
599 if (!base.source.aliasRef.IsEmpty())
600 {
601 image.color = EClass.setting.elements[base.source.aliasRef].colorSprite;
602 }
603 else
604 {
605 image.color = Color.white;
606 }
607 image.rectTransform.pivot = new Vector2(0.5f, 0.5f);
608 image.SetNativeSize();
609 }
610
611 // Token: 0x06000CB4 RID: 3252 RVA: 0x00062DE0 File Offset: 0x00060FE0
612 public virtual void OnMarkMapHighlights()
613 {
614 EClass._map.ForeachSphere(EClass.pc.pos.x, EClass.pc.pos.z, (float)base.act.MaxRadius, delegate(Point p)
615 {
616 if (!p.HasBlock && this.ShouldMapHighlight(p))
617 {
618 p.cell.highlight = 8;
619 EClass.player.lastMarkedHighlights.Add(p.Copy());
620 }
621 });
622 }
623
624 // Token: 0x06000CB5 RID: 3253 RVA: 0x00062E2D File Offset: 0x0006102D
625 public virtual bool ShouldMapHighlight(Point p)
626 {
627 return base.act.TargetType.ShowMapHighlight && base.act.ShowMapHighlight && base.act.CanPerform(EClass.pc, null, p);
628 }
629
630 // Token: 0x04000CC7 RID: 3271
631 public static Chara CC;
632
633 // Token: 0x04000CC8 RID: 3272
634 public static Card TC;
635
636 // Token: 0x04000CC9 RID: 3273
637 public static Point TP = new Point();
638
639 // Token: 0x04000CCA RID: 3274
640 public static Thing TOOL;
641
642 // Token: 0x04000CCB RID: 3275
643 public static int powerMod = 100;
644
645 // Token: 0x04000CCC RID: 3276
646 public static bool forcePt;
647
648 // Token: 0x020008AC RID: 2220
649 public enum CostType
650 {
651 // Token: 0x040024FB RID: 9467
652 None,
653 // Token: 0x040024FC RID: 9468
654 MP,
655 // Token: 0x040024FD RID: 9469
656 SP
657 }
658
659 // Token: 0x020008AD RID: 2221
660 public struct Cost
661 {
662 // Token: 0x040024FE RID: 9470
663 public int cost;
664
665 // Token: 0x040024FF RID: 9471
666 public Act.CostType type;
667 }
668}
Definition Act.2.cs:7
Definition Card.cs:13
Definition Chara.cs:12
Definition Point.cs:11
Definition TC.cs:6
Definition Thing.cs:10