9 public override int LeftHand
19 public override int RightHand
28 public bool IsValidTarget(
Card c)
30 return this.factory !=
null && this.factory.trait.CanCook(c);
34 public override IEnumerable<
AIAct.Status> Run()
37 if (!this.IsValidTarget(this.owner.held))
39 yield
return this.Cancel();
41 yield
return base.DoGoto(this.factory,
null);
42 if (!this.IsValidTarget(this.owner.held))
44 yield
return this.Cancel();
46 Card target = this.owner.DropHeld(this.factory.pos);
47 target.TryReserve(
this);
49 progress_Custom.canProgress = (() => this.factory.ExistsOnMap && target.ExistsOnMap);
52 this.owner.LookAt(this.factory);
53 this.factory.trait.CookProgress();
55 progress_Custom.onProgressComplete = delegate()
59 this.owner.SetTempHand(-1, -1);
60 yield
return base.Do(seq,
null);
61 yield
return AIAct.Status.Running;
62 if (!this.owner.CanPick(target))
64 yield
return this.Cancel();
66 this.owner.HoldCard(target, -1);