diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 47834fc..27c8dc8 100644 Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.dll and b/1.6/1.6/Assemblies/ArachnaeSwarm.dll differ diff --git a/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml b/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml index 97fe93d..a9dff1a 100644 --- a/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml +++ b/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml @@ -6,7 +6,7 @@ ARA_Ability_Morph 将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。 - UI/Commands/Attack + UI/Commands/EggSpew 600 Misc12 false @@ -52,7 +52,7 @@ 0 ARA_Creep - 250 + 1000 2800 1.0 1.0 @@ -62,6 +62,7 @@ Laboratory 0.8 + false diff --git a/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs b/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs index 88924e6..fad6363 100644 --- a/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs +++ b/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs @@ -142,31 +142,14 @@ namespace ArachnaeSwarm public override string GetInspectString() { List inspectStrings = new List(); - string baseString = base.GetInspectString(); - if (!baseString.NullOrEmpty()) - { - inspectStrings.Add(baseString); - } - + if (compMorphable?.StoredPawn != null) { Pawn pawn = compMorphable.StoredPawn; - SkillRecord intellectualSkill = pawn.skills?.GetSkill(SkillDefOf.Intellectual); - if (intellectualSkill != null) - { - inspectStrings.Add($"{SkillDefOf.Intellectual.LabelCap}: {intellectualSkill.Level} ({intellectualSkill.XpProgressPercent:P0})"); - } - - Need_Rest restNeed = pawn.needs?.rest; - if (restNeed != null) - { - inspectStrings.Add($"{restNeed.LabelCap}: {restNeed.CurLevelPercentage:P0}"); - } - + // 1. 活动状态 (置于首位) TimeAssignmentDef assignment = pawn.timetable?.CurrentAssignment ?? TimeAssignmentDefOf.Anything; bool isWorkingTime = !forceSleep && (assignment == TimeAssignmentDefOf.Work || assignment == TimeAssignmentDefOf.Anything); - string activity; if (isWorkingTime) { @@ -185,6 +168,27 @@ namespace ArachnaeSwarm activity = "Activity".Translate() + ": " + "Sleeping".Translate(); } inspectStrings.Add(activity); + + // 2. 智识技能 + SkillRecord intellectualSkill = pawn.skills?.GetSkill(SkillDefOf.Intellectual); + if (intellectualSkill != null) + { + inspectStrings.Add($"{SkillDefOf.Intellectual.LabelCap}: {intellectualSkill.Level} ({intellectualSkill.XpProgressPercent:P0})"); + } + + // 3. 休息需求 + Need_Rest restNeed = pawn.needs?.rest; + if (restNeed != null) + { + inspectStrings.Add($"{restNeed.LabelCap}: {virtualRest.ToStringPercent()}"); + } + } + + // 基础信息(如HP)最后添加 + string baseString = base.GetInspectString(); + if (!baseString.NullOrEmpty()) + { + inspectStrings.Add(baseString); } return string.Join("\n", inspectStrings);