45 base.SetOwner(_owner);
46 owner.conSleep =
this;
56 if (traitPillow !=
null)
62 public override void Tick()
90 int num2 = ((num >= 3) ? 12 : ((num >= 2) ? 10 : ((num >= 1) ? 7 : 5)));
114 bool flag = chara.
GetBool(123);
152 owner.knowFav =
true;
185 if ((!chara.
HasElement(1216) && thing ==
null) || (tg.Evalue(418) == 0 && (
EClass.
rnd(3) != 0 || (tg.IsPC && thing ==
null &&
EClass.
rnd(200) != 0))))
190 if (chara.
Dist(tg.pos) > 2)
196 tg.Say(
"dreambug_teleport", chara, tg);
200 tg.Say(
"dreambug_destroy", chara, thing);
216 if (c.
ai is
AI_Fuck { IsRunning: not false } aI_Fuck && aI_Fuck.
target == tg)
220 if (!c.HasCondition<ConSleep>())
222 c.AddCondition<ConSleep>(100 + EClass.rnd(100), force: true);
230 owner.conSleep =
null;
231 owner.renderer.RefreshSprite();
232 owner.renderer.SetFirst(first:
true, owner.pos.PositionAuto());
235 owner.sleepiness.Set(0);
248 if (uidParasite != 0)
264 TryPick(pcBed, posBed);
265 TryPick(pcPillow, posPillow);
279 int c_charges =
item.c_charges;
280 for (
int i = 0; i < c_charges; i++)
288 for (
int j = 0; j < num; j++)
319 traitPillowGod.Deity.Talk(
"morning");
342 t =
card.AddThing(t, tryStack:
false, pos.
invX, pos.
invY);
static void Ride(Chara host, Chara t, bool parasite=false, bool talk=true)
static void Unride(Chara host, Chara mount, bool talk=true)
void Mod(int a, bool force=false)
void Teleport(Point point, bool silent=false, bool force=false)
bool HasElement(int ele, int req=1)
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
virtual void HealHP(int a, HealSource origin=HealSource.None)
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
void ModCharge(int a, bool destroy=false)
void MoveImmediate(Point p, bool focus=true, bool cancelAI=true)
void Say(string lang, string ref1=null, string ref2=null)
SourceCategory.Row GetFavCat()
Condition AddCondition(string id, int p=100, bool force=false)
bool HasCondition(string alias)
override bool IsPCFaction
SourceThing.Row GetFavFood()
override void SetDir(int d)
TimeTable.Span CurrentSpan
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
override void SetOwner(Chara _owner, bool onDeserialize=false)
static void SuccubusSleep(Chara tg)
override void OnBeforeStart()
override bool ConsumeTurn
override void OnRemoved()
static void SuccubusVisit(Chara tg)
static void SetDirty(Thing t)
Thing FindThing(Func< Thing, bool > func)
Chara FindChara(string id)
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Thing FindThing(Func< Thing, bool > func)
void OnSleep(bool ehe=false)
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)
override bool TryProgress(AIProgress p)
override void OnRead(Chara c)
override int GetActDuration(Chara c)