Elin Decompiled Documentation EA 23.102 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 && t.things.Count == 0 && t.trait.CanBeDestroyed && !t.trait.CanOnlyCarry && t.rarity < Rarity.Artifact && t.category.GetRoot().id != "currency")
33 {
34 return !(t.trait is TraitRecycle);
35 }
36 return false;
37 }
38
39 public override void _OnProcess(Thing t)
40 {
41 SE.Play("trash");
42 Msg.Say("dump", t, Container.Name);
43 int a = t.Num * Mathf.Clamp(t.GetPrice() / 100, 1, 100);
44 a = EClass.rndHalf(a);
45 if (a != 0)
46 {
47 EClass.pc.Pick(ThingGen.Create("ecopo").SetNum(a / 10 + 1));
48 }
49 t.Destroy();
50 }
51}
CurrencyType
Definition: CurrencyType.cs:2
Rarity
Definition: Rarity.cs:2
Definition: Card.cs:11
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:6449
Rarity rarity
Definition: Card.cs:298
string Name
Definition: Card.cs:2013
Thing SetNum(int a)
Definition: Card.cs:3242
Trait trait
Definition: Card.cs:49
void Destroy()
Definition: Card.cs:4538
bool c_isImportant
Definition: Card.cs:984
ThingContainer things
Definition: Card.cs:34
SourceCategory.Row category
Definition: Card.cs:1925
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:3920
Definition: EClass.cs:5
static int rndHalf(int a)
Definition: EClass.cs:74
static Chara pc
Definition: EClass.cs:14
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:538
Card Container
Definition: InvOwner.cs:540
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:285
virtual bool CanOnlyCarry
Definition: Trait.cs:283
void Build(Options _options)
Definition: UICurrency.cs:79