Elin Decompiled Documentation EA 23.285 Nightly
Loading...
Searching...
No Matches
ActMoneyDump.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using UnityEngine;
3
4public class ActMoneyDump : Ability
5{
6 public override bool CanPressRepeat => true;
7
8 public override bool CanPerform()
9 {
10 return Act.CC.GetCurrency() >= 100;
11 }
12
13 public override bool Perform()
14 {
15 List<Point> points = new List<Point>();
16 Act.TP.ForeachNeighbor(delegate(Point _p)
17 {
18 if (!_p.Equals(Act.TP) && EClass.rnd(3) != 0 && !_p.IsBlocked)
19 {
20 points.Add(_p.Copy());
21 }
22 });
23 Act.CC.Talk("insane");
24 Act.CC.PlaySound("money_dump");
25 foreach (Point item in points)
26 {
27 int num = EClass.rndHalf(Mathf.Clamp(Act.CC.GetCurrency() / 50, 1, 20000000)) + EClass.rndHalf(10);
28 if (Act.CC.GetCurrency() >= num)
29 {
30 Thing t = ThingGen.Create("money").SetNum(num);
31 Act.CC.ModCurrency(-num * 3 / 2);
32 ActThrow.Throw(Act.CC, item, null, t, ThrowMethod.Reward);
33 }
34 }
35 Act.TP.TalkWitnesses(Act.CC, new string[4] { "rumor_good", "callGuards", "disgust", "wow" }.RandomItem(), 4, WitnessType.everyone, (Chara c) => true);
36 foreach (Chara item2 in Act.TP.ListWitnesses(Act.CC, 4, WitnessType.everyone))
37 {
39 }
40 return true;
41 }
42}
ThrowMethod
Definition: ThrowMethod.cs:2
WitnessType
Definition: WitnessType.cs:2
override int GetPower(Card c)
Definition: ABILITY.cs:338
override bool Perform()
Definition: ActMoneyDump.cs:13
override bool CanPerform()
Definition: ActMoneyDump.cs:8
override bool CanPressRepeat
Definition: ActMoneyDump.cs:6
static void MoneyEffect(Chara owner, Chara c, int power, int chance=5)
Definition: ActMoneySlap.cs:53
static EffectIRenderer Throw(Card c, Point p, Thing t, ThrowMethod method=ThrowMethod.Default, float failChance=0f)
Definition: ActThrow.cs:97
Definition: ACT.cs:62
static Point TP
Definition: ACT.cs:81
static Chara CC
Definition: ACT.cs:77
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6375
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6935
Thing SetNum(int a)
Definition: Card.cs:3577
int GetCurrency(string id="money")
Definition: Card.cs:4057
void ModCurrency(int a, string id="money")
Definition: Card.cs:4043
Definition: Chara.cs:10
Definition: EClass.cs:6
static int rnd(long a)
Definition: EClass.cs:59
static int rndHalf(int a)
Definition: EClass.cs:97
Definition: Point.cs:9
List< Chara > ListWitnesses(Chara criminal, int radius=4, WitnessType type=WitnessType.crime, Chara target=null)
Definition: Point.cs:830
void ForeachNeighbor(Action< Point > action, bool diagonal=true)
Definition: Point.cs:1397
bool IsBlocked
Definition: Point.cs:363
bool Equals(int _x, int _z)
Definition: Point.cs:960
void TalkWitnesses(Chara criminal, string idTalk, int radius=4, WitnessType type=WitnessType.everyone, Func< Chara, bool > talkIf=null, int chance=3)
Definition: Point.cs:815
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8