diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll index 86145388..321b2a61 100644 Binary files a/1.6/1.6/Assemblies/WulaFallenEmpire.dll and b/1.6/1.6/Assemblies/WulaFallenEmpire.dll differ diff --git a/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Shuttle_Building.xml b/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Shuttle_Building.xml index fb7fb932..eb92e0d2 100644 --- a/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Shuttle_Building.xml +++ b/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Shuttle_Building.xml @@ -344,6 +344,20 @@ -2000 true + + +
  • +
  • + 2000 + true + true + false + Shuttle_PawnLoaded + Shuttle_PawnExit +
  • +
  • + ShuttleIdle_Ambience +
  • diff --git a/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Turret_Buildings.xml b/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Turret_Buildings.xml index 5776549f..9af2e59b 100644 --- a/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Turret_Buildings.xml +++ b/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Turret_Buildings.xml @@ -427,8 +427,6 @@ BuildingDestroyed_Metal_Small 3.5 - false - true WULA_Cat_Bunker_TurretGun false diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/Misc_Gameplay.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/Misc_Gameplay.xml index 585bd433..d8040567 100644 --- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/Misc_Gameplay.xml +++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/Misc_Gameplay.xml @@ -322,7 +322,7 @@ 区域伤害:已启用 区域伤害:已禁用 - 更换武器 + 重置武器 扔掉当前武器,并装备该单位的初始武器 {0} 更换了武器为 {1} {0} 没有可用的武器类型 diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml index ea2deecf..a87ce8c4 100644 --- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml +++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml @@ -265,4 +265,13 @@ 命令该单位所有的炮塔攻击指定目标。如果目标不处于某个炮塔的攻击范围或者无法攻击到目标,则其依然会自行索敌。 清除目标 清除指定的集中攻击目标,各炮塔将自行索敌。 + + 更换装备 + 更换乌拉猫猫的装备,使其可以承担不同的工作。\n\n更换装备的预制件装载在乌拉猫猫地堡中,下达更换指令后,乌拉猫猫会去寻找最近的地堡进行装备更换。 + 没有可以抵达的乌拉猫猫地堡 + 没有可用位置 + 猫猫集合! + 使地堡发出号召,让地图上所有的乌拉猫猫自动进入征召状态并聚集到该地堡附近。 + 集合能力冷却中 + 地堡被停用,无法进行集结征召 diff --git a/Content/Textures/Wula/UI/Commands/Wula_GatherCats.png b/Content/Textures/Wula/UI/Commands/Wula_GatherCats.png new file mode 100644 index 00000000..6af5b132 Binary files /dev/null and b/Content/Textures/Wula/UI/Commands/Wula_GatherCats.png differ diff --git a/Source/WulaFallenEmpire/BuildingComp/WULA_BuildToPawn/CompBuildToPawn.cs b/Source/WulaFallenEmpire/BuildingComp/WULA_BuildToPawn/CompBuildToPawn.cs index 008e8fa1..19f78ca2 100644 --- a/Source/WulaFallenEmpire/BuildingComp/WULA_BuildToPawn/CompBuildToPawn.cs +++ b/Source/WulaFallenEmpire/BuildingComp/WULA_BuildToPawn/CompBuildToPawn.cs @@ -42,7 +42,7 @@ namespace WulaFallenEmpire GenSpawn.Spawn(pawn, parent.Position, parent.Map, WipeMode.Vanish); - if (Props.initDrafted && pawn.drafter!=null) + if (Props.initDrafted && pawn.Faction.IsPlayer && pawn.drafter!=null) pawn.drafter.Drafted = true; } diff --git a/Source/WulaFallenEmpire/BuildingComp/WULA_Gather/CompGather.cs b/Source/WulaFallenEmpire/BuildingComp/WULA_Gather/CompGather.cs index 1355c57d..e82d8c12 100644 --- a/Source/WulaFallenEmpire/BuildingComp/WULA_Gather/CompGather.cs +++ b/Source/WulaFallenEmpire/BuildingComp/WULA_Gather/CompGather.cs @@ -135,21 +135,6 @@ namespace WulaFallenEmpire // 生成新的Pawn GenSpawn.Spawn(newPawn, position, map); - - // 为新Pawn添加AutonomousCat组件(如果还没有) - EnsureAutonomousCatComponent(newPawn); - - // 显示消息 - Messages.Message( - "Wula_TransformComplete".Translate(originalPawn.LabelShort, newPawn.LabelShort), - MessageTypeDefOf.PositiveEvent - ); - - // 记录日志 - if (Prefs.DevMode) - { - Log.Message($"[CompGather] Transformation complete: {originalPawn.LabelShort} -> {newPawn.LabelShort}"); - } } catch (Exception ex) { @@ -157,34 +142,6 @@ namespace WulaFallenEmpire } } - // 确保新Pawn有AutonomousCat组件 - private void EnsureAutonomousCatComponent(Pawn newPawn) - { - // 检查是否已经有AutonomousCat组件 - if (newPawn.TryGetComp() != null) - return; - - // 检查Pawn的定义中是否有AutonomousCat组件 - var compProps = newPawn.def.comps?.Find(c => c.compClass == typeof(Comp_AutonomousCat)) as CompProperties_AutonomousCat; - if (compProps == null) - { - // 如果没有,添加一个默认的AutonomousCat组件 - newPawn.AllComps.Add(new Comp_AutonomousCat() - { - parent = newPawn, - props = new CompProperties_AutonomousCat() - { - autoDraftOnGather = true - } - }); - - if (Prefs.DevMode) - { - Log.Message($"[CompGather] Added AutonomousCat component to {newPawn.LabelShort}"); - } - } - } - // Gizmo显示 public override IEnumerable CompGetGizmosExtra() { @@ -210,7 +167,7 @@ namespace WulaFallenEmpire cachedGizmo = new Command_Action(); cachedGizmo.defaultLabel = "Wula_GatherCats".Translate(); cachedGizmo.defaultDesc = "Wula_GatherCatsDesc".Translate(); - cachedGizmo.icon = ContentFinder.Get("UI/Gizmos/GatherCats", false) ?? BaseContent.BadTex; + cachedGizmo.icon = ContentFinder.Get("Wula/UI/Commands/Wula_GatherCats", false) ?? BaseContent.BadTex; cachedGizmo.action = StartGathering; // 添加冷却时间显示 @@ -255,10 +212,7 @@ namespace WulaFallenEmpire // 查找并命令范围内的 Autonomous Cats GatherAutonomousCats(); - - // 显示消息 - Messages.Message("Wula_GatheringStarted".Translate(), MessageTypeDefOf.PositiveEvent); - + // 刷新Gizmo状态 cachedGizmo.disabledReason = GetDisabledReason(); } @@ -295,15 +249,6 @@ namespace WulaFallenEmpire { CommandCatToGather(cat); } - - // 报告召集数量 - if (autonomousCats.Count > 0) - { - Messages.Message( - "Wula_CatsGathered".Translate(autonomousCats.Count), - MessageTypeDefOf.NeutralEvent - ); - } } // 命令单个 Autonomous Cat @@ -340,12 +285,6 @@ namespace WulaFallenEmpire cat.jobs.StartJob(job, JobCondition.InterruptForced); } - - // 记录日志 - if (Prefs.DevMode) - { - Log.Message($"[CompGather] Cat {cat.LabelShort} commanded to gather at {parent.Position}"); - } } catch (Exception ex) { diff --git a/Source/WulaFallenEmpire/Pawn_Comps/AutonomousCat/CompAutonomousCat.cs b/Source/WulaFallenEmpire/Pawn_Comps/AutonomousCat/CompAutonomousCat.cs index cf35d3ef..c91e35c2 100644 --- a/Source/WulaFallenEmpire/Pawn_Comps/AutonomousCat/CompAutonomousCat.cs +++ b/Source/WulaFallenEmpire/Pawn_Comps/AutonomousCat/CompAutonomousCat.cs @@ -83,12 +83,6 @@ namespace WulaFallenEmpire { CreateGatherJob(pawn, target); } - - // 记录日志 - if (Prefs.DevMode) - { - Log.Message($"[CompAutonomousCat] {pawn.LabelShort} responding to gather call from {target?.LabelShort ?? "unknown"}"); - } } catch (Exception ex) { @@ -152,18 +146,6 @@ namespace WulaFallenEmpire // 清除当前任务并开始新任务 pawn.jobs.StopAll(); pawn.jobs.StartJob(job, JobCondition.InterruptForced); - - // 显示消息 - Messages.Message( - "Wula_TransformStarted".Translate(pawn.LabelShort, targetPawnKind.label), - MessageTypeDefOf.NeutralEvent - ); - - // 记录日志 - if (Prefs.DevMode) - { - Log.Message($"[CompAutonomousCat] {pawn.LabelShort} starting transformation to {targetPawnKind.label}"); - } } catch (Exception ex) { @@ -314,12 +296,6 @@ namespace WulaFallenEmpire if (cachedTransformGizmo != null) { - // 如果已有待处理的转化,显示不同图标或状态 - if (pendingTransformTarget != null) - { - cachedTransformGizmo.disabledReason = "Wula_TransformPending".Translate(pendingTransformTarget.label); - } - yield return cachedTransformGizmo; } } @@ -333,7 +309,7 @@ namespace WulaFallenEmpire cachedTransformGizmo = new Command_Action(); cachedTransformGizmo.defaultLabel = "Wula_Transform".Translate(); cachedTransformGizmo.defaultDesc = "Wula_TransformDesc".Translate(); - cachedTransformGizmo.icon = ContentFinder.Get("UI/Gizmos/Transform", false) ?? BaseContent.BadTex; + cachedTransformGizmo.icon = ContentFinder.Get("Wula/UI/Commands/WULA_ConvertMechanoids", false) ?? BaseContent.BadTex; cachedTransformGizmo.action = () => ShowTransformMenu(); // 设置热键 @@ -359,13 +335,6 @@ namespace WulaFallenEmpire )); } - // 添加取消选项 - options.Add(new FloatMenuOption( - "Cancel".Translate(), - null, - MenuOptionPriority.Default - )); - Find.WindowStack.Add(new FloatMenu(options)); } diff --git a/Source/WulaFallenEmpire/Pawn_Comps/AutonomousCat/JobDriver_TransformPawn.cs b/Source/WulaFallenEmpire/Pawn_Comps/AutonomousCat/JobDriver_TransformPawn.cs index 6da93fe0..53ecf59f 100644 --- a/Source/WulaFallenEmpire/Pawn_Comps/AutonomousCat/JobDriver_TransformPawn.cs +++ b/Source/WulaFallenEmpire/Pawn_Comps/AutonomousCat/JobDriver_TransformPawn.cs @@ -16,10 +16,10 @@ namespace WulaFallenEmpire public override bool TryMakePreToilReservations(bool errorOnFailed) { // 预留目标建筑 - if (!pawn.Reserve(job.targetA, job, 1, -1, null, errorOnFailed)) - { - return false; - } + //if (!pawn.Reserve(job.targetA, job, 1, -1, null, errorOnFailed)) + //{ + // return false; + //} return true; } @@ -51,7 +51,6 @@ namespace WulaFallenEmpire // 确保可以转化 if (!gatherComp.CanTransformPawn(pawn)) { - Messages.Message("Wula_CannotTransformHere".Translate(), MessageTypeDefOf.RejectInput); ReadyForNextToil(); return; } @@ -113,7 +112,6 @@ namespace WulaFallenEmpire var targetPawnKind = PawnComp?.PendingTransformTarget; if (targetPawnKind == null) { - Messages.Message("Wula_NoTransformTarget".Translate(), MessageTypeDefOf.RejectInput); return; } diff --git a/美术与文本源文件/Wula/UI/Abilities/Wula_GatherCats.sai2 b/美术与文本源文件/Wula/UI/Abilities/Wula_GatherCats.sai2 new file mode 100644 index 00000000..ac296769 Binary files /dev/null and b/美术与文本源文件/Wula/UI/Abilities/Wula_GatherCats.sai2 differ