修
This commit is contained in:
Binary file not shown.
@@ -5,6 +5,10 @@
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\storyteller\\incidentworker_customraid.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:storyteller\\incidentworker_customraid.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\storyteller\\raidwavedef.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:storyteller\\raidwavedef.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
@@ -14,21 +18,34 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 1,
|
||||
"SelectedChildIndex": 2,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "RaidWaveDef.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Storyteller\\RaidWaveDef.cs",
|
||||
"RelativeDocumentMoniker": "Storyteller\\RaidWaveDef.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Storyteller\\RaidWaveDef.cs*",
|
||||
"RelativeToolTip": "Storyteller\\RaidWaveDef.cs*",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAA9AAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-10-16T09:14:26.956Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "IncidentWorker_CustomRaid.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Storyteller\\IncidentWorker_CustomRaid.cs",
|
||||
"RelativeDocumentMoniker": "Storyteller\\IncidentWorker_CustomRaid.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Storyteller\\IncidentWorker_CustomRaid.cs",
|
||||
"RelativeToolTip": "Storyteller\\IncidentWorker_CustomRaid.cs",
|
||||
"ViewState": "AgIAAAYBAAAAAAAAAAAgwBYBAAAyAAAAAAAAAA==",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Storyteller\\IncidentWorker_CustomRaid.cs*",
|
||||
"RelativeToolTip": "Storyteller\\IncidentWorker_CustomRaid.cs*",
|
||||
"ViewState": "AgIAAHgBAAAAAAAAAAA1wJIBAAAfAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-10-16T07:14:58.682Z",
|
||||
"EditorCaption": ""
|
||||
|
||||
@@ -381,9 +381,35 @@ namespace ArachnaeSwarm
|
||||
Log.Message($"Raid arrival mode already set: {parms.raidArrivalMode.defName}");
|
||||
return;
|
||||
}
|
||||
// 对于自定义袭击,默认使用边缘进入
|
||||
parms.raidArrivalMode = PawnsArrivalModeDefOf.EdgeWalkIn;
|
||||
Log.Message($"Set raid arrival mode: {parms.raidArrivalMode.defName}");
|
||||
// 从自定义波次定义中获取进场方式
|
||||
RaidWaveDef waveDef = parms.GetCustomRaidWave();
|
||||
if (waveDef != null)
|
||||
{
|
||||
// 如果波次定义了多个可能的进场方式
|
||||
if (waveDef.possibleArrivalModes != null && waveDef.possibleArrivalModes.Count > 0)
|
||||
{
|
||||
PawnsArrivalModeDef selectedMode;
|
||||
selectedMode = waveDef.possibleArrivalModes.RandomElement();
|
||||
|
||||
parms.raidArrivalMode = selectedMode;
|
||||
Log.Message($"Set random raid arrival mode from waveDef: {parms.raidArrivalMode.defName}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
// 回退到派系特定的逻辑
|
||||
Faction faction = parms.faction;
|
||||
if (faction?.def?.defName == "ARA_Hostile_Hive")
|
||||
{
|
||||
// 阿拉克涅虫群默认使用空投
|
||||
parms.raidArrivalMode = PawnsArrivalModeDefOf.CenterDrop;
|
||||
Log.Message($"Set ARA_Hostile_Hive default raid arrival mode: {parms.raidArrivalMode.defName}");
|
||||
}
|
||||
else
|
||||
{
|
||||
// 默认使用边缘进入
|
||||
parms.raidArrivalMode = PawnsArrivalModeDefOf.EdgeWalkIn;
|
||||
Log.Message($"Set default raid arrival mode: {parms.raidArrivalMode.defName}");
|
||||
}
|
||||
}
|
||||
|
||||
// 可选:重写其他方法以提供更好的调试信息
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using RimWorld;
|
||||
using System.Collections.Generic;
|
||||
using Verse;
|
||||
|
||||
@@ -6,7 +7,8 @@ namespace ArachnaeSwarm
|
||||
public class RaidWaveDef : Def
|
||||
{
|
||||
public List<PawnComposition> pawnComposition;
|
||||
|
||||
public List<PawnsArrivalModeDef> possibleArrivalModes;
|
||||
|
||||
public override IEnumerable<string> ConfigErrors()
|
||||
{
|
||||
foreach (string error in base.ConfigErrors())
|
||||
|
||||
Reference in New Issue
Block a user