Elin Modding Docs Doc
Loading...
Searching...
No Matches
GoalAutoCombat.cs
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Runtime.CompilerServices;
5using UnityEngine;
6
7// Token: 0x0200022D RID: 557
9{
10 // Token: 0x06000FA2 RID: 4002 RVA: 0x000701B4 File Offset: 0x0006E3B4
11 public override Color GetActPlanColor()
12 {
13 if (EClass.pc.IsCriticallyWounded(false))
14 {
15 return EClass.Colors.colorActCriticalWarning;
16 }
17 if (!EClass.pc.party.IsCriticallyWounded(false))
18 {
19 return EClass.Colors.colorAct;
20 }
21 return EClass.Colors.colorActWarnning;
22 }
23
24 // Token: 0x17000409 RID: 1033
25 // (get) Token: 0x06000FA3 RID: 4003 RVA: 0x00070200 File Offset: 0x0006E400
26 public override bool UseTurbo
27 {
28 get
29 {
30 return EClass.game.config.autoCombat.turbo;
31 }
32 }
33
34 // Token: 0x1700040A RID: 1034
35 // (get) Token: 0x06000FA4 RID: 4004 RVA: 0x00070216 File Offset: 0x0006E416
36 public override Thing RenderThing
37 {
38 get
39 {
40 return this.renderThing;
41 }
42 }
43
44 // Token: 0x1700040B RID: 1035
45 // (get) Token: 0x06000FA5 RID: 4005 RVA: 0x0007021E File Offset: 0x0006E41E
46 public ConfigAutoCombat config
47 {
48 get
49 {
50 return EClass.game.config.autoCombat;
51 }
52 }
53
54 // Token: 0x06000FA6 RID: 4006 RVA: 0x00070230 File Offset: 0x0006E430
55 public GoalAutoCombat(Chara e)
56 {
57 this.destEnemy = e;
58 EClass.player.autoCombatStartHP = ((EClass.pc.Evalue(1421) > 0) ? (EClass.pc.hp + EClass.pc.mana.value) : EClass.pc.hp);
59 foreach (Chara chara in EClass.pc.party.members)
60 {
61 if (!chara.IsCriticallyWounded(false))
62 {
63 this.listHealthy.Add(chara);
64 }
65 }
66 }
67
68 // Token: 0x06000FA7 RID: 4007 RVA: 0x000702F4 File Offset: 0x0006E4F4
69 public override bool TryUseRanged(int dist)
70 {
71 Thing ranged = this.owner.ranged;
72 this.owner.ranged = null;
73 if (this.config.bUseHotBar)
74 {
75 this.<TryUseRanged>g__FindRanged|10_0(true);
76 }
77 if (this.owner.ranged == null || !ACT.Ranged.Perform(this.owner, this.tc, null))
78 {
79 return false;
80 }
81 if (this.owner == null)
82 {
83 return true;
84 }
85 this.renderThing = this.owner.ranged;
86 if (this.owner.ranged != ranged)
87 {
88 this.owner.ranged = ranged;
89 }
90 return true;
91 }
92
93 // Token: 0x06000FA8 RID: 4008 RVA: 0x0007038C File Offset: 0x0006E58C
94 public void GetAbilities(Func<Element, bool> func)
95 {
96 if (this.config.bUseHotBar)
97 {
98 foreach (Thing thing in from t in EClass.pc.things
99 where t.IsHotItem && t.trait is TraitAbility
100 select t)
101 {
102 Element element = this.owner.elements.GetElement(thing.c_idAbility);
103 if (element != null && func(element))
104 {
105 base.AddAbility(element.act, 15, 100, false);
106 }
107 }
108 }
109 if (this.config.bUseInventory)
110 {
111 foreach (Element element2 in this.owner.elements.dict.Values)
112 {
113 if ((!this.config.bUseFav || EClass.player.favAbility.Contains(element2.id)) && func(element2))
114 {
115 base.AddAbility(element2.act, 0, 100, false);
116 }
117 }
118 }
119 }
120
121 // Token: 0x06000FA9 RID: 4009 RVA: 0x000704D8 File Offset: 0x0006E6D8
122 public override void BuildAbilityList()
123 {
124 this.GetAbilities((Element e) => e.source.abilityType.Length != 0);
125 base.AddAbility(ACT.Ranged, 0, 100, false);
126 base.AddAbility(ACT.Melee, 0, 100, false);
127 base.AddAbility(ACT.Item, 0, 100, false);
128 }
129
130 // Token: 0x06000FAA RID: 4010 RVA: 0x00070537 File Offset: 0x0006E737
131 public override bool TryAbortCombat()
132 {
133 if (this.idleCount >= 2)
134 {
135 Msg.Say("abort_idle");
136 return true;
137 }
138 return false;
139 }
140
141 // Token: 0x06000FAB RID: 4011 RVA: 0x00070550 File Offset: 0x0006E750
142 [CompilerGenerated]
143 private void <TryUseRanged>g__FindRanged|10_0(bool hotbar)
144 {
145 this.owner.things.Foreach(delegate(Thing t)
146 {
147 if (t.IsHotItem)
148 {
149 if (!hotbar)
150 {
151 return false;
152 }
153 }
154 else if (hotbar)
155 {
156 return false;
157 }
158 if (t.IsRangedWeapon && (t.trait is TraitToolRangeCane || t.c_ammo > 0 || EClass.player.FindAmmo(t) != null) && this.owner.CanEquipRanged(t))
159 {
160 this.owner.ranged = t;
161 return true;
162 }
163 return false;
164 }, true);
165 }
166
167 // Token: 0x04000D87 RID: 3463
168 public Thing renderThing;
169
170 // Token: 0x04000D88 RID: 3464
171 public List<Chara> listHealthy = new List<Chara>();
172}
Definition ACT.cs:6
Definition Chara.cs:12
Definition Msg.cs:7
Definition Thing.cs:10