Elin Decompiled Documentation EA 23.102 Nightly
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Pages
TraitDye.cs
Go to the documentation of this file.
1public class TraitDye : Trait
2{
3 public override bool IsBlendBase => true;
4
5 public override bool CanUse(Chara c, Card tg)
6 {
7 if (tg.isThing && c.Dist(tg) <= 1)
8 {
9 return CanBlend(tg.Thing);
10 }
11 return false;
12 }
13
14 public override bool OnUse(Chara c, Card tg)
15 {
16 Dye(tg);
17 return true;
18 }
19
20 public override void OnThrowGround(Chara c, Point p)
21 {
22 if (p.HasObj)
23 {
24 p.cell.objMat = (byte)owner.material.id;
25 p.cell.isObjDyed = true;
26 owner.Die();
27 }
28 }
29
30 public override bool CanBlend(Thing t)
31 {
32 return t.id != "dye";
33 }
34
35 public override void OnBlend(Thing t, Chara c)
36 {
37 Dye(t);
38 }
39
40 public void Dye(Card tg)
41 {
42 tg.Dye(owner.material);
43 Msg.Say("dye", tg);
44 EClass.pc.PlaySound("water_farm");
45 owner.ModNum(-1);
46 }
47}
Definition: Card.cs:11
virtual bool isThing
Definition: Card.cs:1957
SourceMaterial.Row material
Definition: Card.cs:1927
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5404
virtual void Die(Element e=null, Card origin=null, AttackSource attackSource=AttackSource.None)
Definition: Card.cs:4471
void Dye(string idMat)
Definition: Card.cs:5267
virtual Thing Thing
Definition: Card.cs:1934
int Dist(Card c)
Definition: Card.cs:6777
void ModNum(int a, bool notify=true)
Definition: Card.cs:3262
bool isObjDyed
Definition: Cell.cs:618
Definition: Chara.cs:10
Definition: EClass.cs:5
static Chara pc
Definition: EClass.cs:14
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
Definition: Point.cs:9
bool HasObj
Definition: Point.cs:137
Cell cell
Definition: Point.cs:51
Definition: Thing.cs:8
override bool CanUse(Chara c, Card tg)
Definition: TraitDye.cs:5
override void OnBlend(Thing t, Chara c)
Definition: TraitDye.cs:35
override void OnThrowGround(Chara c, Point p)
Definition: TraitDye.cs:20
override bool IsBlendBase
Definition: TraitDye.cs:3
void Dye(Card tg)
Definition: TraitDye.cs:40
override bool CanBlend(Thing t)
Definition: TraitDye.cs:30
override bool OnUse(Chara c, Card tg)
Definition: TraitDye.cs:14
Definition: Trait.cs:7
Card owner
Definition: Trait.cs:26