Elin Decompiled Documentation EA 23.295 Stable Patch 2
Loading...
Searching...
No Matches
ConTransmuteMimic.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using Newtonsoft.Json;
3
5{
6 [JsonProperty]
7 public Thing thing;
8
9 public override Card Card => thing;
10
12 {
13 if (thing.trait is TraitFigure traitFigure)
14 {
15 return RendererReplacer.CreateFrom(traitFigure.source.id);
16 }
18 }
19
20 public override void OnBeforeStart()
21 {
22 List<Thing> list = owner.things.List((Thing t) => !t.source.multisize && t.c_isImportant, onlyAccessible: true);
23 if (list.Count == 0)
24 {
25 list = owner.things.List((Thing t) => !t.source.multisize && !t.isEquipped, onlyAccessible: true);
26 }
27 if (list.Count > 0)
28 {
29 thing = list.RandomItem().Duplicate(1);
30 }
31 else if (EClass.rnd(3) == 0)
32 {
33 thing = ThingGen.Create("chest3", -1, EClass._zone.ContentLv);
35 }
36 else
37 {
39 }
40 base.OnBeforeStart();
41 }
42
43 public override void TrySetAct(ActPlan p)
44 {
46 {
47 p.TrySetAct("actContainer", delegate
48 {
49 RevealMimicry(EClass.pc, surprise: true);
50 return true;
52 }
53 }
54}
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:372
Definition: Card.cs:11
string id
Definition: Card.cs:36
SourceMaterial.Row material
Definition: Card.cs:2089
Card ChangeMaterial(int idNew, bool ignoreFixedMaterial=false)
Definition: Card.cs:3117
Thing SetNum(int a)
Definition: Card.cs:3577
Trait trait
Definition: Card.cs:54
bool c_isImportant
Definition: Card.cs:1037
ThingContainer things
Definition: Card.cs:39
Thing Duplicate(int num)
Definition: Card.cs:3526
bool IsContainer
Definition: Card.cs:2127
virtual void RevealMimicry(Card c, bool surprise)
override void OnBeforeStart()
override RendererReplacer GetRendererReplacer()
override void TrySetAct(ActPlan p)
static CursorInfo Container
Definition: CursorSystem.cs:82
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:21
static int rnd(long a)
Definition: EClass.cs:59
static Chara pc
Definition: EClass.cs:15
static RendererReplacer CreateFrom(string id, int shift=0, int mat=-1)
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)
static Thing CreateFromFilter(string id, int lv=-1)
Definition: ThingGen.cs:63
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
SourceThing.Row source
Definition: Thing.cs:11
bool isEquipped
Definition: Thing.cs:17
override int ContentLv
Definition: Zone.cs:98
BiomeProfile biome
Definition: Zone.cs:129