diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll
index d2b51762..14a8dfcb 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/DamageDefs/Damages_Wula.xml b/1.6/1.6/Defs/DamageDefs/Damages_Wula.xml
index c114e418..ab4647a2 100644
--- a/1.6/1.6/Defs/DamageDefs/Damages_Wula.xml
+++ b/1.6/1.6/Defs/DamageDefs/Damages_Wula.xml
@@ -518,7 +518,7 @@
<_DistortionIntensity>0.5
<_TexAScaleDivisorPerProgress>1.5
- (4, 4)
+ (5, 5)
diff --git a/1.6/1.6/Defs/EventDefs/EventDef_Wula/Wula_MainEvent.xml b/1.6/1.6/Defs/EventDefs/EventDef_Wula/Wula_MainEvent.xml
index 2f432691..8180761b 100644
--- a/1.6/1.6/Defs/EventDefs/EventDef_Wula/Wula_MainEvent.xml
+++ b/1.6/1.6/Defs/EventDefs/EventDef_Wula/Wula_MainEvent.xml
@@ -1118,6 +1118,11 @@
0
Int
+
+ WULA_Boss_Super_Fortress_Has_Start
+ 0
+ Int
+
@@ -1142,6 +1147,26 @@
+
+ ···火山炮要塞?
+ true
+
+
+ WULA_Boss_Super_Fortress_Has_Start
+ 1
+
+
+
+
+
+
+ WULA_Boss_Super_Fortress_UI_1
+
+
+
+
+
+
···度假?
true
diff --git a/1.6/1.6/Defs/HediffDefs/WULA_Misc_Hediffs.xml b/1.6/1.6/Defs/HediffDefs/WULA_Misc_Hediffs.xml
index 26966a4c..77302f4a 100644
--- a/1.6/1.6/Defs/HediffDefs/WULA_Misc_Hediffs.xml
+++ b/1.6/1.6/Defs/HediffDefs/WULA_Misc_Hediffs.xml
@@ -322,4 +322,28 @@
false
+
+
+ WULA_Cat_Invisibility
+ HediffWithComps
+ 特战小子
+ 这只乌拉猫猫经过了特殊改装,无法用肉眼目视到,只有在开枪时会短暂现身。
+ false
+
+
+ 0.01
+
+ 5000
+
+
+
+
+
+ false
+ 60
+ 90
+
+
+
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/PawnKinds/PawnKinds_Wula.xml b/1.6/1.6/Defs/PawnKinds/PawnKinds_Wula.xml
index 834ee237..2e2ffcc9 100644
--- a/1.6/1.6/Defs/PawnKinds/PawnKinds_Wula.xml
+++ b/1.6/1.6/Defs/PawnKinds/PawnKinds_Wula.xml
@@ -121,6 +121,29 @@
Wula_Assault_Cat_Weapon
+
+ Mech_WULA_Cat_Cloak_Sniper
+ CAt-71"特战猫猫"
+ Mech_WULA_Cat_Cloak_Sniper
+ 500
+ AncientsHostile
+ false
+
+
+
+ Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin
+ Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None
+ CutoutWithOverlay
+ Graphic_Multi
+ 1.2
+
+
+
+
+ WULA_RW_SuperLongRange_RF
+
+ 9999~9999
+
Wula_AI_Heavy_Panzer
diff --git a/1.6/1.6/Defs/QuestScriptDefs/WULA_Base_Tex_Quest.xml b/1.6/1.6/Defs/QuestScriptDefs/WULA_Base_Tex_Quest.xml
index 28301f97..0677e95d 100644
--- a/1.6/1.6/Defs/QuestScriptDefs/WULA_Base_Tex_Quest.xml
+++ b/1.6/1.6/Defs/QuestScriptDefs/WULA_Base_Tex_Quest.xml
@@ -1,5 +1,47 @@
+
WULA_GiveQuest_Base_Tex
@@ -149,7 +191,7 @@
Handle_Outtime
- WULA_Base_Tex_Quest_UI_1
+ WULA_Base_Tex_Quest_UI_2
未按时纳税
@@ -199,7 +241,7 @@
- WULA_Base_Tex_Quest_UI_1
+ WULA_Base_Tex_Quest_UI_2
和P.I.A的通讯
Wula/Events/Portraits/WULA_Legion_6
「军团」,P.I.A
diff --git a/1.6/1.6/Defs/QuestScriptDefs/WULA_Boss_Super_Fortress.xml b/1.6/1.6/Defs/QuestScriptDefs/WULA_Boss_Super_Fortress.xml
index 09d4720f..592f585d 100644
--- a/1.6/1.6/Defs/QuestScriptDefs/WULA_Boss_Super_Fortress.xml
+++ b/1.6/1.6/Defs/QuestScriptDefs/WULA_Boss_Super_Fortress.xml
@@ -1,12 +1,63 @@
-
+
+
+ WULA_Boss_Super_Fortress_UI_1
+ 未知通讯
+ Wula/Events/Portraits/WULA_Legion_1
+ 「军团」,P.I.A
+
+ 我们的观察员发现,你们附近有一个不处于我们掌控下的巨型要塞——很可能是叛军留下的要塞。没有发现人影,但是防御系统还在工作,我们尝试发射了几轮EMP炮弹,但是很可惜没有击中要塞的干扰器,我们的舰队没办法顶着信号干扰进行进一步轰炸。\n\n拿上武器,把你们最好的战士派过去,扫平那座堡垒。事成之后,我会给你们批复火山炮的申请权限,如何?哦对了,要塞里面应该有这种火山炮,记得小心点,有困难就叫舰队,有引导的情况下轰炸是可以正常进行的。
+
+
+
+ 明白了,我们会处理这件事情
+ 殖民地的表现让P.I.A相当不满意,这种特殊任务不会交给殖民地负责
+ false
+
+
+ Wula_Goodwill_To_PIA
+ -75
+
+
+
+
+
+
+ WULA_Boss_Super_Fortress_Has_Start
+ 1
+ Add
+
+
+ WULA_Boss_Super_Fortress
+
+
+
+
+
+
+
+ 再思考看看···
+ false
+
+
+
+
+ Wula_UI_Legion_50
+
+
+
+
+
+
+
+
WULA_Boss_Super_Fortress
0
true
false
4
- true
+ true
@@ -20,15 +71,17 @@
-
+
- Wula_Psi_Titan
- Wula_AI_Rocket_Panzer
- Wula_AI_Heavy_Panzer
- WULA_Sky_Lock
+ WULA_Cat_Bunker
+ Wula_Base_ATGun_Turret
+ Wula_Base_Laser_Turret
+ Wula_Base_Mortar_Turret
+ Wula_Disturber_Turret
+ Mech_WULA_Cat_Cloak_Sniper
Wula_PIA_Legion_Faction
@@ -57,33 +110,45 @@
- 灵能泰坦抵达
+ 已标记巨型要塞
NegativeEvent
- 在一艘巡洋舰向失控运输舰狠狠撞击后,碎裂的运输舰如流星般坠入边缘世界地表。不过灵能泰坦随后便在地表上被目击——地点已经标记出来了。
+ 乌拉帝国进步派所建立的巨型要塞已经在地图上标记——似乎因为干扰,舰队无法直接攻击这个要塞,但是如果附近有引导员,舰队依然可以正常进入要塞的上方轨道。
-
+
- PsiTitan.0.Destroyed
+ site.AllEnemiesDefeated
-
- 灵能泰坦已停机
- PositiveEvent
- 灵能泰坦在殖民者的攻击下已经停止运转,其灵能回路核心已经暴露并掉落。\n\n记得回收灵能回路核心,这是建造新的灵能泰坦所需的材料。
-
Wula_PIA_Legion_Faction
25
- WULA_Killed_Psititan
+ WULA_Destroyed_Super_Fortress
- PsiTitan.0.Destroyed
- WULA_Boss_Sky_Lock_UI_2
+ site.AllEnemiesDefeated
+ WULA_Boss_Super_Fortress_UI_2
-
- Success
- true
+
+
+
+ questDescription->任务已经完成,奖励已经发放,现在在乌拉帝国舰队整天蔽日的弹雨落下前,你还有1天的时间撤出巨型要塞。
+
+
+
+
+ 60000
+
+
+
+ $site
+
+
+ Success
+ true
+
+
+
@@ -92,8 +157,8 @@
- WULA_Killed_Psititan
- 协助处理失控灵能泰坦
+ WULA_Destroyed_Super_Fortress
+ 协助摧毁巨型火山炮要塞
WULA_Super_Fortress_Map
@@ -102,6 +167,128 @@
(80, 1, 80)
true
0
+
+
+ (38, 0, 8)
+
+
+ WULA_Sniper_Cat
+ Mech_WULA_Cat_Cloak_Sniper
+ true
+ WULA_Sniper_Cat_Group
+ 2~3
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ (7, 0, 39)
+
+
+ WULA_Sniper_Cat
+ Mech_WULA_Cat_Cloak_Sniper
+ true
+ WULA_Sniper_Cat_Group
+ 2~3
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ (39, 0, 71)
+
+
+ WULA_Sniper_Cat
+ Mech_WULA_Cat_Cloak_Sniper
+ true
+ WULA_Sniper_Cat_Group
+ 2~3
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ (73, 0, 37)
+
+
+ WULA_Sniper_Cat
+ Mech_WULA_Cat_Cloak_Sniper
+ true
+ WULA_Sniper_Cat_Group
+ 2~3
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ (39, 0, 48)
+
+
+ WULA_Hositile
+ WULA_Hostile_Progressive_Light_Unit
+ true
+ WULA_Hostile_Group
+ 3~4
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ (31, 0, 39)
+
+
+ WULA_Hositile
+ WULA_Hostile_Progressive_Light_Unit
+ true
+ WULA_Hostile_Group
+ 3~4
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ (40, 0, 31)
+
+
+ WULA_Hositile
+ WULA_Hostile_Progressive_Light_Unit
+ true
+ WULA_Hostile_Group
+ 3~4
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
+ (48, 0, 40)
+
+
+ WULA_Hositile
+ WULA_Hostile_Progressive_Light_Unit
+ true
+ WULA_Hostile_Group
+ 3~4
+ AncientsHostile
+ DefendBase
+ MapGeneration
+
+
+
+
RoofRockThick
@@ -157,8 +344,8 @@
(14,11,14,12)
(12,15,12,22)
(15,12,22,12)
- (16,13,16,14)
(13,16,14,16)
+ (16,13,16,14)
(20,13,20,14)
(13,20,14,20)
(10,22,11,22)
@@ -167,18 +354,18 @@
(10,23,10,26)
(26,11,26,12)
(11,26,12,26)
- (15,26,16,26)
(26,15,29,15)
+ (15,26,16,26)
(26,16,26,16)
(15,27,15,29)
- (11,30,13,30)
(30,11,34,11)
+ (11,30,13,30)
(30,12,30,13)
(11,31,11,34)
- (31,15,34,15)
(15,31,15,34)
- (12,34,12,38)
+ (31,15,34,15)
(34,12,38,12)
+ (12,34,12,38)
(16,34,16,34)
(34,16,34,16)
(38,13,38,15)
@@ -191,68 +378,68 @@
(12,42,12,45)
(45,11,49,11)
(11,45,11,49)
- (45,15,48,15)
(15,45,16,45)
- (41,24,43,24)
+ (45,15,48,15)
(24,41,24,43)
+ (41,24,43,24)
(45,16,45,16)
(15,46,15,48)
- (49,12,49,13)
(12,49,13,49)
+ (49,12,49,13)
(50,15,53,15)
(15,50,15,53)
- (53,10,57,10)
(10,53,12,53)
+ (53,10,57,10)
(53,11,53,12)
(10,54,10,57)
- (53,16,53,16)
(16,53,16,53)
+ (53,16,53,16)
(11,57,12,57)
(57,11,57,12)
- (12,58,12,65)
(58,12,65,12)
+ (12,58,12,65)
(13,59,14,59)
(59,13,59,14)
(13,63,14,63)
(63,13,63,14)
(36,55,38,55)
(55,36,55,38)
- (10,65,11,65)
(65,10,69,10)
+ (10,65,11,65)
(65,11,65,11)
(10,66,10,69)
- (16,65,16,67)
(65,16,67,16)
- (65,20,67,20)
+ (16,65,16,67)
(20,65,20,67)
- (63,26,64,26)
+ (65,20,67,20)
(26,63,26,64)
+ (63,26,64,26)
(14,67,15,67)
(67,14,69,14)
(41,55,43,55)
(55,41,55,43)
(67,15,67,15)
- (67,17,67,19)
(17,67,19,67)
+ (67,17,67,19)
(14,68,14,69)
- (64,27,64,29)
(27,64,29,64)
- (69,11,69,13)
+ (64,27,64,29)
(11,69,13,69)
- (21,67,22,67)
+ (69,11,69,13)
(67,21,67,22)
+ (21,67,22,67)
(31,64,34,64)
(64,31,64,34)
(22,68,22,69)
(68,22,69,22)
- (63,34,63,34)
(34,63,34,63)
+ (63,34,63,34)
(26,67,26,69)
(67,26,69,26)
(30,66,30,68)
(66,30,68,30)
- (23,69,25,69)
(69,23,69,25)
+ (23,69,25,69)
(64,38,67,38)
(38,64,38,67)
(68,31,68,34)
@@ -263,20 +450,20 @@
(41,64,41,67)
(45,63,45,64)
(63,45,64,45)
- (64,46,64,48)
(46,64,48,64)
+ (64,46,64,48)
(42,67,45,67)
(67,42,67,45)
- (50,64,53,64)
(64,50,64,53)
+ (50,64,53,64)
(45,68,49,68)
(68,45,68,49)
(66,49,67,49)
(49,66,49,67)
(63,53,63,53)
(53,63,53,63)
- (67,53,69,53)
(53,67,53,69)
+ (67,53,69,53)
(69,54,69,57)
(54,69,57,69)
(59,65,59,67)
@@ -285,12 +472,12 @@
(57,67,58,67)
(67,58,67,58)
(57,68,57,68)
- (60,67,65,67)
(67,60,67,65)
+ (60,67,65,67)
(63,65,63,66)
(65,63,66,63)
- (65,68,65,69)
(68,65,69,65)
+ (65,68,65,69)
(66,69,69,69)
(69,66,69,68)
@@ -317,8 +504,8 @@
(28,27,28,28)
(27,28,27,28)
(17,35,17,38)
- (36,19,38,19)
(19,36,21,36)
+ (36,19,38,19)
(28,30,28,36)
(30,28,36,28)
(36,20,36,21)
@@ -393,25 +580,25 @@
(60,37,60,38)
(35,62,38,62)
(62,35,62,38)
- (57,43,60,43)
(43,57,43,60)
- (50,52,51,52)
+ (57,43,60,43)
(52,50,57,50)
+ (50,52,51,52)
(57,45,57,49)
(45,57,50,57)
- (60,41,60,42)
(41,60,42,60)
+ (60,41,60,42)
(50,53,50,56)
- (62,41,62,45)
(41,62,45,62)
+ (62,41,62,45)
(53,53,57,53)
(45,60,53,60)
(60,45,61,45)
(60,46,60,53)
(53,54,53,57)
(45,61,45,61)
- (53,59,53,59)
(59,53,59,53)
+ (53,59,53,59)
(61,53,62,53)
(53,61,53,62)
(62,54,62,62)
@@ -604,14 +791,17 @@
Wula_DarkEnergy_Generators
AncientsHostile
- 1.98768
- (54,0,32)
-
-
- Wula_DarkEnergy_Generators
- AncientsHostile
- 1.98768663
- (32,0,25)
+ 2
+
+ (25,32,25,32)
+ (32,25,32,25)
+ (25,47,25,47)
+ (47,25,47,25)
+ (32,54,32,54)
+ (54,32,54,32)
+ (47,54,47,54)
+ (54,47,54,47)
+
Wula_Disturber_Turret
@@ -623,42 +813,31 @@
(47,47,47,47)
-
- Wula_DarkEnergy_Generators
- AncientsHostile
- 1.98771334
- (32,0,54)
-
-
- Wula_DarkEnergy_Generators
- AncientsHostile
- 1.98772669
- (25,0,47)
-
-
- Wula_DarkEnergy_Generators
- AncientsHostile
- 1.98775172
- (47,0,25)
-
-
- Wula_DarkEnergy_Generators
- AncientsHostile
- 1.98775339
- (47,0,54)
-
-
- Wula_DarkEnergy_Generators
- AncientsHostile
- 1.98776674
- (25,0,32)
-
-
- Wula_DarkEnergy_Generators
- AncientsHostile
- 1.98778009
- (54,0,47)
-
+
+ WULA_Boss_Super_Fortress_UI_2
+ 未知通讯
+ Wula/Events/Portraits/WULA_Legion_1
+ 「军团」,P.I.A
+
+ 不错,你们确实是我最值得信赖的下属,我还在想这个要塞对你们来说会不会太大了一点。\n\n许可已经给你们准备好了,你们随时可以部署火山炮以打击帝国之敌。现在,把人员从那个堡垒撤出吧,我们的舰队会用舰炮把这里洗个底朝天。
+
+
+
+ 明白了
+ false
+
+
+
+
+ Wula_Disturber_Turret_Technology
+
+
+
+
+
+
+
+
\ 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 c7d6b390..c2ff072e 100644
--- a/1.6/1.6/Defs/ResearchProjectDefs/WULA_ResearchProjects_Remake.xml
+++ b/1.6/1.6/Defs/ResearchProjectDefs/WULA_ResearchProjects_Remake.xml
@@ -522,12 +522,15 @@
Wula_Disturber_Turret_Technology
11.00
0.90
- 中型舰炮许可
- 允许殖民地申请空投四联装舰炮,以毁灭性的等离子风暴连射毁灭一切帝国之敌。
+ 火山炮许可
+ 允许殖民地申请空投四联装火山炮,以毁灭性的熔岩风暴抹去一切帝国之敌。\n\n这种武备对殖民地来说是过剩的,并不是所有的殖民地都有能力拿到这个许可···
4500
-
- WULA_Turret_Base_Mortar_Technology
-
+ 9999
+ 0
+ 0
+
+ Wula_PIA_Legion_Faction
+
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 de2b2a7f..5625d42d 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
@@ -468,8 +468,7 @@
Normal
None
- Wula_Mech_Mobile_Factory
- WULA_Mech_Flyer
+ Wula_Psi_Titan
BuildingsMisc
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 c608c50d..758752ac 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
@@ -486,13 +486,13 @@
6
1.5
-
+
true
@@ -1641,7 +1641,7 @@
CompPowerTrader
- 300
+ 1500
6
diff --git a/1.6/1.6/Defs/ThingDefs_Misc/WULA_Flyover_Item.xml b/1.6/1.6/Defs/ThingDefs_Misc/WULA_Flyover_Item.xml
index f6ac2df6..09cae253 100644
--- a/1.6/1.6/Defs/ThingDefs_Misc/WULA_Flyover_Item.xml
+++ b/1.6/1.6/Defs/ThingDefs_Misc/WULA_Flyover_Item.xml
@@ -2011,7 +2011,7 @@
(1, -31)
- 35
+ 25
WULA_DarkMatterBomb
1
CraterLarge
diff --git a/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Manpack_Weapon.xml b/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Manpack_Weapon.xml
index 8a3d2e49..1cb0a857 100644
--- a/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Manpack_Weapon.xml
+++ b/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Manpack_Weapon.xml
@@ -1173,6 +1173,92 @@
+
+ WULA_RW_SuperLongRange_RF
+ SRr-3"鸣石"
+ 乌拉帝国的重型磁轨狙击枪,射程比制式磁轨狙击枪远得多,虽然需要一些时间瞄准但是拥有堪比战车炮的破坏力。这种现役武器不会轻易下发给边缘世界这样的边陲星区······
+ Spacer
+
+ Wula/Weapon/WULA_RW_SuperLongRange_RF/WULA_RW_SuperLongRange_RF
+ Graphic_Single
+ 1.5
+
+
+ Interact_Rifle
+
+ WULA_RW_SuperLongRange_RF
+
+
+ 1200
+ 3.5
+ 0.3
+ 0.7
+ 1
+ 1
+ 1.5
+
+
+ 300
+ 25
+ 12
+
+
+
+ WulaFallenEmpire.Verb_ShootWithOffset
+ true
+ Bullet_WULA_RW_SuperLongRange_RF
+ 1.75
+ 500
+ 1
+ WULA_RW_Railgun_Shootingsound
+ GunTail_Medium
+ 9
+ false
+
+
+
+
+ Wula/Weapon/WULA_RW_SuperLongRange_RF/WULA_RW_SuperLongRange_RF_Anim
+ 8
+ 8
+
+
+
+
+
+ (0, -1.0)
+
+
+
+
+
+ Bullet_WULA_RW_SuperLongRange_RF
+ 鸣石钢针弹
+ WulaFallenEmpire.Projectile_WulaLineAttack
+
+
+ -1
+ 0
+ true
+ WULA_GunTail_Lighting_Small
+ 0
+ Bullet_WULA_RW_Fractal_RF_Hit
+
+
+
+ Wula/Projectile/WULA_Bullet_Needle_AT
+ Graphic_Single
+ TransparentPostLight
+ 1.4
+
+
+ WULA_Armour_Piercing_Projectile_4_Damage
+ 150
+ 130
+ 2
+ 10
+
+
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 25a1d4b4..75b0e42f 100644
--- a/1.6/1.6/Defs/ThingDefs_Races/Races_Wulaspecies.xml
+++ b/1.6/1.6/Defs/ThingDefs_Races/Races_Wulaspecies.xml
@@ -1011,6 +1011,41 @@
4
+
+ Mech_WULA_Cat_Cloak_Sniper
+ CAt-71"特战猫猫"
+ 由乌拉帝国的进步派叛军改装的乌拉猫猫机械体,手持一把特殊的磁轨狙击枪,可以凭借光学迷彩和娇小身形隐藏在野外,随时准备给敌人一发冷枪。
+ Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_south
+
+
+
+ true
+
+
+ false
+
+
+
+ 0.5
+ 0.5
+
+ 6
+
+
+
+ WULA_Cat_Invisibility
+ 120
+ true
+
+
+
+ WULA_Cat_Invisibility
+
+ 1.0
+ false
+
+
+
diff --git a/1.6/1.6/Defs/ThinkTreeDefs/WULA_AutonomousMech.xml b/1.6/1.6/Defs/ThinkTreeDefs/WULA_AutonomousMech.xml
index 345f9a57..c09c45e7 100644
--- a/1.6/1.6/Defs/ThinkTreeDefs/WULA_AutonomousMech.xml
+++ b/1.6/1.6/Defs/ThinkTreeDefs/WULA_AutonomousMech.xml
@@ -4,6 +4,16 @@
WULA_AutonomousMech
+
+ Mech_WULA_Cat_Cloak_Sniper
+
+
+ 500
+ 500
+
+
+
+
Despawned
diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/DefInjected/QuestScriptDef/WULA_Boss_Super_Fortress.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/DefInjected/QuestScriptDef/WULA_Boss_Super_Fortress.xml
new file mode 100644
index 00000000..a342b125
--- /dev/null
+++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/DefInjected/QuestScriptDef/WULA_Boss_Super_Fortress.xml
@@ -0,0 +1,9 @@
+
+
+
+ questName->特殊任务:清扫巨型要塞
+
+
+ questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个特殊的请求,一座装备了火山炮的<color=#C87451><i>巨型要塞</i></color>被发现,它不处于行星封锁机关的控制下,很可能是叛军的一个根据地,你的殖民地必须使用一切力量将其消灭。行星封锁机关为殖民地提供了以下信息:\n\n<color=#9F0400><i>-先发制人</i></color> 这个要塞已经被乌拉帝国舰队的EMP炮弹攻击过,需要一段时间才能重启防御系统——但是从轰炸效果来说,这个空窗时间可能不会太长\n<color=#9F0400><i>-炼狱号角</i></color> 要塞中有四门火山炮,一旦其重启完成,将对所有进攻部队造成毁灭性打击,应该优先解决\n<color=#9F0400><i>-碉楼林立</i></color> 要塞被多层防御设施所保护,正面攻击会非常花费时间,并且要塞的顶部进行了特别加厚,厚度堪比岩顶\n<color=#9F0400><i>-草木皆兵</i></color> 要塞附近很可能有别的不可见的埋伏,舰队在此处检测到的活动迹象与目视不匹配\n\n行星封锁机关承诺,一旦摧毁<color=#C87451><i>巨型要塞</i></color>,她们就会派遣舰队轰炸残余的设施,并为殖民地开放火山炮的申请权限。
+
+
\ No newline at end of file
diff --git a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_east.dds b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_east.dds
similarity index 100%
rename from 美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_east.dds
rename to Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_east.dds
diff --git a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_east.png b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_east.png
similarity index 100%
rename from 美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_east.png
rename to Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_east.png
diff --git a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_north.dds b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_north.dds
similarity index 100%
rename from 美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_north.dds
rename to Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_north.dds
diff --git a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_north.png b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_north.png
similarity index 100%
rename from 美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_north.png
rename to Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_north.png
diff --git a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_south.dds b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_south.dds
similarity index 100%
rename from 美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_south.dds
rename to Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_south.dds
diff --git a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_south.png b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_south.png
similarity index 100%
rename from 美术与文本源文件/Wula/Things/WULA_Commander_Cat/AllegianceOverlays/None_south.png
rename to Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_south.png
diff --git a/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_east.png b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_east.png
new file mode 100644
index 00000000..3043746c
Binary files /dev/null and b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_east.png differ
diff --git a/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_north.png b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_north.png
new file mode 100644
index 00000000..c59cb496
Binary files /dev/null and b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_north.png differ
diff --git a/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_south.png b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_south.png
new file mode 100644
index 00000000..c1d0e05b
Binary files /dev/null and b/Content/Textures/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_south.png differ
diff --git a/Content/Textures/Wula/Weapon/WULA_RW_DM_AR.png b/Content/Textures/Wula/Weapon/WULA_RW_DM_AR.png
deleted file mode 100644
index d7e62e81..00000000
Binary files a/Content/Textures/Wula/Weapon/WULA_RW_DM_AR.png and /dev/null differ
diff --git a/Content/Textures/Wula/Weapon/WULA_RW_SuperLongRange_RF/WULA_RW_SuperLongRange_RF.png b/Content/Textures/Wula/Weapon/WULA_RW_SuperLongRange_RF/WULA_RW_SuperLongRange_RF.png
new file mode 100644
index 00000000..43d46fa4
Binary files /dev/null and b/Content/Textures/Wula/Weapon/WULA_RW_SuperLongRange_RF/WULA_RW_SuperLongRange_RF.png differ
diff --git a/Content/Textures/Wula/Weapon/WULA_RW_SuperLongRange_RF/WULA_RW_SuperLongRange_RF_Anim.png b/Content/Textures/Wula/Weapon/WULA_RW_SuperLongRange_RF/WULA_RW_SuperLongRange_RF_Anim.png
new file mode 100644
index 00000000..a27ab7a7
Binary files /dev/null and b/Content/Textures/Wula/Weapon/WULA_RW_SuperLongRange_RF/WULA_RW_SuperLongRange_RF_Anim.png differ
diff --git a/Source/WulaFallenEmpire/Pawn/WULA_AutonomousMech/CompAutonomousMech.cs b/Source/WulaFallenEmpire/Pawn/WULA_AutonomousMech/CompAutonomousMech.cs
index cc921a5c..348fc874 100644
--- a/Source/WulaFallenEmpire/Pawn/WULA_AutonomousMech/CompAutonomousMech.cs
+++ b/Source/WulaFallenEmpire/Pawn/WULA_AutonomousMech/CompAutonomousMech.cs
@@ -217,6 +217,12 @@ namespace WulaFallenEmpire
///
private Gizmo CreateWeaponSwitchGizmo()
{
+ // 检查Pawn是否属于玩家派系
+ if (MechPawn?.Faction != Faction.OfPlayer)
+ {
+ return null; // 非玩家派系时不显示
+ }
+
Command_Action switchWeaponCommand = new Command_Action
{
defaultLabel = "WULA_SwitchWeapon".Translate(),
@@ -224,7 +230,6 @@ namespace WulaFallenEmpire
icon = ContentFinder.Get("Wula/UI/Abilities/WULA_WeaponSwitchAbility", false) ?? BaseContent.BadTex,
action = SwitchWeapon
};
-
return switchWeaponCommand;
}
diff --git a/Source/WulaFallenEmpire/Pawn/WULA_Cat_Invisible/CompFighterInvisible.cs b/Source/WulaFallenEmpire/Pawn/WULA_Cat_Invisible/CompFighterInvisible.cs
new file mode 100644
index 00000000..ac35618a
--- /dev/null
+++ b/Source/WulaFallenEmpire/Pawn/WULA_Cat_Invisible/CompFighterInvisible.cs
@@ -0,0 +1,274 @@
+using System.Collections.Generic;
+using RimWorld;
+using UnityEngine;
+using Verse;
+using Verse.AI;
+using Verse.AI.Group;
+using Verse.Sound;
+
+namespace WulaFallenEmpire
+{
+ public class CompFighterInvisible : ThingComp
+ {
+ public CompProperties_FighterInvisible Props => (CompProperties_FighterInvisible)props;
+ [Unsaved(false)]
+ private HediffComp_Invisibility invisibility;
+ private int lastDetectedTick = -99999;
+ private int lastRevealedTick = -99999;
+ private Pawn Sightstealer => (Pawn)parent;
+
+ // 新增:记录最后一次检查敌人的时间
+ private int lastEnemyCheckTick = -99999;
+
+ public HediffDef GetTargetInvisibilityDef()
+ {
+ return Props.InvisibilityDef;
+ }
+
+ // 添加一个属性来检查是否有效
+ private bool IsValid => Sightstealer?.health?.hediffSet != null &&
+ GetTargetInvisibilityDef() != null &&
+ !Sightstealer.IsShambler &&
+ Sightstealer.Spawned &&
+ Sightstealer.Map != null;
+
+ private HediffComp_Invisibility Invisibility
+ {
+ get
+ {
+ if (!IsValid) return null;
+ return invisibility ?? (invisibility = Sightstealer.health.hediffSet
+ .GetFirstHediffOfDef(GetTargetInvisibilityDef())
+ ?.TryGetComp());
+ }
+ }
+
+ public override void PostExposeData()
+ {
+ base.PostExposeData();
+ Scribe_Values.Look(ref lastDetectedTick, "lastDetectedTick", 0);
+ Scribe_Values.Look(ref lastRevealedTick, "lastRevealedTick", 0);
+ Scribe_Values.Look(ref lastEnemyCheckTick, "lastEnemyCheckTick", 0);
+ }
+
+ public override void CompTick()
+ {
+ // 使用统一的有效性检查
+ if (!IsValid || Invisibility == null) return;
+
+ // 检查敌人
+ CheckForEnemiesInSight();
+
+ // 隐身恢复逻辑
+ if (Sightstealer.IsHashIntervalTick(Props.CheckDetectedIntervalTicks))
+ {
+ if (Find.TickManager.TicksGame > lastDetectedTick + Props.stealthCooldownTicks)
+ {
+ Invisibility.BecomeInvisible();
+ }
+ }
+ }
+
+ public override void Notify_UsedVerb(Pawn pawn, Verb verb)
+ {
+ base.Notify_UsedVerb(pawn, verb);
+
+ // 统一的 null 检查
+ if (Invisibility == null) return;
+
+ Invisibility.BecomeVisible();
+ lastDetectedTick = Find.TickManager.TicksGame;
+ }
+
+ ///
+ /// 检查视线内是否有敌人
+ ///
+ private void CheckForEnemiesInSight()
+ {
+
+ // 检查频率:每30 tick检查一次(约0.5秒)
+ if (!Sightstealer.IsHashIntervalTick(30) ||
+ Find.TickManager.TicksGame <= lastEnemyCheckTick + 30)
+ {
+ return;
+ }
+
+ lastEnemyCheckTick = Find.TickManager.TicksGame;
+
+ // 如果配置为只在战斗状态时检查,且当前不在战斗状态,则跳过
+ if (Props.onlyCheckInCombat && !IsInCombatState())
+ {
+ return;
+ }
+
+ // 检查视线内是否有敌人
+ bool enemyInSight = false;
+ List enemiesInSight = new List();
+
+ // 获取地图上所有Pawn
+ IReadOnlyList allPawns = Sightstealer.Map.mapPawns.AllPawnsSpawned;
+
+ foreach (Pawn otherPawn in allPawns)
+ {
+ // 跳过自身
+ if (otherPawn == Sightstealer) continue;
+
+ // 跳过自律机械
+ if (otherPawn.GetComp() != null) continue;
+
+ // 跳过死亡的
+ if (otherPawn.Dead) continue;
+
+ // 跳过倒地的(如果配置为忽略)
+ if (Props.ignoreDownedEnemies && otherPawn.Downed) continue;
+
+ // 跳过睡着的(如果配置为忽略)
+ if (Props.ignoreSleepingEnemies && otherPawn.CurJobDef == JobDefOf.LayDown) continue;
+
+ // 检查是否为敌对关系
+ if (!otherPawn.HostileTo(Sightstealer)) continue;
+
+ // 检查敌人类型过滤器(如果有)
+ if (Props.enemyTypeFilter != null && Props.enemyTypeFilter.Count > 0)
+ {
+ if (!Props.enemyTypeFilter.Contains(otherPawn.def)) continue;
+ }
+
+ // 关键修改:直接检查直线可见性,不使用距离限制
+ if (GenSight.LineOfSight(Sightstealer.Position, otherPawn.Position, Sightstealer.Map))
+ {
+ enemiesInSight.Add(otherPawn);
+ enemyInSight = true;
+
+ // 如果只需要知道是否有敌人,且已经找到一个,可以提前退出循环
+ if (Props.minEnemiesToReveal <= 1)
+ {
+ break;
+ }
+ }
+ }
+
+ // 如果启用敌人检测后解除隐身,并且发现了足够数量的敌人
+ if (enemyInSight && Props.revealOnEnemyInSight && enemiesInSight.Count >= Props.minEnemiesToReveal)
+ {
+ // 立即解除隐身
+ Invisibility.BecomeVisible();
+ lastDetectedTick = Find.TickManager.TicksGame;
+ lastRevealedTick = Find.TickManager.TicksGame;
+
+ // 可选:添加视觉或声音效果
+ if (Props.showRevealEffect)
+ {
+ ShowRevealEffect(enemiesInSight);
+ }
+
+ // 可选:发送消息
+ if (Props.sendRevealMessage && Sightstealer.Faction == Faction.OfPlayer)
+ {
+ SendRevealMessage(enemiesInSight);
+ }
+ }
+ }
+
+ ///
+ /// 检查是否处于战斗状态
+ ///
+ private bool IsInCombatState()
+ {
+ // 如果有当前工作且是战斗相关工作
+ if (Sightstealer.CurJob != null)
+ {
+ JobDef jobDef = Sightstealer.CurJob.def;
+ if (jobDef == JobDefOf.AttackMelee ||
+ jobDef == JobDefOf.AttackStatic ||
+ jobDef == JobDefOf.Wait_Combat ||
+ jobDef == JobDefOf.Flee ||
+ jobDef == JobDefOf.FleeAndCower)
+ {
+ return true;
+ }
+ }
+
+ // 如果有敌人目标
+ if (Sightstealer.mindState.enemyTarget != null)
+ {
+ return true;
+ }
+
+ // 如果最近受到过伤害
+ if (Find.TickManager.TicksGame - Sightstealer.mindState.lastHarmTick < 300) // 最近5秒内受到伤害
+ {
+ return true;
+ }
+
+ // 如果最近攻击过目标
+ if (Find.TickManager.TicksGame - Sightstealer.mindState.lastAttackTargetTick < 300)
+ {
+ return true;
+ }
+
+ return false;
+ }
+
+ ///
+ /// 显示解除隐身的效果
+ ///
+ private void ShowRevealEffect(List enemies)
+ {
+ if (Sightstealer.Map == null) return;
+
+ // 创建一个闪光效果
+ FleckMaker.ThrowLightningGlow(Sightstealer.Position.ToVector3Shifted(),
+ Sightstealer.Map, 2f);
+
+ // 可选:播放声音
+ if (Props.revealSound != null)
+ {
+ Props.revealSound.PlayOneShot(new TargetInfo(Sightstealer.Position, Sightstealer.Map));
+ }
+ }
+
+ ///
+ /// 发送解除隐身消息
+ ///
+ private void SendRevealMessage(List enemies)
+ {
+ if (enemies.Count == 0) return;
+
+ string message;
+ if (enemies.Count == 1)
+ {
+ message = "WFE.RevealedBySingleEnemy".Translate(
+ Sightstealer.LabelShort,
+ enemies[0].LabelShort
+ );
+ }
+ else
+ {
+ message = "WFE.RevealedByMultipleEnemies".Translate(
+ Sightstealer.LabelShort,
+ enemies.Count
+ );
+ }
+
+ Messages.Message(message, Sightstealer, MessageTypeDefOf.NeutralEvent);
+ }
+
+ ///
+ /// 获取下次可以隐身的时间
+ ///
+ public int NextInvisibilityTick => lastDetectedTick + Props.stealthCooldownTicks;
+
+ ///
+ /// 手动触发解除隐身(供外部调用)
+ ///
+ public void ForceReveal()
+ {
+ if (Invisibility == null) return;
+
+ Invisibility.BecomeVisible();
+ lastDetectedTick = Find.TickManager.TicksGame;
+ lastRevealedTick = Find.TickManager.TicksGame;
+ }
+ }
+}
diff --git a/Source/WulaFallenEmpire/Pawn/WULA_Cat_Invisible/CompProperties_FighterInvisible.cs b/Source/WulaFallenEmpire/Pawn/WULA_Cat_Invisible/CompProperties_FighterInvisible.cs
new file mode 100644
index 00000000..f48456db
--- /dev/null
+++ b/Source/WulaFallenEmpire/Pawn/WULA_Cat_Invisible/CompProperties_FighterInvisible.cs
@@ -0,0 +1,73 @@
+using RimWorld;
+using System.Collections.Generic;
+using Verse;
+
+namespace WulaFallenEmpire
+{
+ public class CompProperties_FighterInvisible : CompProperties
+ {
+ public float BaseVisibleRadius = 14f;
+ public int UndetectedTimeout = 120;
+ public int CheckDetectedIntervalTicks = 7;
+ public float FirstDetectedRadius = 30f;
+ public int RevealedLetterDelayTicks = 6;
+ public int AmbushCallMTBTicks = 600;
+
+ // 修改:一个可定义的提供隐身的hediff
+ public HediffDef InvisibilityDef;
+
+ // 隐身冷却
+ public int stealthCooldownTicks = 1200;
+
+ // 新增:是否在视线内出现敌人时解除隐身
+ public bool revealOnEnemyInSight = false;
+
+ // 新增:解除隐身的检测半径(默认为FirstDetectedRadius)
+ public float revealDetectionRadius = 500f;
+
+ // 新增:是否显示解除隐身效果
+ public bool showRevealEffect = true;
+
+ // 新增:解除隐身时的声音
+ public SoundDef revealSound;
+
+ // 新增:是否发送解除隐身消息
+ public bool sendRevealMessage = false;
+
+ // 新增:解除隐身的最小敌人数量(默认为1)
+ public int minEnemiesToReveal = 1;
+
+ // 新增:敌人类型过滤器(空表示所有敌人)
+ public List enemyTypeFilter;
+
+ // 新增:是否只在战斗状态时检查敌人
+ public bool onlyCheckInCombat = false;
+
+ // 新增:是否忽略某些状态的敌人(如倒地、死亡等)
+ public bool ignoreDownedEnemies = true;
+ public bool ignoreSleepingEnemies = false;
+
+ public CompProperties_FighterInvisible()
+ {
+ compClass = typeof(CompFighterInvisible);
+ }
+
+ public override IEnumerable ConfigErrors(ThingDef parentDef)
+ {
+ foreach (string error in base.ConfigErrors(parentDef))
+ {
+ yield return error;
+ }
+
+ if (InvisibilityDef == null)
+ {
+ yield return "InvisibilityDef is not defined for CompProperties_FighterInvisible";
+ }
+
+ if (revealDetectionRadius <= 0)
+ {
+ revealDetectionRadius = FirstDetectedRadius;
+ }
+ }
+ }
+}
diff --git a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj
index d2893ce1..1bf373b7 100644
--- a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj
+++ b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj
@@ -269,6 +269,8 @@
+
+
diff --git a/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_east.dds b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_east.dds
new file mode 100644
index 00000000..b88cc944
Binary files /dev/null and b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_east.dds differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_east.png b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_east.png
new file mode 100644
index 00000000..37b54f7e
Binary files /dev/null and b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_east.png differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_north.dds b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_north.dds
new file mode 100644
index 00000000..b88cc944
Binary files /dev/null and b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_north.dds differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_north.png b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_north.png
new file mode 100644
index 00000000..37b54f7e
Binary files /dev/null and b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_north.png differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_south.dds b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_south.dds
new file mode 100644
index 00000000..b88cc944
Binary files /dev/null and b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_south.dds differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_south.png b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_south.png
new file mode 100644
index 00000000..37b54f7e
Binary files /dev/null and b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/AllegianceOverlays/None_south.png differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_east.png b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_east.png
new file mode 100644
index 00000000..3043746c
Binary files /dev/null and b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_east.png differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_north.png b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_north.png
new file mode 100644
index 00000000..c59cb496
Binary files /dev/null and b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_north.png differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_south.png b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_south.png
new file mode 100644
index 00000000..c1d0e05b
Binary files /dev/null and b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_south.png differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_south.sai2 b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_south.sai2
similarity index 67%
rename from 美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_south.sai2
rename to 美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_south.sai2
index 23b30846..2b45dc33 100644
Binary files a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_south.sai2 and b/美术与文本源文件/Wula/Things/WULA_Cloak_Sniper_Cat/WULA_Cat_Thin_south.sai2 differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_east.png b/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_east.png
deleted file mode 100644
index 6863db28..00000000
Binary files a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_east.png and /dev/null differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_north.png b/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_north.png
deleted file mode 100644
index e674be4f..00000000
Binary files a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_north.png and /dev/null differ
diff --git a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_south.png b/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_south.png
deleted file mode 100644
index ff0ec162..00000000
Binary files a/美术与文本源文件/Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_south.png and /dev/null differ
diff --git a/美术与文本源文件/Wula/Things/WULA_bomb_Cat/WULA_Cat_Thin_south.sai2 b/美术与文本源文件/Wula/Things/WULA_bomb_Cat/WULA_Cat_Thin_south.sai2
index 57a3ff71..79fb771d 100644
Binary files a/美术与文本源文件/Wula/Things/WULA_bomb_Cat/WULA_Cat_Thin_south.sai2 and b/美术与文本源文件/Wula/Things/WULA_bomb_Cat/WULA_Cat_Thin_south.sai2 differ
diff --git a/美术与文本源文件/Wula/Weapon/WULA_RW_DM_AR.sai2 b/美术与文本源文件/Wula/Weapon/WULA_RW_DM_AR.sai2
index 2daa602a..b822f9fe 100644
Binary files a/美术与文本源文件/Wula/Weapon/WULA_RW_DM_AR.sai2 and b/美术与文本源文件/Wula/Weapon/WULA_RW_DM_AR.sai2 differ
diff --git a/美术与文本源文件/Wula/Weapon/WULA_RW_SuperLongRange_RF.sai2 b/美术与文本源文件/Wula/Weapon/WULA_RW_SuperLongRange_RF.sai2
new file mode 100644
index 00000000..1a7c889a
Binary files /dev/null and b/美术与文本源文件/Wula/Weapon/WULA_RW_SuperLongRange_RF.sai2 differ