2using System.Collections.Generic;
11 public void Add(
Act a,
string s =
"")
56 public bool Perform(
bool repeated =
false)
131 if (aIAct is
Task task)
133 task.isDestroyed =
false;
137 taskPoint.isRepeated =
true;
196 return list[0].act.CanPressRepeat;
212 return list[0].act.GetCursorIcon(
list[0].tc);
226 return list[0].act.WillEndTurn;
238 return list[0].act.HideRightInfo;
254 return list[0].act.ShowMouseHint(
list[0].tc);
268 return list[0].tc !=
list.LastItem().tc;
282 return list[0].GetText(showName);
284 return "+" + list.Count + ((
HasMultipleTargets ||
list[0].tc ==
null) ? (
"\n<size=28>(" +
"multipleTargets".lang() +
")</size>") : (
"\n<size=28>" +
list[0].tc.Name +
list[0].tc.GetExtraName() +
"</size>"));
320 EClass.player.forceTalk =
true;
331 uIContextMenu2.
AddButton(
"order_fight", delegate
333 Order(
"order_fight");
335 uIContextMenu2.
AddButton(
"order_heal", delegate
339 uIContextMenu2.
AddButton(
"order_wait", delegate
347 textContext = textContext.Replace(
"\n",
" ").Replace(Environment.NewLine,
" ");
348 uIContextMenu.AddButton(textContext, delegate
362 uIContextMenu.Show();
372 isHostileAct = isHostileAct,
401 if (_tc !=
null && _tc.isChara)
404 for (
int i = 0; i <
list.Count; i++)
406 if (
list[i].tc == _tc)
449 for (
int i = 0; i < components.Length; i++)
451 components[i].effectColor = effectColor;
457 EClass.ui.hud.imageRight.rectTransform.localScale =
new Vector3(2f, 2f, 1f);
460 for (
int i = 0; i < components.Length; i++)
462 components[i].effectColor = effectColor;
523 items.ForeachReverse(delegate(
Card _c)
605 items.ForeachReverse(delegate(
Card _c)
625 uIContextMenu.
AddSlider(
"rideSkin", (
float a) =>
list[(
int)a].Split(
'-')[0] ??
"", index, delegate(
float a)
627 ride.c_idRidePCC =
list[(int)a];
629 }, 0f, list.Count - 1, isInt:
true, hideOther:
false);
630 uIContextMenu.
Show();
651 string lang =
"actGive";
665 Dialog.YesNo(
"dialogGive".lang(EClass.pc.held.GetName(NameStyle.Full, 1)), func);
680 ActThrow.Throw(EClass.pc, c.pos, c, EClass.pc.held.Split(1));
746 t.c_lightColor = (byte)Mathf.Clamp(_c.r * 32f, 1f, 31f) * 1024 + (byte)Mathf.Clamp(_c.g * 32f, 1f, 31f) * 32 + (byte)Mathf.Clamp(_c.b * 32f, 1f, 31f);
756 TrySetAct(
"(debug) Toggle Float", delegate
848 IList<Card> _cards = items.Copy();
851 foreach (
Card item2
in _cards)
855 EClass.pc.Pick(item2.Thing);
878 ActionMode.AdvOrRegion.updatePlans =
true;
919 items.ForeachReverse(delegate(
Card _c)
923 TrySetAct(ACT.Melee, _c);
942 hotItem.OnClick(hotItem.button, hotItem.hotbar);
950 bool flag = EClass.game.config.autoCombat.enable && EClass.scene.mouseTarget.TargetChara !=
null;
977 if (!
list[0].act.ShowAuto)
1001 static void Banish(
Chara m)
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
void SetTurbo(int mtp=-1)
string GetText(bool showName)
bool Perform(bool repeated=false)
string GetTextContext(bool showName)
void Add(Act a, string s="")
bool _canInteractNeighbor
string GetText(bool showName)
void Update(PointTarget target)
bool TrySetAct(Act _act, Card _tc=null)
void _Update(PointTarget target)
bool TrySetAct(string lang, Func< bool > onPerform, Card tc, CursorInfo cursor=null, int dist=1, bool isHostileAct=false, bool localAct=true, bool canRepeat=false)
bool TrySetAct(string lang, Func< bool > onPerform, CursorInfo cursor=null, int dist=1)
static bool SearchMedal(Chara c, Point p)
virtual int PerformDistance
virtual string GetTextSmall(Card c)
virtual string GetText(string str="")
virtual bool CanPerform()
bool IsRestrainedResident
bool HasElement(int ele, int req=1)
void TryUnrestrain(bool force=false, Chara c=null)
void SayRaw(string text, string ref1=null, string ref2=null)
void Say(string lang, string ref1=null, string ref2=null)
override bool IsAliveInCurrentZone
bool CanAcceptGift(Chara c, Card t)
void Cuddle(Chara c, bool headpat=false)
bool IsValidGiftWeight(Card t, int num=-1)
void PickHeld(bool msg=false)
bool HasCondition(string alias)
override CardRenderer _CreateRenderer()
override bool IsPCFaction
override bool IsPCPartyMinion
void SetAIImmediate(AIAct g)
bool CanInteractTo(Card c)
static NoGoal _NoGoalRepeat
void DropThing(Thing t, int num=-1)
void GiveGift(Chara c, Thing t)
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
bool bDontAutoAttackNeutral
static CursorInfo Inventory
static CursorInfo MoveZone
static Dialog InputName(string langDetail, string text, Action< bool, string > onClose, InputType inputType=InputType.Default)
static void TryWarnDisassemble(Action action)
static void TryWarnCrime(Action action)
static ColorProfile Colors
ConfigAutoCombat autoCombat
static bool _TrySetAct(ActPlan p)
virtual void SetImage(Image icon)
virtual bool TrySetAct(ActPlan p)
virtual bool IsGameAction
static LayerDragGrid Create(InvOwnerDraglet owner, bool refuelFromLayerDragGrid=false)
static LayerInventory CreateContainer(Card owner)
bool CanExitBorder(Point p)
bool HasKeyItem(string alias)
void EndTurn(bool consume=true)
void EnterLocalZone(bool encounter=false, Chara mob=null)
void ExitBorder(ActPlan p=null)
List< Card > ListCards(bool includeMasked=false)
Point Set(int _x, int _z)
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
bool Equals(int _x, int _z)
Effect PlayEffect(string id)
Thing FindThing(Func< Thing, bool > func)
bool IsDeliverTarget(Chara c)
virtual bool AllowTraining
virtual bool CanBeAttacked
virtual void TrySetAct(ActPlan p)
virtual bool CanRead(Chara c)
virtual void TrySetToggleAct(ActPlan p)
virtual bool CanEat(Chara c)
virtual bool DisableAutoCombat
virtual bool CanDrink(Chara c)
virtual bool CanOnlyCarry
bool IsCrime(Chara c, Act act)