Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
AI_Cook.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2
3public class AI_Cook : AIAct
4{
5 public Card factory;
6
7 public override int LeftHand => 1001;
8
9 public override int RightHand => 1002;
10
11 public bool IsValidTarget(Card c)
12 {
13 if (factory != null)
14 {
15 return factory.trait.CanCook(c);
16 }
17 return false;
18 }
19
20 public override IEnumerable<Status> Run()
21 {
22 factory = EClass._map.Installed.traits.GetRandomThing<TraitCooker>();
24 {
25 yield return Cancel();
26 }
27 yield return DoGoto(factory);
29 {
30 yield return Cancel();
31 }
32 Card target = owner.DropHeld(factory.pos);
33 target.TryReserve(this);
35 {
36 canProgress = () => factory.ExistsOnMap && target.ExistsOnMap,
37 onProgress = delegate
38 {
41 },
42 onProgressComplete = delegate
43 {
44 }
45 }.SetDuration(25, 5);
46 owner.SetTempHand(-1, -1);
47 yield return Do(seq);
48 yield return Status.Running;
49 if (!owner.CanPick(target))
50 {
51 yield return Cancel();
52 }
53 owner.HoldCard(target);
54 }
55}
Definition: AIAct.cs:6
Status Do(AIAct _seq, Func< Status > _onChildFail=null)
Definition: AIAct.cs:416
virtual Status Cancel()
Definition: AIAct.cs:291
new Chara owner
Definition: AIAct.cs:14
Status
Definition: AIAct.cs:8
Status DoGoto(Point pos, int dist=0, bool ignoreConnection=false, Func< Status > _onChildFail=null)
Definition: AIAct.cs:432
override int RightHand
Definition: AI_Cook.cs:9
override IEnumerable< Status > Run()
Definition: AI_Cook.cs:20
override int LeftHand
Definition: AI_Cook.cs:7
Card factory
Definition: AI_Cook.cs:5
bool IsValidTarget(Card c)
Definition: AI_Cook.cs:11
Definition: Card.cs:11
bool TryReserve(AIAct act)
Definition: Card.cs:2361
bool ExistsOnMap
Definition: Card.cs:1961
Point pos
Definition: Card.cs:55
Trait trait
Definition: Card.cs:49
Card held
Definition: Chara.cs:67
bool CanPick(Card c)
Definition: Chara.cs:3882
void HoldCard(Card t, int num=-1)
Definition: Chara.cs:4084
void SetTempHand(int right=0, int left=0)
Definition: Chara.cs:6057
Card DropHeld(Point dropPos=null)
Definition: Chara.cs:4213
override void LookAt(Card c)
Definition: Chara.cs:3219
Definition: EClass.cs:5
static Map _map
Definition: EClass.cs:18
PropsInstalled Installed
Definition: Map.cs:123
TraitManager traits
Definition: Props.cs:18
virtual bool CanCook(Card c)
Definition: Trait.cs:768
void CookProgress()
Definition: Trait.cs:777