diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll
index dac2bf68..988b8b2d 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/AbilityDefs/WULA_Flyover_Ability.xml b/1.6/1.6/Defs/AbilityDefs/WULA_Flyover_Ability.xml
index 523b0c9c..6e619904 100644
--- a/1.6/1.6/Defs/AbilityDefs/WULA_Flyover_Ability.xml
+++ b/1.6/1.6/Defs/AbilityDefs/WULA_Flyover_Ability.xml
@@ -46,6 +46,9 @@
+
+ Wula_PIA_Legion_Faction
+
@@ -94,6 +97,9 @@
+
+ Wula_PIA_Legion_Faction
+
@@ -142,6 +148,9 @@
+
+ Wula_PIA_Legion_Faction
+
@@ -170,6 +179,9 @@
+
+ Wula_PIA_Legion_Faction
+
@@ -218,6 +230,9 @@
true
(0.3,0.7,1.0,0.3)
+
+ Wula_PIA_Legion_Faction
+
@@ -269,6 +284,9 @@
true
(0.3,0.7,1.0,0.3)
+
+ Wula_PIA_Legion_Faction
+
@@ -326,6 +344,9 @@
false
+
+ Wula_PIA_Legion_Faction
+
@@ -381,6 +402,9 @@
HarborFacility
需要拥有<color=#BD952F><i>机库</i></color>设施的战舰在地图上才能发起空袭
+
+ Wula_PIA_Legion_Faction
+
@@ -447,6 +471,9 @@
HarborFacility
需要拥有<color=#BD952F><i>机库</i></color>设施的战舰在地图上才能发起空袭
+
+ Wula_PIA_Legion_Faction
+
@@ -513,6 +540,9 @@
HarborFacility
需要拥有<color=#BD952F><i>机库</i></color>设施的战舰在地图上才能发起空袭
+
+ Wula_PIA_Legion_Faction
+
@@ -579,6 +609,9 @@
HarborFacility
需要拥有<color=#BD952F><i>机库</i></color>设施的战舰在地图上才能发起空袭
+
+ Wula_PIA_Legion_Faction
+
@@ -645,6 +678,9 @@
HarborFacility
需要拥有<color=#BD952F><i>机库</i></color>设施的战舰在地图上才能发起空袭
+
+ Wula_PIA_Legion_Faction
+
@@ -711,6 +747,9 @@
HarborFacility
需要拥有<color=#BD952F><i>机库</i></color>设施的战舰在地图上才能发起空袭
+
+ Wula_PIA_Legion_Faction
+
@@ -762,6 +801,9 @@
WULA_Firepower_Minigun_Technology
+
+ Wula_PIA_Legion_Faction
+
@@ -812,6 +854,9 @@
WULA_Firepower_Cannon_Technology
+
+ Wula_PIA_Legion_Faction
+
@@ -853,6 +898,9 @@
WULA_Firepower_Cannon_Technology
+
+ Wula_PIA_Legion_Faction
+
@@ -895,6 +943,9 @@
WULA_Firepower_EnergyLance_Technology
+
+ Wula_PIA_Legion_Faction
+
@@ -936,6 +987,9 @@
WULA_Firepower_EnergyLance_Technology
+
+ Wula_PIA_Legion_Faction
+
@@ -985,6 +1039,9 @@
WULA_Firepower_Primary_Cannon_Technology
+
+ Wula_PIA_Legion_Faction
+
@@ -1026,6 +1083,9 @@
WULA_Firepower_Primary_Cannon_Technology
+
+ Wula_PIA_Legion_Faction
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/FactionDefs/Factions_Player_WULA.xml b/1.6/1.6/Defs/FactionDefs/Factions_Player_WULA.xml
index ad634754..9009a3bd 100644
--- a/1.6/1.6/Defs/FactionDefs/Factions_Player_WULA.xml
+++ b/1.6/1.6/Defs/FactionDefs/Factions_Player_WULA.xml
@@ -135,18 +135,6 @@
Children
-
- WULA_Awakened_Synth
- OutlanderCivil
- TribeCivil
- PlayerTribe
- PlayerColony
- Ancients
- Beggars
- ResearchExpedition
- GravshipCrew
- TradersGuild
-
Wula_Backstory_Categories
diff --git a/1.6/1.6/Defs/PrefabDefs/WULA_ShuttlePrefab.xml b/1.6/1.6/Defs/PrefabDefs/WULA_ShuttlePrefab.xml
index 3454bbef..f809f676 100644
--- a/1.6/1.6/Defs/PrefabDefs/WULA_ShuttlePrefab.xml
+++ b/1.6/1.6/Defs/PrefabDefs/WULA_ShuttlePrefab.xml
@@ -1,144 +1,43 @@
- WULA_Shuttle_Prefab
- (13,13)
+ WULA_ArmedShuttleWithPocket_SP_Prefab
+ (9,13)
-
- (10, 0, 2)
- Clockwise
- Steel
- Normal
-
-
- (6, 0, 2)
- Opposite
- Cloth
- Normal
-
-
-
- (1, 0, 1)
- (1, 0, 3)
- (1, 0, 5)
-
- Clockwise
- Normal
-
-
- (11, 0, 5)
- Steel
- Normal
-
-
-
- (3,1,3,1)
- (5,2,5,2)
- (3,3,3,3)
- (3,5,3,5)
- (9,6,9,6)
- (3,7,3,7)
- (3,9,3,9)
- (3,11,3,11)
-
- Clockwise
-
-
- (7, 0, 9)
-
-
-
- (5,5,6,5)
- (5,6,5,7)
- (7,6,7,7)
- (6,7,6,7)
-
- Steel
-
-
- (7, 0, 5)
- Steel
- 278
-
-
- (11, 0, 4)
- Steel
- Normal
-
-
- (11, 0, 6)
- Opposite
- Steel
- Normal
-
-
-
- (1, 0, 7)
- (1, 0, 9)
- (1, 0, 11)
-
- Clockwise
- Steel
- Normal
-
-
-
- (0,0,12,0)
- (0,1,0,12)
- (5,1,5,1)
- (7,1,7,3)
- (12,1,12,12)
- (1,2,3,2)
- (5,3,6,3)
- (8,3,8,3)
- (1,4,3,4)
- (9,4,9,5)
- (1,6,3,6)
- (9,7,11,7)
- (1,8,3,8)
- (9,8,9,9)
- (5,9,6,9)
- (8,9,8,9)
- (1,10,3,10)
- (5,10,5,12)
- (1,12,4,12)
- (6,12,11,12)
-
- Steel
-
-
- (8, 0, 2)
- Clockwise
-
-
- (10, 0, 8)
- Steel
-
-
- (6, 0, 11)
- Clockwise
- Steel
-
-
- (11, 0, 10)
- Counterclockwise
- Steel
-
-
- (9, 0, 11)
- Opposite
- Steel
-
-
- (10, 0, 1)
- Cloth
- Normal
-
-
- (11, 0, 3)
- Opposite
- Cloth
- Normal
-
+
+ (4, 0, 6)
+
+
+ WULA_Shuttle_Prefab
+ (25,25)
+
+
+
+ (1,1,1,1)
+ (23,1,23,1)
+ (1,23,1,23)
+ (23,23,23,23)
+
+
+
+
+ (0,0,24,0)
+ (0,1,0,24)
+ (24,1,24,24)
+ (1,24,23,24)
+
+
+
+ (12, 0, 12)
+
+
+
+
+
+ (0,0,24,24)
+
+
+
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/QuestScriptDefs/WULA_Attack_Robber_Camp.xml b/1.6/1.6/Defs/QuestScriptDefs/WULA_Attack_Robber_Camp.xml
index 1dcee4f5..86f7f745 100644
--- a/1.6/1.6/Defs/QuestScriptDefs/WULA_Attack_Robber_Camp.xml
+++ b/1.6/1.6/Defs/QuestScriptDefs/WULA_Attack_Robber_Camp.xml
@@ -53,7 +53,7 @@
Things/Building/Natural/Hive/HiveC
Things/Building/Natural/Hive/HiveC
site
- $siteFaction
+ $siteFaction
5
10
@@ -125,6 +125,7 @@
(44, 1, 44)
true
0
+ MapFaction
(21, 0, 24)
diff --git a/1.6/1.6/Defs/QuestScriptDefs/WULA_Boss_Sky_Lock.xml b/1.6/1.6/Defs/QuestScriptDefs/WULA_Boss_Sky_Lock.xml
index edc70c8a..75846ff0 100644
--- a/1.6/1.6/Defs/QuestScriptDefs/WULA_Boss_Sky_Lock.xml
+++ b/1.6/1.6/Defs/QuestScriptDefs/WULA_Boss_Sky_Lock.xml
@@ -5,7 +5,7 @@
0
1
true
- false
+ true
4
true
@@ -23,14 +23,373 @@
-
- WULA_Sky_Lock
- AncientsHostile
- 4
- false
- false
+
+
+
+ Wula_Psi_Titan
+ Wula_AI_Rocket_Panzer
+ Wula_AI_Heavy_Panzer
+ WULA_Sky_Lock
+
+
+ Wula_PIA_Legion_Faction
+
+
+
+
+
+
+ Wula_PsiTitan_Boss_Map
+ 1
+
+
+ 5
+ 10
+ Things/Building/Natural/Hive/HiveC
+ Things/Building/Natural/Hive/HiveC
+ site
+ AncientsHostile
+ true
+
+ 5
+ 10
+
+
+
+
+
+
+ PsiTitan.0.Destroyed
+
+ Success
+ true
+
+
+ Wula_PsiTitan_Boss_Map
+ 发现灵能泰坦的地区
+ true
+ (128, 1, 128)
+ true
+ 0
+ MapFaction
+
+
+ (65, 0, 68)
+
+
+ PsiTitan
+ Wula_Psi_Titan
+ true
+ PsiTitanGroup
+ 1
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ (19, 0, 16)
+
+
+ AIHeavyPanzer
+ 1
+ MapGeneration
+
+
+ AIPanzer
+ Wula_AI_Heavy_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+ AIPanzerRocket
+ Wula_AI_Rocket_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ AIHeavyPanzer
+ 1
+ MapGeneration
+
+
+ AIPanzer
+ Wula_AI_Heavy_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+ AIPanzerRocket
+ Wula_AI_Rocket_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+
+
+ (107, 0, 15)
+
+
+ AIHeavyPanzer
+ 1
+ MapGeneration
+
+
+ AIPanzer
+ Wula_AI_Heavy_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+ AIPanzerRocket
+ Wula_AI_Rocket_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ AIHeavyPanzer
+ 1
+ MapGeneration
+
+
+ AIPanzer
+ Wula_AI_Heavy_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+ AIPanzerRocket
+ Wula_AI_Rocket_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+
+
+ (102, 0, 112)
+
+
+ AIHeavyPanzer
+ 1
+ MapGeneration
+
+
+ AIPanzer
+ Wula_AI_Heavy_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+ AIPanzerRocket
+ Wula_AI_Rocket_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ AIHeavyPanzer
+ 1
+ MapGeneration
+
+
+ AIPanzer
+ Wula_AI_Heavy_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+ AIPanzerRocket
+ Wula_AI_Rocket_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+
+
+ (12, 0, 115)
+
+
+ AIHeavyPanzer
+ 1
+ MapGeneration
+
+
+ AIPanzer
+ Wula_AI_Heavy_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+ AIPanzerRocket
+ Wula_AI_Rocket_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ AIHeavyPanzer
+ 1
+ MapGeneration
+
+
+ AIPanzer
+ Wula_AI_Heavy_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+ AIPanzerRocket
+ Wula_AI_Rocket_Panzer
+ true
+ PsiTitanGroup
+ 1~2
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+
+
+
+
+ WULA_Sky_Lock
+ PlayerColony
+
+ (11,11,11,11)
+ (116,7,116,7)
+ (3,124,3,124)
+ (107,118,107,118)
+
+
+
+ AncientTunnelerHusk
+ PlayerColony
+
+ (38,49,38,49)
+ (70,44,70,44)
+ (94,35,94,35)
+
+
+
+ AncientTank
+ PlayerColony
+
+ (27,24,27,24)
+ (26,83,26,83)
+ (87,74,87,74)
+
+
+
+ AncientMiniWarwalkerRemains
+ PlayerColony
+
+ (84,28,84,28)
+ (94,52,94,52)
+
+
+
+ ShipChunk
+ PlayerColony
+
+ (56,24,56,24)
+ (57,27,57,27)
+ (51,38,51,38)
+ (57,30,57,30)
+ (68,30,68,30)
+ (42,62,42,62)
+ (53,102,53,102)
+ (75,104,75,104)
+ (87,100,87,100)
+ (104,92,104,92)
+
+
+
+ AncientAPC
+ PlayerColony
+
+ (92,67,92,67)
+ (105,57,105,57)
+
+
+
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/ResearchProjectDefs/WULA_ResearchProjects_Remake.xml b/1.6/1.6/Defs/ResearchProjectDefs/WULA_ResearchProjects_Remake.xml
index 8e31c337..93b717bc 100644
--- a/1.6/1.6/Defs/ResearchProjectDefs/WULA_ResearchProjects_Remake.xml
+++ b/1.6/1.6/Defs/ResearchProjectDefs/WULA_ResearchProjects_Remake.xml
@@ -247,6 +247,17 @@
WULA_Colony_License_LV3_Technology
+
+ WULA_ArmedShuttle_Technology
+ 武装穿梭机调配许可
+ 允许殖民地呼叫一艘CVe-3"渡鸦"武装穿梭机,其拥有巨大的货仓和一个内部折叠的生活区,因此载重量惊人且可以在内部活动。它同时还拥有一面高反射概率的反射盾,可以抵挡大部分射弹。
+ 3000
+ 9.00
+ 6.20
+
+ WULA_Colony_License_LV3_Technology
+
+
diff --git a/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Mech_Buildings.xml b/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Mech_Buildings.xml
index 8abb6f1c..46bec977 100644
--- a/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Mech_Buildings.xml
+++ b/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Mech_Buildings.xml
@@ -458,12 +458,12 @@
-
+
Wula_Psi_Titan_Cleanzone
PAt-6"灵能泰坦"
清理出一块场地并准备好资源,使得乌拉帝国母舰可以向此处投放大型战争机械。\n\n由乌拉帝国国教所主持开发的重型灵能机械体,以折跃优雅地穿梭于炮火间,并用强大的护盾抵挡敌方射弹侵袭。该机体的内部镌刻了无数的术式环路,这使其就像一个行走的灵能发射器,可以驱使各种强大的灵能能力。
- Wula/Things/Wula_Mech_Mobile_Factory/Wula_Mech_Mobile_Factory_Incoming
+ Wula/Things/Wula_Psi_Titan/Wula_Psi_Titan_Incoming
MinifiedThing
Normal
None
@@ -516,7 +516,7 @@
WulaFallenEmpire.PlaceWorker_CustomRadius
- WULA_Buildings
+
Wula_Psi_Titan_Incoming
@@ -533,7 +533,7 @@
(1,1)
WulaFallenEmpire.Skyfaller_PawnSpawner
- Wula/Things/Wula_Mech_Mobile_Factory/Wula_Mech_Mobile_Factory_Incoming
+ Wula/Things/Wula_Psi_Titan/Wula_Psi_Titan_Incoming
Graphic_Single
CutoutFlying
(9,9)
diff --git a/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Misc_Buildings.xml b/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Misc_Buildings.xml
index 9dce046e..d680e89a 100644
--- a/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Misc_Buildings.xml
+++ b/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Misc_Buildings.xml
@@ -664,11 +664,100 @@
什么?这是个记录数量用的thingdef,你不应该在任何场合下看到这个。
Thing
+
+
+
+ WULA_Table1x2c
+ 乌拉帝国桌子 (1x2)
+ 乌拉帝国的桌子
+
+ Wula/Building/WULA_Table1x2c
+ Graphic_Multi
+ CutoutComplex
+ (2,2)
+
+ (0.85, 0.5, 0.5)
+ (0,0,-0.1)
+
+
+ 0.8
+ false
+ 0
+
+ 75
+ 750
+ 5
+ 1.0
+ 0.5
+ 5
+
+ 20
+
+ Stony
+ Metallic
+
+
+ WULA_Colony_License_LV1_Technology
+
+ (1,2)
+ Light
+ WULA_Buildings
+
+
+ 3
+ (120,240,252,0)
+
+
+
+
+ WULA_Table2x4c
+ 乌拉帝国桌子 (2x4)
+ 乌拉帝国的桌子
+
+ Wula/Building/WULA_Table1x2c
+ Graphic_Multi
+ CutoutComplex
+ (4,4)
+
+ (0.85, 0.5, 0.5)
+ (0,0,-0.1)
+
+
+ 0.8
+ false
+ 0
+
+ 75
+ 750
+ 5
+ 1.0
+ 0.5
+ 5
+
+ 20
+
+ Stony
+ Metallic
+
+
+ WULA_Colony_License_LV1_Technology
+
+ (2,4)
+ Light
+ WULA_Buildings
+
+
+ 3
+ (120,240,252,0)
+
+
+
+
WULA_Sky_Lock
天锁
- 天锁
+ 天锁是纯粹的灵能造物,PAt-6"灵能泰坦"可以将伤害转移给天锁。
WulaFallenEmpire.Building_ExtraGraphics
true
MetaOverlays
@@ -748,6 +837,11 @@
+
+ AncientsHostile
+ true
+ false
+
7
20
@@ -776,7 +870,6 @@
-
WULA_MechAssembler
乌拉帝国自动装配场
diff --git a/1.6/Odyssey/Defs/ThingDefs_Buildings/Building_WULA_Shuttle.xml b/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Shuttle_Building.xml
similarity index 55%
rename from 1.6/Odyssey/Defs/ThingDefs_Buildings/Building_WULA_Shuttle.xml
rename to 1.6/1.6/Defs/ThingDefs_Buildings/WULA_Shuttle_Building.xml
index bc45dc2a..bfcd2a51 100644
--- a/1.6/Odyssey/Defs/ThingDefs_Buildings/Building_WULA_Shuttle.xml
+++ b/1.6/1.6/Defs/ThingDefs_Buildings/WULA_Shuttle_Building.xml
@@ -1,53 +1,163 @@
- WULA_ArmedShuttle
- CVe-3l"灰鸦"
- 乌拉帝国所使用的大气内专用近地穿梭机。配备集成能量发生器投射暗物质护盾。并且装载一门近防炮武装保护帝国资产。
- WulaFallenEmpire.Building_ArmedShuttle
+ WULA_ArmedShuttleWithPocket_Cleanzone
+ CVe-3"渡鸦"
+ 清理出一块场地并准备好资源,使得乌拉帝国母舰可以向此处派遣一艘穿梭机。\n\nCVe-3"渡鸦"是乌拉帝国用于在舰队和地表构建联系的特种穿梭机,拥有巨大的货仓和一个内部折叠的生活区,因此载重量惊人且可以在内部活动。它同时还拥有一面高反射概率的反射盾,可以抵挡大部分射弹。
+ Wula/Building/WULA_ArmedShuttle_Moving
+ Normal
+ MinifiedThing
+
+ Wula/Building/WULA_Dropping_Building_Cleanzone_Plus
+ Graphic_Multi
+ (9,13)
+
+ false
+
+
+
+ BuildingsMisc
+
+ false
+ false
+ false
+ false
+ false
+ false
+ BuildingOnTop
+ PassThroughOnly
+ WULA_Buildings
+ 0
+ false
+ false
+
+ 0
+ false
+ Light
+
+ 1
+ 0
+ 1
+ 0
+
+ (9,13)
+ 0
+ 1
+
+
+ WULA_ArmedShuttle_Technology
+
+ 0
+
+ 500
+ 150
+ 25
+ 4
+
+
+ BuildingDestroyed_Metal_Small
+ false
+ false
+
+
+
+ WULA_ArmedShuttleWithPocket_SP_Prefab
+ true
+ WULA_ArmedShuttleWithPocket_Incoming
+ true
+ 1
+ true
+ false
+
+
+
+
+ WULA_ArmedShuttleWithPocket_Incoming
+ CVe-3"渡鸦" (接近中)
+ WulaFallenEmpire.Skyfaller_PrefabSpawner
+
+ Graphic_Single
+ Wula/Building/WULA_ArmedShuttle_Moving
+ (14,14)
+ CutoutComplex
+
+
+ False
+ (9,13)
+
+ Decelerate
+ Shuttle_Landing
+ 250
+ 200~250
+ (9,13)
+
+
+ (0,0)
+ (1, 1)
+
+
+
+
+ (0.95,1.5)
+ (1,0)
+
+
+
+
+ (0.6,0.6)
+ (0.95,0.1)
+ (0.99,0.01)
+
+
+
+
+
+ Smoke_Joint
+
+
+
+
+
+ WULA_ArmedShuttleWithPocket
+ CVe-3"渡鸦"
+ 乌拉帝国用于在舰队和地表构建联系的特种穿梭机,拥有巨大的货仓和一个内部折叠的生活区,因此载重量惊人且可以在内部活动。它同时还拥有一面高反射概率的反射盾,可以抵挡大部分射弹。
+ WulaFallenEmpire.Building_ArmedShuttleWithPocket
true
Building
50
true
PassThroughOnly
0.5
- (2,2)
+ (9,13)
true
(0.56, 0.62, 0.9)
1
- Graphic_Multi
+ Graphic_Single
Wula/Building/WULA_ArmedShuttle
- CutoutComplex
- (3,3.25)
- (0, 8, 0.8)
-
- (1, 1, 1)
- (0, 0, -1.2)
-
+
+ (14,14)
False
- 6000
+ 5000
0
- 40000
- 150
+ 1
+ 12000
0.65
Normal
- 8
+
+ 500
+ 150
+ 25
+ 4
+
true
-
- 60
- 60
- 5
- 4
-
true
- true
- (2, 0, 0)
- East
+ false
+ North
true
Light
BulletImpact_Metal
@@ -62,148 +172,8 @@
true
ShuttleEngine
-
- WULA_Shuttle_Autocannon
- 5.5
- 1.75
- (0, 0.05)
-
-
- ITab_ContentsTransporter
- ITab_Shells
-
-
-
-
- Ship_ArmedShuttle
-
-
- 3
- 50
- ArmedShuttleLeaving_WULA
- PassengerShuttle
- 3750
- 62
- {0} is ready to launch again.
-
-
- 500
- true
- true
- Shuttle_PawnLoaded
- Shuttle_PawnExit
- true
-
-
- 400
- true
- 400
-
-
- Chemfuel
-
-
- Chemfuel
- Chemfuel
- true
- 1
- true
- false
- true
- true
-
-
- ShuttleIdle_Ambience
-
-
- 12
- true
- (0.5, 0.3, 0.9, 0.5)
- BulletShieldGenerator_Reactivate
- BulletShield_Ambience
- 1080
- -1
- 0
-
-
-
- PlaceWorker_NotUnderRoof
- PlaceWorker_TurretTop
-
- 2601
-
-
-
- WULA_ArmedShuttleWithPocket
- CVe-3o"渡鸦"
- 乌拉帝国所使用的大气内专用近地穿梭机。集成折叠空间技术能安全装载比体积大得多的货物。配备集成能量发生器投射暗物质护盾。并且装载一门近防炮武装保护帝国资产。
- WulaFallenEmpire.Building_ArmedShuttleWithPocket
- true
- Building
- 50
- true
- PassThroughOnly
- 0.5
- (2,2)
- true
- (0.56, 0.62, 0.9)
- 1
-
- Graphic_Multi
- Wula/Building/WULA_ArmedShuttle
- CutoutComplex
- (6,6.25)
- (0, 8, 1.6)
-
- (1, 1, 1)
- (0, 0, -1.2)
-
-
-
- False
-
- 6000
- 0
- 40000
- 150
- 0.65
-
- Normal
-
- 8
-
- 300
- 200
- 8
- 2
- 1
-
- true
-
- 60
- 60
- 5
- 4
-
- true
- true
- (0, 1, 0)
- East
- true
- Light
- BulletImpact_Metal
- true
- RealtimeOnly
- ConstructMetal
- true
-
- false
- BuildingDestroyed_Metal_Big
- true
- true
-
+ ShuttleEngine
+ ShuttleEngine
ShuttleEngine
WULA_Shuttle_Autocannon
@@ -232,7 +202,7 @@
{0} is ready to launch again.
- 500
+ 5000
true
true
Shuttle_PawnLoaded
@@ -257,30 +227,57 @@
true
true
-
- CompPowerPlant
- -400
- true
-
ShuttleIdle_Ambience
-
- 12
+
+ 15
+ 300
+ 2400
+ 30
+
+
+ Interceptor_BlockedProjectile
+ Interceptor_BlockedProjectile
+ Shield_Break
+ BulletShieldGenerator_Reactivate
+
+ (0.9, 0.2, 0.2, 0.5)
+
+
true
- (0.5, 0.3, 0.9, 0.5)
- BulletShieldGenerator_Reactivate
- BulletShield_Ambience
- 1080
- -1
- 0
+ false
+ true
+
+
+ true
+ 0.85
+ 30
+ 0
+ Interceptor_BlockedProjectile
+
+
+ 15
+ 30
+ Flame
+ 8
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ 热辐射
+ CVe-3"渡鸦"可以启动防御设施,蒸发胆敢进入反射立场内的敌军——这同时会使得它伤害附近所有的散落物品。
+ Wula/UI/Commands/Wula_Psi_Titan_AreaDamage
WULA_PocketSpace_Small
WULA_PocketMapExit
- (13, 13)
+ (25, 25)
true
@@ -291,6 +288,60 @@
2601
+
+ WulaWall_Inner
+ 乌拉帝国内舱壁墙
+ 乌拉帝国内舱壁墙,拥有预埋的管线,可以提供来自穿梭机的电力。
+ 1800
+ Wula/Building/Linked/WULA_Fortress_Wall_MenuIcon
+
+ Wula/Building/Linked/WulaWall/WulaWall_Atlas
+ Graphic_Single
+ CutoutComplex
+
+
+ 20
+ 1
+ 2500
+ 0
+ 0.22
+ 0.1
+
+ false
+
+
+ 0
+
+ 4
+
+
+ true
+ false
+
+
+
+
+ Metallic
+
+
+
+
+ false
+ Light
+
+
+ MeditationFocusStrength
+
+ Minimal
+
+
+
+ CompPowerPlant
+ -500
+ true
+
+
+
WULA_PocketMapExit
@@ -300,7 +351,7 @@
(3,3)
MapMeshAndRealTime
- Wula/Building/WULA_Machine_Recharger
+ Wula/Building/WULA_PocketMapExit
Graphic_Single
(3,3)
@@ -318,11 +369,6 @@
UndercaveMapExitLightshafts
-
- CompPowerPlant
- -400
- true
-
@@ -406,30 +452,29 @@
WulaFallenEmpire.ArmedShuttleIncoming
Graphic_Multi
- Wula/Building/WULA_ArmedShuttle
+ Wula/Building/WULA_ArmedShuttle_Moving
CutoutComplex
(6,6.25)
(0, 8, 1.6)
False
- (2,2)
+ (8,12)
+ Decelerate
Shuttle_Landing
250
200~250
- (3.5,5.5)
-
+ (9,13)
+
- (0,30)
- (0.5,5)
- (0.9,-5)
- (0.95,0)
+ (0,0)
+ (1, 1)
-
+
- (0.95,2.5)
+ (0.95,1.5)
(1,0)
@@ -437,6 +482,7 @@
(0.6,0.6)
(0.95,0.1)
+ (0.99,0.01)
@@ -448,15 +494,13 @@
PassengerShuttleLeaving
true
- Graphic_Multi
- Wula/Building/WULA_ArmedShuttle
- CutoutComplex
- (6,6.25)
- (0, 8, 1.6)
+ Graphic_Single
+ Wula/Building/WULA_ArmedShuttle_Moving
+ (14,14)
False
- (2,2)
+ (8,12)
true
Shuttle_Leaving
@@ -464,7 +508,7 @@
-40~-15
0.05
Things/Skyfaller/SkyfallerShadowRectangle
- (3.5,5.5)
+ (8,12)
1
@@ -489,8 +533,8 @@
Ship_ArmedShuttle
- 武装穿梭机
- WULA_ArmedShuttle
+ CVe-3"渡鸦"
+ WULA_ArmedShuttleWithPocket
ArmedShuttleIncoming_WULA
ArmedShuttleLeaving_WULA
Wula_ArmedShuttle_Object
@@ -498,8 +542,8 @@
Wula_ArmedShuttle_Object
- 乌拉帝国武装穿梭机
- 一台正在飞行的乌拉帝国武装穿梭机。
+ CVe-3"渡鸦"
+ 一台正在飞行的CVe-3"渡鸦"武装穿梭机。
World/WorldObjects/Expanding/Wula_ArmedShuttle
1
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 65614cf2..b1b945e2 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
@@ -1484,6 +1484,9 @@
0
North
(0, 0, 0.2)
+
+ WULA_Colony_License_LV1_Technology
+
false
true
diff --git a/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Machine_Weapon.xml b/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Machine_Weapon.xml
index b60848d7..707e5f9b 100644
--- a/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Machine_Weapon.xml
+++ b/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Machine_Weapon.xml
@@ -436,6 +436,7 @@
HAp-6"战车"车体正面的突击炮,射程很短并且只能在静止状态开火,但是威力巨大,专门用于对付坚固的工事和成片的人群。
Normal
Spacer
+ None
Wula/Projectile/WULA_Shrapnel
Wula/Weapon/WULA_Weapon_Empty
diff --git a/1.6/1.6/Defs/ThingDefs_Races/Races_Wulaspecies.xml b/1.6/1.6/Defs/ThingDefs_Races/Races_Wulaspecies.xml
index 358cf6a3..25a1d4b4 100644
--- a/1.6/1.6/Defs/ThingDefs_Races/Races_Wulaspecies.xml
+++ b/1.6/1.6/Defs/ThingDefs_Races/Races_Wulaspecies.xml
@@ -1044,6 +1044,7 @@
2
+ Heavy
@@ -1186,6 +1187,7 @@
10
1
+ Heavy
@@ -1315,6 +1317,7 @@
10
1
+ Heavy
@@ -1420,6 +1423,7 @@
5
+ Heavy
@@ -1537,6 +1541,7 @@
25
1
+ Heavy
@@ -1960,6 +1965,7 @@
50
1
+ Heavy
diff --git a/1.6/1.6/Defs/WorkGivers/Wula_WorkGivers.xml b/1.6/1.6/Defs/WorkGivers/Wula_WorkGivers.xml
index c35e70c5..735b8ac0 100644
--- a/1.6/1.6/Defs/WorkGivers/Wula_WorkGivers.xml
+++ b/1.6/1.6/Defs/WorkGivers/Wula_WorkGivers.xml
@@ -87,4 +87,18 @@
true
true
+
+
+ WULA_Cat_Drill
+ 钻探
+ WulaFallenEmpire.WorkGiver_DeepDrill_WulaCatConstructor
+ Mining
+ 50
+ 钻探
+ 钻探中
+
+ Manipulation
+
+ true
+
\ No newline at end of file
diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/DefInjected/QuestScriptDef/WULA_Boss_Sky_Lock.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/DefInjected/QuestScriptDef/WULA_Boss_Sky_Lock.xml
index 762691bb..9ea03ddd 100644
--- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/DefInjected/QuestScriptDef/WULA_Boss_Sky_Lock.xml
+++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/DefInjected/QuestScriptDef/WULA_Boss_Sky_Lock.xml
@@ -1,9 +1,9 @@
- questName->特殊任务:天锁
+ questName->特殊任务:击毁灵能泰坦
- questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个特殊的请求,一台部署在运输舰上的乌拉帝国战争机械——<color=#AA74E5><i>灵能泰坦</i></color>——因为失控而无差别攻击,行星封锁机关不得不让运输舰坠向星球表面以阻止事态扩大。\n\n可惜的是,<color=#AA74E5><i>灵能泰坦</i></color>没有因为运输舰坠毁而受到伤害,其仍然在星球表面大肆杀戮,殖民地必须直面这台骇人的巨兽。行星封锁机关为殖民地提供了以下信息:\n\n<color=#9F0400><i>-内驱回路</i></color> PAt-6"灵能泰坦"虽然是一台强大的灵能战争机器,但是其灵能回路是以封闭循环的方式刻印的,外部的灵能攻击无法影响它\n<color=#9F0400><i>-死亡使者</i></color> PAt-6"灵能泰坦"的灵能尖啸可以无差别粉碎所有的目标,除非有足够的信心和手段控制住它,否则不要与其正面交锋\n<color=#9F0400><i>-连环天锁</i></color> PAt-6"灵能泰坦"一定会和天锁一起出现,天锁是纯粹的灵能造物,可以吸收灵能泰坦受到的伤害。在所有的天锁被摧毁前,灵能泰坦不会受到伤害。\n\n行星封锁机关承诺,一旦击败了暴走的<color=#AA74E5><i>灵能泰坦</i></color>,她们可以回收其灵能回路的核心,以此为殖民地建造一台全新的灵能泰坦。
+ questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个特殊的请求,一台部署在运输舰上的乌拉帝国战争机械——<color=#AA74E5><i>灵能泰坦</i></color>——因为失控而无差别攻击,行星封锁机关不得不让运输舰坠向星球表面以阻止事态扩大。\n\n可惜的是,<color=#AA74E5><i>灵能泰坦</i></color>没有因为运输舰坠毁而受到伤害,其仍然在星球表面大肆杀戮,殖民地必须直面这台骇人的巨兽。行星封锁机关为殖民地提供了以下信息:\n\n<color=#9F0400><i>-内驱回路</i></color> PAt-6"灵能泰坦"虽然是一台强大的灵能战争机器,但是其灵能回路是以封闭循环的方式刻印的,外部的灵能攻击无法影响它\n<color=#9F0400><i>-死亡使者</i></color> PAt-6"灵能泰坦"的灵能尖啸可以无差别粉碎所有的目标,除非有足够的信心和手段控制住它,否则不要与其正面交锋\n<color=#9F0400><i>-连环天锁</i></color> PAt-6"灵能泰坦"一定会和天锁一起出现,天锁是纯粹的灵能造物,可以吸收灵能泰坦受到的伤害。在所有的天锁被摧毁前,灵能泰坦不会受到伤害。\n<color=#9F0400><i>-网络控制</i></color> PAt-6"灵能泰坦"的控制了附近在坠毁中幸存的战车集群,因此坠毁地区很可能不只有一个敌人\n\n行星封锁机关承诺,一旦击败了暴走的<color=#AA74E5><i>灵能泰坦</i></color>,她们可以回收其灵能回路的核心,以此为殖民地建造一台全新的灵能泰坦。
\ No newline at end of file
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 9e03dd64..585bd433 100644
--- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/Misc_Gameplay.xml
+++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/Misc_Gameplay.xml
@@ -443,4 +443,6 @@
标记一块区域,激活其中所有需要空投的乌拉帝国建筑和战争机械体。\n\n区域空投依然需要计算材料消耗,如果材料不足则不会进行空投。
区域空投已下达
区域内没有可接受空投指令的乌拉帝国空投区
+
+ 与{0}敌对时无法使用此能力
\ No newline at end of file
diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_PocketShuttle.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_PocketShuttle.xml
index 739a0176..f465cd6b 100644
--- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_PocketShuttle.xml
+++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_PocketShuttle.xml
@@ -2,20 +2,20 @@
- 生活区状态
+ \n生活区状态
已就绪
未初始化
初始化生活区
- 初始化穿梭机的内部口袋空间。这将在穿梭机内部创建一个可供成员休息工作的生活区。
+ 初始化穿梭机的生活区空间。这将在穿梭机内部创建一个可供成员休息工作的生活区。在这个空间内的殖民者无法参与穿梭机的驾驶。
进入生活区
- 进入穿梭机的内部口袋空间。选中的殖民者将被传送到内部空间。
+ 进入穿梭机的生活区空间——选中的殖民者将被传送到生活区空间。在这个空间内的殖民者无法参与穿梭机的驾驶。
查看生活区
- 切换视角到穿梭机的内部口袋空间。
+ 切换视角到穿梭机的生活区空间。
diff --git a/Content/Textures/Wula/Building/WULA_ArmedShuttle.png b/Content/Textures/Wula/Building/WULA_ArmedShuttle.png
new file mode 100644
index 00000000..a0a52c4f
Binary files /dev/null and b/Content/Textures/Wula/Building/WULA_ArmedShuttle.png differ
diff --git a/Content/Textures/Wula/Building/WULA_ArmedShuttle_Moving.png b/Content/Textures/Wula/Building/WULA_ArmedShuttle_Moving.png
new file mode 100644
index 00000000..87f1e1ee
Binary files /dev/null and b/Content/Textures/Wula/Building/WULA_ArmedShuttle_Moving.png differ
diff --git a/Content/Textures/Wula/Building/WULA_ArmedShuttle_east.png b/Content/Textures/Wula/Building/WULA_ArmedShuttle_east.png
deleted file mode 100644
index 499592f1..00000000
Binary files a/Content/Textures/Wula/Building/WULA_ArmedShuttle_east.png and /dev/null differ
diff --git a/Content/Textures/Wula/Building/WULA_ArmedShuttle_north.png b/Content/Textures/Wula/Building/WULA_ArmedShuttle_north.png
deleted file mode 100644
index ff6558f6..00000000
Binary files a/Content/Textures/Wula/Building/WULA_ArmedShuttle_north.png and /dev/null differ
diff --git a/Content/Textures/Wula/Building/WULA_ArmedShuttle_south.png b/Content/Textures/Wula/Building/WULA_ArmedShuttle_south.png
deleted file mode 100644
index bf4eaab8..00000000
Binary files a/Content/Textures/Wula/Building/WULA_ArmedShuttle_south.png and /dev/null differ
diff --git a/Content/Textures/Wula/Building/WULA_PocketMapExit.png b/Content/Textures/Wula/Building/WULA_PocketMapExit.png
new file mode 100644
index 00000000..49539b37
Binary files /dev/null and b/Content/Textures/Wula/Building/WULA_PocketMapExit.png differ
diff --git a/Content/Textures/Wula/Building/WULA_Sky_Lock/WULA_Sky_Lock_Incoming.png b/Content/Textures/Wula/Building/WULA_Sky_Lock/WULA_Sky_Lock_Incoming.png
new file mode 100644
index 00000000..ec3642a8
Binary files /dev/null and b/Content/Textures/Wula/Building/WULA_Sky_Lock/WULA_Sky_Lock_Incoming.png differ
diff --git a/Content/Textures/Wula/Building/WULA_Table1x2c_east.png b/Content/Textures/Wula/Building/WULA_Table1x2c_east.png
new file mode 100644
index 00000000..31e96c67
Binary files /dev/null and b/Content/Textures/Wula/Building/WULA_Table1x2c_east.png differ
diff --git a/Content/Textures/Wula/Building/WULA_Table1x2c_south.png b/Content/Textures/Wula/Building/WULA_Table1x2c_south.png
new file mode 100644
index 00000000..b5ee7e9f
Binary files /dev/null and b/Content/Textures/Wula/Building/WULA_Table1x2c_south.png differ
diff --git a/Content/Textures/Wula/Things/Wula_Psi_Titan/Bodies/Naked_Thin_south.png b/Content/Textures/Wula/Things/Wula_Psi_Titan/Bodies/Naked_Thin_south.png
index 1fa5c0cf..1e09e3d1 100644
Binary files a/Content/Textures/Wula/Things/Wula_Psi_Titan/Bodies/Naked_Thin_south.png and b/Content/Textures/Wula/Things/Wula_Psi_Titan/Bodies/Naked_Thin_south.png differ
diff --git a/Content/Textures/Wula/Things/Wula_Psi_Titan/Wula_Psi_Titan_Icon.png b/Content/Textures/Wula/Things/Wula_Psi_Titan/Wula_Psi_Titan_Icon.png
index bf2f3c33..1e09e3d1 100644
Binary files a/Content/Textures/Wula/Things/Wula_Psi_Titan/Wula_Psi_Titan_Icon.png and b/Content/Textures/Wula/Things/Wula_Psi_Titan/Wula_Psi_Titan_Icon.png differ
diff --git a/Content/Textures/Wula/Things/Wula_Psi_Titan/Wula_Psi_Titan_Incoming.png b/Content/Textures/Wula/Things/Wula_Psi_Titan/Wula_Psi_Titan_Incoming.png
new file mode 100644
index 00000000..02b703eb
Binary files /dev/null and b/Content/Textures/Wula/Things/Wula_Psi_Titan/Wula_Psi_Titan_Incoming.png differ
diff --git a/Content/Textures/Wula/UI/Commands/WULA_Enter_ArmedShuttle_Pocket.png b/Content/Textures/Wula/UI/Commands/WULA_Enter_ArmedShuttle_Pocket.png
new file mode 100644
index 00000000..172f2926
Binary files /dev/null and b/Content/Textures/Wula/UI/Commands/WULA_Enter_ArmedShuttle_Pocket.png differ
diff --git a/Content/Textures/Wula/UI/Commands/WULA_View_ArmedShuttle_Pocket.png b/Content/Textures/Wula/UI/Commands/WULA_View_ArmedShuttle_Pocket.png
new file mode 100644
index 00000000..2605c131
Binary files /dev/null and b/Content/Textures/Wula/UI/Commands/WULA_View_ArmedShuttle_Pocket.png differ
diff --git a/Source/WulaFallenEmpire/Ability/CompAbilityEffect_RequiresNonHostility.cs b/Source/WulaFallenEmpire/Ability/CompAbilityEffect_RequiresNonHostility.cs
new file mode 100644
index 00000000..d62af7e1
--- /dev/null
+++ b/Source/WulaFallenEmpire/Ability/CompAbilityEffect_RequiresNonHostility.cs
@@ -0,0 +1,48 @@
+using RimWorld;
+using Verse;
+
+namespace WulaFallenEmpire
+{
+ public class CompProperties_AbilityRequiresNonHostility : CompProperties_AbilityEffect
+ {
+ public FactionDef factionDef;
+
+ public CompProperties_AbilityRequiresNonHostility()
+ {
+ compClass = typeof(CompAbilityEffect_RequiresNonHostility);
+ }
+ }
+
+ public class CompAbilityEffect_RequiresNonHostility : CompAbilityEffect
+ {
+ public new CompProperties_AbilityRequiresNonHostility Props => (CompProperties_AbilityRequiresNonHostility)props;
+
+ public override bool GizmoDisabled(out string reason)
+ {
+ Pawn pawn = parent.pawn;
+ if (pawn == null || pawn.Faction == null || Props.factionDef == null)
+ {
+ reason = null;
+ return false;
+ }
+
+ // 查找指定派系
+ Faction targetFaction = Find.FactionManager.FirstFactionOfDef(Props.factionDef);
+ if (targetFaction == null)
+ {
+ reason = null;
+ return false;
+ }
+
+ // 检查是否敌对
+ if (pawn.Faction.HostileTo(targetFaction))
+ {
+ reason = "WULA_AbilityRequiresNonHostility".Translate(Props.factionDef);
+ return true;
+ }
+
+ reason = null;
+ return false;
+ }
+ }
+}
diff --git a/Source/WulaFallenEmpire/BuildingComp/WULA_Shuttle/Building_ArmedShuttleWithPocket.cs b/Source/WulaFallenEmpire/BuildingComp/WULA_Shuttle/Building_ArmedShuttleWithPocket.cs
index abc7f27f..99bead73 100644
--- a/Source/WulaFallenEmpire/BuildingComp/WULA_Shuttle/Building_ArmedShuttleWithPocket.cs
+++ b/Source/WulaFallenEmpire/BuildingComp/WULA_Shuttle/Building_ArmedShuttleWithPocket.cs
@@ -21,13 +21,10 @@ namespace WulaFallenEmpire
#region 静态图标定义(使用原版MapPortal的图标)
/// 查看口袋地图图标
- private static readonly Texture2D ViewPocketMapTex = ContentFinder.Get("UI/Commands/ViewCave");
-
- /// 取消进入图标
- private static readonly Texture2D CancelEnterTex = ContentFinder.Get("UI/Designators/Cancel");
+ private static readonly Texture2D ViewPocketMapTex = ContentFinder.Get("Wula/UI/Commands/WULA_View_ArmedShuttle_Pocket");
/// 默认进入图标
- private static readonly Texture2D DefaultEnterTex = ContentFinder.Get("UI/Commands/LoadTransporter");
+ private static readonly Texture2D DefaultEnterTex = ContentFinder.Get("Wula/UI/Commands/WULA_Enter_ArmedShuttle_Pocket");
#endregion
#region 口袋空间字段
diff --git a/Source/WulaFallenEmpire/Pawn/WULA_AutonomousMech/ThinkNode_ConditionalAutonomousWorkMode.cs b/Source/WulaFallenEmpire/Pawn/WULA_AutonomousMech/ThinkNode_ConditionalAutonomousWorkMode.cs
index a4fbcd23..51ca3b9e 100644
--- a/Source/WulaFallenEmpire/Pawn/WULA_AutonomousMech/ThinkNode_ConditionalAutonomousWorkMode.cs
+++ b/Source/WulaFallenEmpire/Pawn/WULA_AutonomousMech/ThinkNode_ConditionalAutonomousWorkMode.cs
@@ -10,16 +10,61 @@ namespace WulaFallenEmpire
protected override bool Satisfied(Pawn pawn)
{
- if (pawn == null || pawn.Dead || pawn.Downed)
- return false;
+ try
+ {
+ if (pawn == null || pawn.Dead || pawn.Downed)
+ return false;
- // 检查是否有自主机械组件
- var comp = pawn.GetComp();
- if (comp == null)
- return false;
+ // 检查是否有自主机械组件
+ var comp = pawn.GetComp();
+ if (comp == null)
+ return false;
- // 检查当前工作模式是否匹配要求
- return comp.CurrentWorkMode == requiredMode;
+ // 检查当前工作模式是否匹配要求
+ if (comp.CurrentWorkMode != requiredMode)
+ return false;
+
+ // 额外的安全检查:确保pawn有工作设置
+ if (pawn.workSettings == null)
+ {
+ Log.Warning($"[WULA] {pawn.LabelShort} has no workSettings in ThinkNode_ConditionalAutonomousWorkMode");
+ return false;
+ }
+
+ // 检查是否启用了工作
+ if (!pawn.workSettings.EverWork)
+ {
+ Log.Warning($"[WULA] {pawn.LabelShort} has EverWork=false in ThinkNode_ConditionalAutonomousWorkMode");
+ return false;
+ }
+
+ // 检查是否有工作给予器
+ var workGivers = pawn.workSettings.WorkGiversInOrderNormal;
+ if (workGivers == null || workGivers.Count == 0)
+ {
+ Log.Warning($"[WULA] {pawn.LabelShort} has no work givers in ThinkNode_ConditionalAutonomousWorkMode");
+ return false;
+ }
+
+ // 检查是否为机械体且具有机械体能力
+ if (pawn.RaceProps.IsMechanoid)
+ {
+ // 检查是否有操纵能力
+ var manipulation = pawn.health?.capacities?.GetLevel(PawnCapacityDefOf.Manipulation);
+ if (manipulation < 0.1f)
+ {
+ Log.Warning($"[WULA] {pawn.LabelShort} has insufficient manipulation capacity: {manipulation}");
+ return false;
+ }
+ }
+
+ return true;
+ }
+ catch (System.Exception ex)
+ {
+ Log.Error($"[WULA] Exception in ThinkNode_ConditionalAutonomousWorkMode.Satisfied for pawn {pawn?.LabelShort}: {ex}");
+ return false;
+ }
}
}
}
diff --git a/Source/WulaFallenEmpire/QuestNodes/QuestNode_SpawnPrefabSkyfallerCaller.cs b/Source/WulaFallenEmpire/QuestNodes/QuestNode_SpawnPrefabSkyfallerCaller.cs
index 77e696a4..cad7a444 100644
--- a/Source/WulaFallenEmpire/QuestNodes/QuestNode_SpawnPrefabSkyfallerCaller.cs
+++ b/Source/WulaFallenEmpire/QuestNodes/QuestNode_SpawnPrefabSkyfallerCaller.cs
@@ -18,6 +18,8 @@ namespace WulaFallenEmpire
public SlateRef map;
public SlateRef sendMessageOnSuccess = true;
public SlateRef sendMessageOnFailure = true;
+ public SlateRef allowThickRoof = false;
+ public SlateRef allowThinRoof = true;
protected override bool TestRunInt(Slate slate)
{
@@ -35,13 +37,6 @@ namespace WulaFallenEmpire
return false;
}
- var compProps = thingDef.GetValue(slate).comps?.OfType().FirstOrDefault();
- if (compProps == null)
- {
- Log.Warning($"[QuestNode] ThingDef {thingDef.GetValue(slate).defName} does not have CompProperties_PrefabSkyfallerCaller");
- return false;
- }
-
return true;
}
@@ -56,6 +51,8 @@ namespace WulaFallenEmpire
Map targetMap = map.GetValue(slate) ?? Find.CurrentMap;
bool doSendMessageOnSuccess = sendMessageOnSuccess.GetValue(slate);
bool doSendMessageOnFailure = sendMessageOnFailure.GetValue(slate);
+ bool targetAllowThickRoof = allowThickRoof.GetValue(slate);
+ bool targetAllowThinRoof = allowThinRoof.GetValue(slate);
if (targetThingDef == null)
{
@@ -69,18 +66,10 @@ namespace WulaFallenEmpire
return;
}
- // 获取组件属性
- var compProps = targetThingDef.comps?.OfType().FirstOrDefault();
- if (compProps == null)
- {
- Log.Error($"[QuestNode] ThingDef {targetThingDef.defName} does not have CompProperties_PrefabSkyfallerCaller");
- return;
- }
-
Log.Message($"[QuestNode] Attempting to spawn {targetSpawnCount} {targetThingDef.defName} on map {targetMap}");
// 执行生成
- int successCount = SpawnThingsAtValidLocations(targetThingDef, targetFaction, targetSpawnCount, targetMap);
+ int successCount = SpawnThingsAtValidLocations(targetThingDef, targetFaction, targetSpawnCount, targetMap, targetAllowThickRoof, targetAllowThinRoof);
// 发送结果消息
if (successCount > 0)
@@ -108,23 +97,16 @@ namespace WulaFallenEmpire
///
/// 在有效位置生成多个建筑
///
- private int SpawnThingsAtValidLocations(ThingDef thingDef, Faction faction, int spawnCount, Map targetMap)
+ private int SpawnThingsAtValidLocations(ThingDef thingDef, Faction faction, int spawnCount, Map targetMap, bool allowThickRoof, bool allowThinRoof)
{
int successCount = 0;
int attempts = 0;
const int maxAttempts = 100; // 最大尝试次数
- var compProps = thingDef.comps.OfType().FirstOrDefault();
- if (compProps == null)
- {
- Log.Error($"[QuestNode] Could not find CompProperties_PrefabSkyfallerCaller for {thingDef.defName}");
- return 0;
- }
-
for (int i = 0; i < spawnCount && attempts < maxAttempts; i++)
{
attempts++;
- IntVec3 spawnPos = FindSpawnPositionForSkyfaller(targetMap, thingDef, compProps);
+ IntVec3 spawnPos = FindSpawnPositionForSkyfaller(targetMap, thingDef, allowThickRoof, allowThinRoof);
if (spawnPos.IsValid)
{
@@ -152,7 +134,7 @@ namespace WulaFallenEmpire
///
/// 查找适合Skyfaller空投的位置
///
- private IntVec3 FindSpawnPositionForSkyfaller(Map map, ThingDef thingDef, CompProperties_SkyfallerCaller compProps)
+ private IntVec3 FindSpawnPositionForSkyfaller(Map map, ThingDef thingDef, bool allowThickRoof, bool allowThinRoof)
{
var potentialCells = new List();
@@ -160,7 +142,7 @@ namespace WulaFallenEmpire
var baseCells = GetOpenAreaCellsNearBase(map, thingDef.Size);
foreach (var cell in baseCells)
{
- if (IsValidForSkyfallerDrop(map, cell, thingDef, compProps))
+ if (IsValidForSkyfallerDrop(map, cell, thingDef, allowThickRoof, allowThinRoof))
{
potentialCells.Add(cell);
}
@@ -176,7 +158,7 @@ namespace WulaFallenEmpire
var openAreas = FindOpenAreas(map, thingDef.Size, 500);
foreach (var cell in openAreas)
{
- if (IsValidForSkyfallerDrop(map, cell, thingDef, compProps))
+ if (IsValidForSkyfallerDrop(map, cell, thingDef, allowThickRoof, allowThinRoof))
{
potentialCells.Add(cell);
}
@@ -197,7 +179,7 @@ namespace WulaFallenEmpire
Rand.Range(thingDef.Size.z, map.Size.z - thingDef.Size.z)
);
- if (randomCell.InBounds(map) && IsValidForSkyfallerDrop(map, randomCell, thingDef, compProps))
+ if (randomCell.InBounds(map) && IsValidForSkyfallerDrop(map, randomCell, thingDef, allowThickRoof, allowThinRoof))
{
potentialCells.Add(randomCell);
}
@@ -216,7 +198,7 @@ namespace WulaFallenEmpire
///
/// 基于Skyfaller实际行为的有效性检查
///
- private bool IsValidForSkyfallerDrop(Map map, IntVec3 cell, ThingDef thingDef, CompProperties_SkyfallerCaller compProps)
+ private bool IsValidForSkyfallerDrop(Map map, IntVec3 cell, ThingDef thingDef, bool allowThickRoof, bool allowThinRoof)
{
// 1. 检查边界
if (!cell.InBounds(map))
@@ -230,11 +212,11 @@ namespace WulaFallenEmpire
if (!occupiedCell.InBounds(map))
return false;
- // 3. 检查厚岩顶 - 绝对不允许
+ // 3. 检查厚岩顶 - 绝对不允许(除非明确允许)
RoofDef roof = occupiedCell.GetRoof(map);
if (roof != null && roof.isThickRoof)
{
- if (!compProps.allowThickRoof)
+ if (!allowThickRoof)
return false;
}
@@ -274,7 +256,7 @@ namespace WulaFallenEmpire
// 6. 检查薄岩顶和普通屋顶的条件
if (roof != null && !roof.isThickRoof)
{
- if (!compProps.allowThinRoof)
+ if (!allowThinRoof)
return false;
}
}
diff --git a/Source/WulaFallenEmpire/WorkGiver/WorkGiver_DeepDrill_WulaConstructor.cs b/Source/WulaFallenEmpire/WorkGiver/WorkGiver_DeepDrill_WulaConstructor.cs
new file mode 100644
index 00000000..4f75b3dd
--- /dev/null
+++ b/Source/WulaFallenEmpire/WorkGiver/WorkGiver_DeepDrill_WulaConstructor.cs
@@ -0,0 +1,98 @@
+using System.Collections.Generic;
+using RimWorld;
+using Verse;
+using Verse.AI;
+
+namespace WulaFallenEmpire
+{
+ // 扩展方法,用于检查特定种族
+ public static class WorkGiverExtensions
+ {
+ // 检查是否为指定种族
+ public static bool IsRace(this Pawn pawn, string raceDefName)
+ {
+ return pawn.def.defName == raceDefName;
+ }
+
+ // 检查是否为指定种族之一
+ public static bool IsAnyRace(this Pawn pawn, params string[] raceDefNames)
+ {
+ string pawnRace = pawn.def.defName;
+ foreach (string race in raceDefNames)
+ {
+ if (pawnRace == race)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+
+ // 使用扩展方法的子类
+ public class WorkGiver_DeepDrill_WulaCatConstructor : WorkGiver_DeepDrill
+ {
+ private const string AllowedRace = "Mech_WULA_Cat_Constructor";
+
+ public override bool ShouldSkip(Pawn pawn, bool forced = false)
+ {
+
+ // 检查种族
+ if (!pawn.IsRace(AllowedRace))
+ {
+ return true;
+ }
+
+ // 调用基类方法
+ bool shouldSkip = base.ShouldSkip(pawn, forced);
+
+ return shouldSkip;
+ }
+
+ public override bool HasJobOnThing(Pawn pawn, Thing t, bool forced = false)
+ {
+ // 检查种族
+ if (!pawn.IsRace(AllowedRace))
+ {
+ return false;
+ }
+
+ // 调用基类方法
+ bool hasJob = base.HasJobOnThing(pawn, t, forced);
+
+ return hasJob;
+ }
+
+ // 可选:自定义工作优先级
+ public override float GetPriority(Pawn pawn, TargetInfo t)
+ {
+ if (!pawn.IsRace(AllowedRace))
+ {
+ return 0f; // 不是允许的种族,优先级为0
+ }
+
+ // 如果是允许的种族,提高优先级
+ float basePriority = base.GetPriority(pawn, t);
+ return basePriority * 1.5f; // 提高50%优先级
+ }
+
+ // 可选:提供自定义的工作描述
+ public override Job JobOnThing(Pawn pawn, Thing t, bool forced = false)
+ {
+ if (!pawn.IsRace(AllowedRace))
+ {
+ return null;
+ }
+
+
+ Job job = base.JobOnThing(pawn, t, forced);
+ if (job != null)
+ {
+ // 可以在这里添加自定义标签或其他修改
+ job.playerForced = forced;
+ }
+
+ return job;
+ }
+ }
+}
diff --git a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj
index e9d336e7..78b59473 100644
--- a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj
+++ b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj
@@ -74,6 +74,7 @@
+
@@ -359,6 +360,7 @@
+
diff --git a/美术与文本源文件/Wula/Building/WULA_Chair.sai2 b/美术与文本源文件/Wula/Building/Door/WULA_Chair.sai2
similarity index 100%
rename from 美术与文本源文件/Wula/Building/WULA_Chair.sai2
rename to 美术与文本源文件/Wula/Building/Door/WULA_Chair.sai2
diff --git a/美术与文本源文件/Wula/Building/WULA_ArmedShuttle_New.sai2 b/美术与文本源文件/Wula/Building/WULA_ArmedShuttle_New.sai2
new file mode 100644
index 00000000..b24dbc58
Binary files /dev/null and b/美术与文本源文件/Wula/Building/WULA_ArmedShuttle_New.sai2 differ
diff --git a/美术与文本源文件/Wula/Building/WULA_PocketMapExit.sai2 b/美术与文本源文件/Wula/Building/WULA_PocketMapExit.sai2
new file mode 100644
index 00000000..418113e4
Binary files /dev/null and b/美术与文本源文件/Wula/Building/WULA_PocketMapExit.sai2 differ
diff --git a/美术与文本源文件/Wula/Building/WULA_Sky_Lock.sai2 b/美术与文本源文件/Wula/Building/WULA_Sky_Lock.sai2
index 5626ca7b..1b3a0648 100644
Binary files a/美术与文本源文件/Wula/Building/WULA_Sky_Lock.sai2 and b/美术与文本源文件/Wula/Building/WULA_Sky_Lock.sai2 differ
diff --git a/美术与文本源文件/Wula/Building/WULA_Table_12_south.sai2 b/美术与文本源文件/Wula/Building/WULA_Table_12_south.sai2
new file mode 100644
index 00000000..c1eeae03
Binary files /dev/null and b/美术与文本源文件/Wula/Building/WULA_Table_12_south.sai2 differ
diff --git a/美术与文本源文件/Wula/UI/Commands/WULA_Enter_ArmedShuttle_Pocket.sai2 b/美术与文本源文件/Wula/UI/Commands/WULA_Enter_ArmedShuttle_Pocket.sai2
new file mode 100644
index 00000000..0772d4de
Binary files /dev/null and b/美术与文本源文件/Wula/UI/Commands/WULA_Enter_ArmedShuttle_Pocket.sai2 differ