Elin Decompiled Documentation EA 23.153 Nightly
Loading...
Searching...
No Matches
ActSwarm.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using System.Linq;
3
4public class ActSwarm : Ability
5{
6 public override int PerformDistance => 3;
7
8 public override bool CanPerform()
9 {
10 if (Act.CC == Act.TC || Act.TC == null || Act.CC.Dist(Act.TC) > PerformDistance)
11 {
12 return false;
13 }
14 return base.CanPerform();
15 }
16
17 public override bool Perform()
18 {
19 float num = 0f;
20 Card tC = Act.TC;
21 HashSet<int> hashSet = new HashSet<int>();
22 foreach (Card item in EClass._map.Cards.ToList())
23 {
25 {
26 break;
27 }
28 if (!item.IsAliveInCurrentZone || item == Act.CC || (item.isChara && item != tC && !item.Chara.IsHostile(Act.CC)) || (!item.isChara && !item.trait.CanBeAttacked) || item.Dist(Act.CC) > PerformDistance || !Act.CC.CanSeeLos(item))
29 {
30 continue;
31 }
32 Point pos = item.pos;
33 if (!hashSet.Contains(pos.index))
34 {
35 hashSet.Add(pos.index);
36 TweenUtil.Delay(num, delegate
37 {
38 pos.PlayEffect("ab_swarm");
39 pos.PlaySound("ab_swarm");
40 });
41 if (num < 1f)
42 {
43 num += 0.07f;
44 }
46 }
47 }
48 return true;
49 }
50}
override bool Perform()
Definition: ActMelee.cs:91
override int PerformDistance
Definition: ActSwarm.cs:6
override bool Perform()
Definition: ActSwarm.cs:17
override bool CanPerform()
Definition: ActSwarm.cs:8
Definition: ACT.cs:62
static Card TC
Definition: ACT.cs:79
static Chara CC
Definition: ACT.cs:77
Definition: Card.cs:11
int Dist(Card c)
Definition: Card.cs:7235
override bool IsAliveInCurrentZone
Definition: Chara.cs:557
bool CanSeeLos(Card c, int dist=-1)
Definition: Chara.cs:1102
Definition: EClass.cs:5
static Map _map
Definition: EClass.cs:18
IEnumerable< Card > Cards
Definition: Map.cs:135
Definition: Point.cs:9
int index
Definition: Point.cs:49
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
Definition: Point.cs:1233
Effect PlayEffect(string id)
Definition: Point.cs:1228