Elin Decompiled Documentation EA 23.130 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 if (owner == EClass.pc)
36 {
38 }
39 Success();
40 }
41 }
42
43 public override IEnumerable<Status> Run()
44 {
45 if (target != null && (target.GetRootCard() == owner || target.parent == null))
46 {
48 }
49 else if (target != null)
50 {
51 yield return DoGrab(target, 1);
52 }
53 else
54 {
55 yield return DoGrab<TraitDrink>();
56 }
58 if (target == null)
59 {
60 yield return Cancel();
61 }
62 yield return Success(delegate
63 {
65 });
66 }
67}
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:43
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:3217
Card held
Definition: Chara.cs:70
void HoldCard(Card t, int num=-1)
Definition: Chara.cs:4104
void Drink(Card t)
Definition: Chara.cs:4632
Definition: EClass.cs:5
static Player player
Definition: EClass.cs:12
static Chara pc
Definition: EClass.cs:14
void EndTurn(bool consume=true)
Definition: Player.cs:1882