Elin Decompiled Documentation EA 23.286 Nightly Patch 1
Loading...
Searching...
No Matches
TraitScrollStatic.cs
Go to the documentation of this file.
1using UnityEngine;
2
4{
5 public override SourceElement.Row source
6 {
7 get
8 {
9 if (owner.sourceCard.vals.Length == 0)
10 {
11 return null;
12 }
13 return EClass.sources.elements.alias.TryGetValue(owner.sourceCard.vals[0]);
14 }
15 }
16
17 public virtual EffectId idEffect => owner.sourceCard.vals[1].ToEnum<EffectId>();
18
19 public virtual int Power
20 {
21 get
22 {
23 if (owner.sourceCard.vals.Length <= 2)
24 {
25 return 100;
26 }
27 return int.Parse(owner.sourceCard.vals[2]);
28 }
29 }
30
31 public virtual string AliasEle => owner.sourceCard.vals.TryGet(3, returnNull: true);
32
33 public virtual string N1 => owner.sourceCard.vals.TryGet(4);
34
35 public override Sprite GetRefSprite()
36 {
37 if (idEffect == EffectId.Ally)
38 {
39 return EClass.sources.elements.alias["ActSummonSpecial"].GetSprite();
40 }
41 return base.GetRefSprite();
42 }
43
44 public override bool CanRead(Chara c)
45 {
46 return !c.isBlind;
47 }
48
49 public override void OnRead(Chara c)
50 {
51 if ((c.isConfused || c.HasCondition<ConDim>()) && EClass.rnd(4) == 0)
52 {
53 c.Say("stagger", c);
54 if (EClass.rnd(2) == 0)
55 {
57 }
58 return;
59 }
60 if (c.IsPC && (idEffect == EffectId.Identify || idEffect == EffectId.GreaterIdentify))
61 {
62 foreach (Thing item in EClass.pc.things.List((Thing t) => t.id == owner.id, onlyAccessible: true))
63 {
64 item.Identify(show: false);
65 }
66 }
67 owner.ModNum(-1);
68 c.PlayEffect("cast");
69 ActEffect.ProcAt(idEffect, Power, owner.blessedState, c, null, c.pos, isNeg: false, new ActRef
70 {
71 aliasEle = AliasEle,
72 n1 = N1,
73 refThing = owner.Thing
74 });
75 c.elements.ModExp(285, 50f);
76 }
77}
EffectId
Definition: EffectId.cs:2
static void ProcAt(EffectId id, int power, BlessedState state, Card cc, Card tc, Point tp, bool isNeg, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:492
string[] vals
Definition: CardRow.cs:37
ElementContainerCard elements
Definition: Card.cs:42
string id
Definition: Card.cs:36
Point pos
Definition: Card.cs:60
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6409
ThingContainer things
Definition: Card.cs:39
BlessedState blessedState
Definition: Card.cs:279
virtual CardRow sourceCard
Definition: Card.cs:2169
void ModNum(int a, bool notify=true)
Definition: Card.cs:3597
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7052
Definition: Chara.cs:10
override bool IsPC
Definition: Chara.cs:626
bool HasCondition(string alias)
Definition: Chara.cs:9612
bool isBlind
Definition: Chara.cs:132
bool isConfused
Definition: Chara.cs:128
Definition: ConDim.cs:2
Definition: EClass.cs:6
static int rnd(long a)
Definition: EClass.cs:59
static SourceManager sources
Definition: EClass.cs:43
static Chara pc
Definition: EClass.cs:15
void ModExp(int ele, float a, bool chain=false)
SourceElement elements
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)
Definition: Thing.cs:8
static void ReadFailEffect(Chara c)
override Sprite GetRefSprite()
virtual EffectId idEffect
virtual string N1
override void OnRead(Chara c)
override SourceElement.Row source
override bool CanRead(Chara c)
virtual string AliasEle
Card owner
Definition: Trait.cs:28
Definition: ActRef.cs:2