Elin Decompiled Documentation EA 23.264 Nightly
Loading...
Searching...
No Matches
HotItemNoItem.cs
Go to the documentation of this file.
1using UnityEngine;
2
4{
5 public override Sprite GetSprite()
6 {
8 }
9
10 public static bool _TrySetAct(ActPlan p)
11 {
13 {
14 return false;
15 }
16 Card tg = null;
17 p.pos.ListVisibleCards().ForeachReverse(delegate(Card a)
18 {
19 if (a.isChara && a.Chara.mimicry != null && !a.IsPCParty)
20 {
21 tg = a;
22 return true;
23 }
25 {
26 tg = a;
27 return true;
28 }
29 return false;
30 });
31 if (tg != null)
32 {
33 return p.TrySetAct("actHold", delegate
34 {
35 if (tg.ExistsOnMap)
36 {
37 if (tg.isChara && tg.Chara.mimicry != null && !tg.IsPCParty)
38 {
39 tg.Chara.mimicry.RevealMimicry(EClass.pc, surprise: true);
40 return true;
41 }
42 if (!EClass.pc.CanLift(tg))
43 {
44 EClass.pc.Say("tooHeavy", tg);
45 return false;
46 }
47 if (tg.HasEditorTag(EditorTag.TreasureMelilith))
48 {
49 if (EClass.player.flags.pickedMelilithTreasure)
50 {
51 EClass.pc.PlaySound("curse3");
52 EClass.pc.PlayEffect("curse");
53 EClass.pc.SetFeat(1206, 1, msg: true);
54 EClass.player.flags.gotMelilithCurse = true;
55 }
56 else
57 {
58 Msg.Say("pickedMelilithTreasure");
59 EClass.player.flags.pickedMelilithTreasure = true;
60 EClass.game.quests.Get<QuestCursedManor>()?.NextPhase();
61 }
62 tg.c_editorTags = null;
63 }
64 EClass.pc.HoldCard(tg);
65 if (EClass.pc.held != null)
66 {
67 tg.PlaySoundHold(spatial: false);
68 EClass.player.RefreshCurrentHotItem();
69 ActionMode.Adv.planRight.Update(ActionMode.Adv.mouseTarget);
70 EClass.pc.renderer.Refresh();
71 if (EClass.pc.held.trait is TraitToolMusic)
72 {
73 HotItemHeld.disableTool = true;
74 }
75 }
76 }
77 return true;
78 }, tg, null, 1, isHostileAct: false, localAct: false);
79 }
80 TaskHarvest taskHarvest = TaskHarvest.TryGetAct(EClass.pc, p.pos);
81 if (taskHarvest != null)
82 {
83 p.TrySetAct(taskHarvest);
84 }
85 return false;
86 }
87
88 public override bool TrySetAct(ActPlan p)
89 {
90 return _TrySetAct(p);
91 }
92}
EditorTag
Definition: EditorTag.cs:2
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
bool IsNeighborBlocked
Definition: ActPlan.cs:181
Point pos
Definition: ActPlan.cs:152
bool IsSelfOrNeighbor
Definition: ActPlan.cs:178
bool TrySetAct(string lang, Func< bool > onPerform, Card tc, CursorInfo cursor=null, int dist=1, bool isHostileAct=false, bool localAct=true, bool canRepeat=false)
Definition: ActPlan.cs:368
Definition: Card.cs:11
virtual bool isThing
Definition: Card.cs:2082
virtual Chara Chara
Definition: Card.cs:2071
bool isNPCProperty
Definition: Card.cs:555
virtual bool IsPCParty
Definition: Card.cs:2152
bool ExistsOnMap
Definition: Card.cs:2086
TileType TileType
Definition: Card.cs:2138
Point pos
Definition: Card.cs:60
string c_editorTags
Definition: Card.cs:1702
Trait trait
Definition: Card.cs:54
bool HasEditorTag(EditorTag tag)
Definition: Card.cs:2603
virtual bool isChara
Definition: Card.cs:2084
Card held
Definition: Chara.cs:70
void HoldCard(Card t, int num=-1)
Definition: Chara.cs:4466
ConTransmuteMimic mimicry
Definition: Chara.cs:106
bool CanLift(Card c)
Definition: Chara.cs:4254
Sprite noHotItem
Definition: CoreRef.cs:114
Icons icons
Definition: CoreRef.cs:355
CoreRef refs
Definition: Core.cs:51
Definition: EClass.cs:6
static Core core
Definition: EClass.cs:7
static Chara pc
Definition: EClass.cs:15
override bool TrySetAct(ActPlan p)
override Sprite GetSprite()
Definition: HotItemNoItem.cs:5
static bool _TrySetAct(ActPlan p)
List< Card > ListVisibleCards()
Definition: Point.cs:1075
static TaskHarvest TryGetAct(Chara c, Point p)
Definition: TaskHarvest.cs:136
virtual bool CanBeHeld
Definition: TileType.cs:263
virtual bool CanBeHeld
Definition: Trait.cs:291