36 if (condition ==
null || !condition.
HasGene)
45 return Mathf.Clamp((
float)(condition.duration - remainingHours) / (
float)condition.
duration, 0f, 1f);
52 if (remainingHours > 0)
54 return remainingHours +
" h";
56 return "progress_finish".lang();
86 if (member.GetCondition<ConSuspend>() == null && member.host == null && !member.IsPC && member.IsAliveInCurrentZone && member.memberType == FactionMemberType.Default)
101 c.isRestrained =
false;
109 c.c_genes.inferior += 20;
115 }, (
Chara a) =>
"gene_note".lang(a.CurrentGeneSlot.ToString() ??
"", a.MaxGeneSlot.ToString() ??
"", a.feat.ToString() ??
"", a.GetTotalFeat() +
" "));
126 target.Say(
"gene_finish", target, condition.
gene);
129 condition.gene =
null;
132 target.MoveNeighborDefinitely();
133 target.PlaySound(
"ding_potential");
virtual void PlayEffect()
void Teleport(Point point, bool silent=false, bool force=false)
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Condition AddCondition(string id, int p=100, bool force=false)
void Kick(Point p, bool ignoreSelf=false)
int GetRemainingHours(int rawDeadLine)
static FactionBranch Branch
static LayerDragGrid Create(InvOwnerDraglet owner, bool refuelFromLayerDragGrid=false)
static LayerPeople CreateSelect(string langHeader, string langHint, Action< UIList > onList, Action< Chara > onClick, Func< Chara, string > _onShowSubText=null)
static string SayNothingHappen()
void RemoveMember(Chara c)
bool Equals(int _x, int _z)
override bool CanBeOnlyBuiltInHome
override bool CanUse(Chara c)
override bool OnUse(Chara c)