11 public override Color GetActPlanColor()
13 if (
EClass.pc.IsCriticallyWounded(
false))
15 return EClass.Colors.colorActCriticalWarning;
17 if (!
EClass.pc.party.IsCriticallyWounded(
false))
19 return EClass.Colors.colorAct;
21 return EClass.Colors.colorActWarnning;
26 public override bool UseTurbo
30 return EClass.game.config.autoCombat.turbo;
36 public override Thing RenderThing
40 return this.renderThing;
50 return EClass.game.config.autoCombat;
58 EClass.player.autoCombatStartHP = ((
EClass.pc.Evalue(1421) > 0) ? (
EClass.pc.hp +
EClass.pc.mana.value) :
EClass.pc.hp);
61 if (!chara.IsCriticallyWounded(
false))
63 this.listHealthy.Add(chara);
69 public override bool TryUseRanged(
int dist)
71 Thing ranged = this.owner.ranged;
72 this.owner.ranged =
null;
73 if (this.config.bUseHotBar)
75 this.<TryUseRanged>g__FindRanged|10_0(
true);
77 if (this.owner.ranged ==
null || !
ACT.Ranged.Perform(
this.owner,
this.tc,
null))
81 if (this.owner ==
null)
85 this.renderThing = this.owner.ranged;
86 if (this.owner.ranged != ranged)
88 this.owner.ranged = ranged;
94 public void GetAbilities(Func<Element, bool> func)
96 if (this.config.bUseHotBar)
102 Element element = this.owner.elements.GetElement(thing.c_idAbility);
103 if (element !=
null && func(element))
105 base.AddAbility(element.act, 15, 100,
false);
109 if (this.config.bUseInventory)
111 foreach (
Element element2
in this.owner.elements.dict.Values)
113 if ((!this.config.bUseFav ||
EClass.player.favAbility.Contains(element2.id)) && func(element2))
115 base.AddAbility(element2.act, 0, 100,
false);
122 public override void BuildAbilityList()
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);
131 public override bool TryAbortCombat()
133 if (this.idleCount >= 2)
135 Msg.Say(
"abort_idle");
143 private void <TryUseRanged>g__FindRanged|10_0(
bool hotbar)
145 this.owner.things.Foreach(delegate(
Thing t)
158 if (t.IsRangedWeapon && (t.trait is
TraitToolRangeCane || t.c_ammo > 0 ||
EClass.player.FindAmmo(t) !=
null) &&
this.owner.CanEquipRanged(t))
160 this.owner.ranged = t;
168 public Thing renderThing;
171 public List<Chara> listHealthy =
new List<Chara>();