Elin Decompiled Documentation EA 23.285 Nightly
Loading...
Searching...
No Matches
ActMoneySlap.cs
Go to the documentation of this file.
1using UnityEngine;
2
3public class ActMoneySlap : Ability
4{
5 public override bool CanPressRepeat => true;
6
7 public override bool CanPerform()
8 {
9 if (Act.TC != null)
10 {
11 return Act.CC.GetCurrency() > 0;
12 }
13 return false;
14 }
15
16 public override bool Perform()
17 {
18 bool num = this is ActMoneyThrow;
19 int num2 = Mathf.Clamp(Act.CC.GetCurrency() / 100, 1, 20000000);
20 Thing thing = ThingGen.Create("money").SetNum(num2);
21 long dmg = (long)Mathf.Sqrt(num2) * GetPower(Act.CC) / 100;
22 Act.CC.ModCurrency(-num2);
23 if (!num)
24 {
25 Act.CC.PlaySound("whip");
26 }
27 Act.CC.PlaySound("money_dump");
29 if (num)
30 {
31 Act.CC.Say("throw", Act.CC, thing.GetName(NameStyle.Full));
32 Chara chara = Act.CC.host ?? Act.CC;
33 Effect.Get<EffectIRenderer>("throw").Play(chara, thing, chara.pos, Act.TP, 0.2f);
34 thing.renderer.SetFirst(first: false, chara.renderer.position);
35 }
36 else
37 {
39 Act.CC.Say("use_whip", Act.CC, Act.TC, thing.Name);
40 }
41 Act.TC.PlayAnime(AnimeID.Shiver);
42 Act.TC.DamageHP(dmg, 926, 100, AttackSource.Throw, Act.CC);
43 Act.TC.PlayEffect("hit_blunt").SetScale(1f);
44 Act.CC.PlaySound("hit_blunt");
46 {
49 }
50 return true;
51 }
52
53 public static void MoneyEffect(Chara owner, Chara c, int power, int chance = 5)
54 {
55 if (c != owner && EClass.rnd(chance) == 0)
56 {
57 if (EClass.rnd(2) == 0)
58 {
59 c.AddCondition<ConConfuse>(power);
60 }
61 if (EClass.rnd(2) == 0)
62 {
63 c.AddCondition<ConDim>(power);
64 }
65 if (EClass.rnd(4) == 0)
66 {
67 c.AddCondition<ConFear>(power);
68 }
69 if (EClass.rnd(1) == 0)
70 {
71 c.AddCondition<ConEuphoric>(power);
72 }
73 }
74 }
75}
AnimeID
Definition: AnimeID.cs:2
AttackSource
Definition: AttackSource.cs:2
NameStyle
Definition: NameStyle.cs:2
override int GetPower(Card c)
Definition: ABILITY.cs:338
static void MoneyEffect(Chara owner, Chara c, int power, int chance=5)
Definition: ActMoneySlap.cs:53
override bool CanPerform()
Definition: ActMoneySlap.cs:7
override bool CanPressRepeat
Definition: ActMoneySlap.cs:5
override bool Perform()
Definition: ActMoneySlap.cs:16
Definition: ACT.cs:62
static Card TC
Definition: ACT.cs:79
static Point TP
Definition: ACT.cs:81
static Chara CC
Definition: ACT.cs:77
void PlayAnime(AnimeID id, bool force)
Vector3 position
Definition: CardRenderer.cs:21
virtual void SetFirst(bool first, Vector3 pos)
virtual Chara Chara
Definition: Card.cs:2108
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6375
string Name
Definition: Card.cs:2177
bool ExistsOnMap
Definition: Card.cs:2123
Thing SetNum(int a)
Definition: Card.cs:3577
int GetCurrency(string id="money")
Definition: Card.cs:4057
Point pos
Definition: Card.cs:60
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6409
void ModCurrency(int a, string id="money")
Definition: Card.cs:4043
void DamageHP(long dmg, AttackSource attackSource=AttackSource.None, Card origin=null)
Definition: Card.cs:4149
virtual bool isChara
Definition: Card.cs:2121
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:6394
CardRenderer renderer
Definition: Card.cs:62
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7052
Definition: Chara.cs:10
void OnInsulted()
Definition: Chara.cs:8357
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9442
override void LookAt(Card c)
Definition: Chara.cs:3592
Definition: ConDim.cs:2
Definition: EClass.cs:6
static int rnd(long a)
Definition: EClass.cs:59
Definition: Effect.cs:7
static Effect Get(Effect original)
Definition: Effect.cs:85
Effect SetScale(float a)
Definition: Effect.cs:326
ElementContainer owner
Definition: ELEMENT.cs:271
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
override string GetName(NameStyle style, int _num=-1)
Definition: Thing.cs:535