Elin Decompiled Documentation EA 23.153 Nightly
Loading...
Searching...
No Matches
InvOwnerRecycle.cs
Go to the documentation of this file.
1using UnityEngine;
2
4{
6
7 public override string langTransfer => "invRecycle";
8
9 public override ProcessType processType => ProcessType.Consume;
10
11 public override bool InvertSell => false;
12
13 public override bool DenyImportant => true;
14
15 public InvOwnerRecycle(Card owner = null, Card container = null, CurrencyType _currency = CurrencyType.Ecopo)
16 : base(owner, container, _currency)
17 {
18 }
19
20 public override void BuildUICurrency(UICurrency uiCurrency, bool canReroll = false)
21 {
22 uiCurrency.SetActive(enable: true);
23 uiCurrency.Build(new UICurrency.Options
24 {
25 ecopo = true,
26 influence = canReroll
27 });
28 }
29
30 public override bool ShouldShowGuide(Thing t)
31 {
32 if (t.c_isImportant)
33 {
34 return false;
35 }
36 switch (t.id)
37 {
38 case "gene":
39 case "gene_brain":
40 case "1084":
41 return true;
42 default:
43 if (t.things.Count == 0 && t.trait.CanBeDestroyed && !t.trait.CanOnlyCarry && t.rarity < Rarity.Artifact && t.category.GetRoot().id != "currency")
44 {
45 return !(t.trait is TraitRecycle);
46 }
47 return false;
48 }
49 }
50
51 public override void _OnProcess(Thing t)
52 {
53 SE.Play("trash");
54 Msg.Say("dump", t, Container.Name);
55 int a = t.Num * Mathf.Clamp(t.GetPrice() / 100, 1, 100);
56 a = EClass.rndHalf(a);
57 if (t.id == "1084")
58 {
59 a *= 10;
60 }
61 if (a != 0)
62 {
63 EClass.pc.Pick(ThingGen.Create("ecopo").SetNum(a / 10 + 1));
64 }
65 switch (t.id)
66 {
67 case "gene":
68 case "gene_brain":
69 case "1084":
70 if (EClass.rnd(5) == 0 || EClass.debug.enable)
71 {
73 }
74 break;
75 }
76 t.Destroy();
77 }
78}
CurrencyType
Definition: CurrencyType.cs:2
Rarity
Definition: Rarity.cs:2
Definition: Card.cs:11
string id
Definition: Card.cs:31
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:6875
Rarity rarity
Definition: Card.cs:298
string Name
Definition: Card.cs:2073
Thing SetNum(int a)
Definition: Card.cs:3356
Trait trait
Definition: Card.cs:49
void Destroy()
Definition: Card.cs:4783
bool c_isImportant
Definition: Card.cs:996
ThingContainer things
Definition: Card.cs:34
SourceCategory.Row category
Definition: Card.cs:1985
Thing MakeEgg(bool effect=true, int num=1, bool addToZone=true, int fertChance=20, BlessedState? state=null)
Definition: Card.cs:5403
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:4017
bool enable
Definition: CoreDebug.cs:285
Definition: EClass.cs:5
static int rnd(int a)
Definition: EClass.cs:58
static int rndHalf(int a)
Definition: EClass.cs:82
static Chara pc
Definition: EClass.cs:14
static CoreDebug debug
Definition: EClass.cs:48
override void _OnProcess(Thing t)
override bool InvertSell
override bool ShouldShowGuide(Thing t)
override bool DenyImportant
override void BuildUICurrency(UICurrency uiCurrency, bool canReroll=false)
InvOwnerRecycle(Card owner=null, Card container=null, CurrencyType _currency=CurrencyType.Ecopo)
TraitRecycle recycle
override string langTransfer
override ProcessType processType
Card owner
Definition: InvOwner.cs:533
Card Container
Definition: InvOwner.cs:535
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
virtual bool CanBeDestroyed
Definition: Trait.cs:289
Card owner
Definition: Trait.cs:26
virtual bool CanOnlyCarry
Definition: Trait.cs:287
void Build(Options _options)
Definition: UICurrency.cs:79