Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
AI_Drink.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2
3public class AI_Drink : AIAct
4{
5 public Card target;
6
7 public override bool LocalAct => false;
8
9 public override bool IsHostileAct
10 {
11 get
12 {
13 if (target != null)
14 {
15 return target.isNPCProperty;
16 }
17 return false;
18 }
19 }
20
21 public bool IsValidTarget(Card c)
22 {
23 if (c != null)
24 {
25 return c.trait is TraitDrink;
26 }
27 return false;
28 }
29
30 public override void OnSetOwner()
31 {
32 if (target != null && (target.GetRootCard() == owner || target.parent == null))
33 {
35 Success();
36 }
37 }
38
39 public override IEnumerable<Status> Run()
40 {
41 if (target != null && (target.GetRootCard() == owner || target.parent == null))
42 {
44 }
45 else if (target != null)
46 {
47 yield return DoGrab(target, 1);
48 }
49 else
50 {
51 yield return DoGrab<TraitDrink>();
52 }
54 if (target == null)
55 {
56 yield return Cancel();
57 }
58 yield return Success(delegate
59 {
61 });
62 }
63}
Definition: AIAct.cs:6
Status DoGrab(Card card, int num=-1, bool pickHeld=false, Func< Status > _onChildFail=null)
Definition: AIAct.cs:492
virtual Status Cancel()
Definition: AIAct.cs:291
new Chara owner
Definition: AIAct.cs:14
override bool LocalAct
Definition: AI_Drink.cs:7
Card target
Definition: AI_Drink.cs:5
override IEnumerable< Status > Run()
Definition: AI_Drink.cs:39
override bool IsHostileAct
Definition: AI_Drink.cs:10
override void OnSetOwner()
Definition: AI_Drink.cs:30
bool IsValidTarget(Card c)
Definition: AI_Drink.cs:21
Definition: Card.cs:11
bool isNPCProperty
Definition: Card.cs:526
ICardParent parent
Definition: Card.cs:51
Card GetRootCard()
Definition: Card.cs:3173
Card held
Definition: Chara.cs:67
void HoldCard(Card t, int num=-1)
Definition: Chara.cs:4084
void Drink(Card t)
Definition: Chara.cs:4612