Elin Decompiled Documentation EA 23.331 Nightly
Loading...
Searching...
No Matches
AI_Bladder.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2
3public class AI_Bladder : AIAct
4{
6
7 public override IEnumerable<Status> Run()
8 {
9 if (toilet == null)
10 {
12 }
13 if (toilet == null)
14 {
15 yield return Cancel();
16 }
17 yield return DoGoto(toilet.owner);
18 if (EClass._zone.IsPCFactionOrTent && toilet != null && toilet.owner.Dist(owner) == 1 && toilet.owner.sourceCard._origin == "bathtub")
19 {
21 }
23 {
24 onProgressBegin = delegate
25 {
26 owner.SetTempHand(-1, -1);
27 owner.SetPCCState(PCCState.Naked);
28 owner.SetCensored(enable: true);
29 owner.PlaySound("water");
30 owner.Kick(owner.pos, ignoreSelf: true);
31 owner.pos.TalkWitnesses(owner, "disgust");
32 },
33 onProgress = delegate
34 {
36 },
37 onProgressComplete = delegate
38 {
39 if (toilet == null || !toilet.ExistsOnMap || !toilet.owner.pos.Equals(owner.pos))
40 {
41 owner.hygiene.Mod(-30);
43 }
44 else
45 {
46 owner.hygiene.Mod(10);
47 }
48 owner.ShowEmo(Emo.happy);
49 }
50 }.SetDuration(15, 5);
51 yield return Do(seq);
52 }
53
54 public override void OnReset()
55 {
56 owner.SetPCCState(PCCState.Normal);
57 owner.SetCensored(enable: false);
58 }
59}
AnimeID
Definition: AnimeID.cs:2
Emo
Definition: Emo.cs:2
Definition: AIAct.cs:6
Status Do(AIAct _seq, Func< Status > _onChildFail=null)
Definition: AIAct.cs:430
virtual Status Cancel()
Definition: AIAct.cs:305
new Chara owner
Definition: AIAct.cs:14
Status DoGoto(Point pos, int dist=0, bool ignoreConnection=false, Func< Status > _onChildFail=null)
Definition: AIAct.cs:446
override IEnumerable< Status > Run()
Definition: AI_Bladder.cs:7
override void OnReset()
Definition: AI_Bladder.cs:54
TraitBath toilet
Definition: AI_Bladder.cs:5
void PlayAnime(AnimeID id, bool force)
string _origin
Definition: CardRow.cs:15
void SetCensored(bool enable)
Definition: Card.cs:8221
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6613
void Kick(Point p, bool ignoreSelf=false, bool checkWall=true)
Definition: Card.cs:6283
Point pos
Definition: Card.cs:60
void ShowEmo(Emo _emo=Emo.none, float duration=0f, bool skipSame=true)
Definition: Card.cs:6581
int Dist(Card c)
Definition: Card.cs:8172
virtual CardRow sourceCard
Definition: Card.cs:2183
CardRenderer renderer
Definition: Card.cs:64
Stats hygiene
Definition: Chara.cs:1211
override MoveResult _Move(Point newPoint, MoveType type=MoveType.Walk)
Definition: Chara.cs:2920
void SetTempHand(int right=0, int left=0)
Definition: Chara.cs:7050
void SetPCCState(PCCState state)
Definition: Chara.cs:7008
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:21
static Map _map
Definition: EClass.cs:19
PropsInstalled Installed
Definition: Map.cs:123
void SetLiquid(int x, int z, CellEffect effect=null)
Definition: Map.cs:1523
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
bool Equals(int _x, int _z)
Definition: Point.cs:966
void TalkWitnesses(Chara criminal, string idTalk, int radius=4, WitnessType type=WitnessType.everyone, Func< Chara, bool > talkIf=null, int chance=3)
Definition: Point.cs:820
TraitManager traits
Definition: Props.cs:18
virtual void Mod(int a)
Definition: Stats.cs:135
TraitSet GetTraitSet(Type t)
Definition: TraitManager.cs:94
bool ExistsOnMap
Definition: Trait.cs:367
Card owner
Definition: Trait.cs:28
bool IsPCFactionOrTent
Definition: Zone.cs:480