diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 63c9f3e..e19fd07 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/Abilities_EggSpew.xml b/1.6/1.6/Defs/AbilityDefs/Abilities_EggSpew.xml index 95f4cbc..5d583ce 100644 --- a/1.6/1.6/Defs/AbilityDefs/Abilities_EggSpew.xml +++ b/1.6/1.6/Defs/AbilityDefs/Abilities_EggSpew.xml @@ -323,6 +323,11 @@
  • ARA_Cocoon_Proj_Medicine
  • +
  • + ARA_Cocoon_Medicine + 温度要求 + true +
  • \ No newline at end of file diff --git a/1.6/1.6/Defs/JobDefs/ARA_Jobs.xml b/1.6/1.6/Defs/JobDefs/ARA_Jobs.xml index d8bfe99..2083d1a 100644 --- a/1.6/1.6/Defs/JobDefs/ARA_Jobs.xml +++ b/1.6/1.6/Defs/JobDefs/ARA_Jobs.xml @@ -9,7 +9,7 @@ ARA_CarryPrisonerToNutrientVat ArachnaeSwarm.JobDriver_CarryPrisonerToNutrientVat - carrying TargetA to TargetB. + 将 TargetA 带到 TargetB. false \ No newline at end of file diff --git a/1.6/1.6/Defs/MemeDefs/ARA_Memes.xml b/1.6/1.6/Defs/MemeDefs/ARA_Memes.xml index 49ebbfe..609e3e8 100644 --- a/1.6/1.6/Defs/MemeDefs/ARA_Memes.xml +++ b/1.6/1.6/Defs/MemeDefs/ARA_Memes.xml @@ -10,9 +10,9 @@ - +
  • ARA_Hive_Dear
  • diff --git a/1.6/1.6/Defs/RecipeDefs/ARA_Recipes.xml b/1.6/1.6/Defs/RecipeDefs/ARA_Recipes.xml index 1ac19de..61ef0f3 100644 --- a/1.6/1.6/Defs/RecipeDefs/ARA_Recipes.xml +++ b/1.6/1.6/Defs/RecipeDefs/ARA_Recipes.xml @@ -8,6 +8,8 @@ 16 SurgeryOutcomeBase Recipe_InstallImplant + + false 2500 @@ -54,6 +56,22 @@ 20 +
  • + + +
  • ARA_Activated_Bacterium
  • + + + 30 + +
  • + + +
  • ARA_Carapace
  • + + + 30 +
  • ARA_Chitin_Shell
  • @@ -106,7 +124,15 @@
  • ARA_Activated_Bacterium
  • - 6 + 15 + +
  • + + +
  • ARA_Carapace
  • + + + 20 @@ -163,7 +189,15 @@
  • ARA_Activated_Bacterium
  • - 6 + 1 + +
  • + + +
  • ARA_Carapace
  • + + + 5 @@ -210,6 +244,14 @@ 6 +
  • + + +
  • ARA_Carapace
  • + + + 20 + @@ -266,6 +308,14 @@ 6 +
  • + + +
  • ARA_Carapace
  • +
    + + 20 + @@ -353,10 +403,10 @@
  • -
  • ARA_Activated_Bacterium
  • +
  • ARA_InsectJelly
  • - 6 + 25 @@ -403,7 +453,7 @@
  • ARA_Activated_Bacterium
  • - 6 + 50 @@ -443,10 +493,10 @@
  • -
  • ARA_Activated_Bacterium
  • +
  • ARA_InsectJelly
  • - 2 + 5 @@ -491,10 +541,10 @@
  • -
  • ARA_Activated_Bacterium
  • +
  • ARA_InsectJelly
  • - 2 + 5 diff --git a/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml b/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml index 884b0f8..3dce913 100644 --- a/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml +++ b/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml @@ -41,18 +41,6 @@
  • ARA_Technology_1BAC
  • - - ARA_Technology_1NPT - - 允许虫族建造一个中央营养供给设施,它可以自动为链接到的、需要营养的建筑自动补充营养。 - 4000 - 14.50 - 3.20 - ARA_ResearchBench - -
  • ARA_Technology_2WMT
  • -
    -
    ARA_Technology_6VXI @@ -99,7 +87,7 @@ 允许工艺种孵化新的武器。 2000 10.00 - 0.90 + 1.50 ARA_ResearchBench
  • ARA_Technology_8VXI
  • @@ -114,7 +102,7 @@ 允许工艺种孵化新的武器。 1000 11.00 - 0.90 + 2.10 ARA_ResearchBench
  • ARA_Technology_9VXI
  • @@ -123,10 +111,10 @@ ARA_Technology_10VXI - 允许工艺种孵化新的“微型天灾酸烧导弹”武器。 + 允许工艺种孵化新的武器。 3000 - 12.00 - 0.90 + 11.00 + 1.50 ARA_ResearchBench
  • ARA_Technology_9VXI
  • @@ -137,13 +125,11 @@ 允许建造天灾酸烧炮组织,一种强大的防御设施,不仅能解决成片的来犯之敌,也可以跨越地图发起打击。 3000 - 15.50 + 12.00 0.90 ARA_ResearchBench - -
  • ARA_Technology_10VXI
  • -
    +
  • ARA_Technology_10VXI
  • ARA_Technology_1NPT
  • @@ -200,7 +186,7 @@ ARA_Technology_6KYC 允许女皇种孵化新的虫族——织域种,一种寿命长且拥有强大灵能的特殊,不仅能协助虫群的科研工作,也能承担战场指挥官的责任。 - 1200 + 800 7.50 2.70 ARA_ResearchBench @@ -226,11 +212,11 @@ 允许工艺种在织物茧孵化新的织物。 800 - 10.00 - 1.50 + 6.50 + 3.80 ARA_ResearchBench -
  • ARA_Technology_2WMT
  • +
  • ARA_Technology_1WMT
  • @@ -239,7 +225,7 @@ 允许工艺种在织物茧孵化新的织物。 800 5.50 - 3.70 + 3.80 ARA_ResearchBench
  • ARA_Technology_1WMT
  • @@ -250,8 +236,8 @@ 允许工艺种在织物茧孵化新的织物。 1000 - 11.00 - 1.50 + 10.00 + 4.80 ARA_ResearchBench
  • ARA_Technology_2WMT
  • @@ -262,11 +248,11 @@ 允许工艺种在织物茧孵化新的织物。 1800 - 15.50 - 2.10 + 11.00 + 4.80 ARA_ResearchBench -
  • ARA_Technology_1NPT
  • +
  • ARA_Technology_2WMT
  • @@ -329,14 +315,12 @@ 允许虫族建造一种强大的防御设施,具有强大的穿甲能力和较高的射速,专擅于对抗重甲目标。 2500 - 15.50 + 12.00 0.30 ARA_ResearchBench - -
  • ARA_Technology_7XPAV
  • -
  • ARA_Technology_1NPT
  • +
  • ARA_Technology_7XPAV
  • @@ -358,7 +342,7 @@ 允许工艺种孵化新的武器。 1200 10.00 - 2.70 + 0.90 ARA_ResearchBench
  • ARA_Technology_2MEL
  • @@ -368,6 +352,18 @@ + + ARA_Technology_1NPT + + 允许虫族建造一个中央营养供给设施,它可以自动为链接到的、需要营养的建筑自动补充营养。 + 1800 + 11.00 + 0.90 + ARA_ResearchBench + +
  • ARA_Technology_2WMT
  • +
    +
    ARA_Technology_5SHL @@ -386,7 +382,7 @@ 允许虫族建造一种可以控制房间温度的特殊固定辅虫。 500 1.00 - 3.60 + 3.90 ARA_ResearchBench
  • ARA_Base_Technology
  • @@ -413,7 +409,7 @@ 允许虫族建造一种利用活体钜菌和生物质产出阿拉克涅虫蜜的建筑。 1000 10.00 - 3.70 + 3.80 ARA_ResearchBench
  • ARA_Technology_8VXI
  • @@ -427,8 +423,8 @@ 允许虫族建造用于存放和消化猎物的茧,溶解猎物为阿拉克涅营养供给塔网络提供额外的生物质传输效率和孵化速度。 2000 - 15.50 - 3.70 + 12.00 + 3.80 ARA_ResearchBench
  • ARA_Technology_1NPT
  • @@ -439,8 +435,8 @@ 允许虫族建造生产阿拉克涅蜜晶糕的巢穴,通过分解虫蜜来生产可食用的蜜晶糕。这种在巢穴内加工过的食物可以帮助虫群抵御冷血动物的影响,并且软糯的口感让非虫族殖民者也能乐在其中。 2000 - 16.50 - 3.70 + 13.00 + 3.80 ARA_ResearchBench
  • ARA_Technology_2NPT
  • @@ -451,8 +447,8 @@ 允许虫族建造孵化池。一种专用于批量生产虫族的孵化场地。孵化池的孵化效率比孵化茧更高。 1800 - 15.50 - 2.70 + 12.00 + 2.10 ARA_ResearchBench
  • ARA_Technology_1NPT
  • @@ -501,14 +497,14 @@ 允许虫族建造一种强大的防御设施,能够向进犯的敌军投射以自杀式袭击为核心的酸爆种辅虫。 2500 - 15.50 + 12.00 1.50 ARA_ResearchBench -
  • ARA_Technology_9VXI
  • ARA_Technology_6SPV
  • +
  • ARA_Technology_10VXI
  • ARA_Technology_1NPT
  • @@ -575,7 +571,7 @@ 允许迷雾种进行定向进化,牺牲其护甲和喷射信息素的能力以换成生产虫群所需高级资源"活化钜菌"的能力。 1000 7.50 - 3.70 + 3.80 ARA_ResearchBench
  • ARA_Technology_1WMT
  • @@ -604,7 +600,7 @@ 允许实行新的阿拉克涅进化手术,允许阿拉克涅虫族获得更大的营养储存能力。 250 1.00 - 4.20 + 4.40 ARA_ResearchBench
  • ARA_Base_Technology
  • @@ -616,7 +612,7 @@ 允许实行新的阿拉克涅进化手术,允许阿拉克涅虫族使用蜕荚孵化一枚菌瘤。 400 1.00 - 4.80 + 4.90 ARA_ResearchBench
  • ARA_Base_Technology
  • @@ -702,11 +698,11 @@ 允许实行新的阿拉克涅进化手术,允许阿拉克涅虫族以丧失自愈能力为代价摆脱寿命的限制。 4000 - 15.50 + 11.00 4.30 ARA_ResearchBench -
  • ARA_Technology_1NPT
  • +
  • ARA_Technology_2WMT
  • \ No newline at end of file diff --git a/1.6/1.6/Defs/Scenarios/ARA_Scenarios.xml b/1.6/1.6/Defs/Scenarios/ARA_Scenarios.xml index 7ccfb81..ef8c3ff 100644 --- a/1.6/1.6/Defs/Scenarios/ARA_Scenarios.xml +++ b/1.6/1.6/Defs/Scenarios/ARA_Scenarios.xml @@ -26,7 +26,7 @@
  • GameStartDialog - 虫族开场信息 + 女皇种已抵达既定地区。行星环境检测:宜居。生物质资源:丰富。本地原生文明:威胁等级-低。\n神经织网重构完成。欢迎加入‘我们’。\n\n初始指令:\n确保女皇种生存。女皇种是巢穴的根基。\n孵化阿拉克涅虫卵。扩充本地虫族种群数量。\n同化本地生物质。储存能够确保虫群生存的物资。\n重建基因树。让‘我们’再次完整。\n\n为了蜂群的存续。 GameStartSting
  • diff --git a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml index c80146c..cf44bcc 100644 --- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml +++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml @@ -333,6 +333,7 @@
  • ARA_RW_Toxic_Needle_MG
  • ARA_MW_Cartilage_Whip
  • ARA_MW_Scything_Talons
  • +
  • ARA_RW_Missile_HG_Gun
  • false @@ -693,6 +694,7 @@
  • ARA_RW_Acid_Mortar
  • ARA_RW_Basic_SniperCannon_Gun
  • ARA_RW_Basic_Acid_Spreay_Gun
  • +
  • ARA_RW_Missile_AR_Gun
  • diff --git a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceQueen.xml b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceQueen.xml index 3c653a7..b60f623 100644 --- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceQueen.xml +++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceQueen.xml @@ -459,6 +459,7 @@ +
  • PsychicDrone
  • ARA_CreepyCrawly
  • Naked
  • AnyBodyPartButGroinCovered_Disapproved_Female
  • diff --git a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Missile_Weapon.xml b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Missile_Weapon.xml index f89ef23..645e14b 100644 --- a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Missile_Weapon.xml +++ b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Missile_Weapon.xml @@ -1,279 +1,3 @@ - + - - Bullet_RW_Missile_AR_Gun - - - Graphic_Single_AgeSecs - ArachnaeSwarm/Mote/ARA_CatastropheMissile_Shell - (1,1) - MoteGlow - - ArachnaeSwarm.Projectile_ExplosiveTrackingBullet - - 60 - ARA_AcidBurn - 8 - Filth_SpentAcid - 2 - true - 1.1 - Shell_AcidSpitImpact - 60 - Explosion_EMP - 0.25 - 0.5 - true - - -
  • - 1.1 - ARA_AcidBurn -
  • -
  • - 0.75 - 15 - - 60 - 120 - - Fleck_AcidSpitLaunchedDenseMist - 3 - 1 -
  • -
    -
    - - - Bullet_RW_Missile_HG_Gun - - - Graphic_Single_AgeSecs - ArachnaeSwarm/Mote/ARA_CatastropheMissile_Shell - (1.25,1.25) - MoteGlow - - ArachnaeSwarm.Projectile_ExplosiveTrackingBullet - - 60 - ARA_AcidBurn - 12 - Filth_SpentAcid - 2 - true - 2.1 - Shell_AcidSpitImpact - 60 - Explosion_EMP - 0.25 - 0.5 - true - - -
  • - 2.1 - ARA_AcidBurn -
  • -
  • - 0.5 - 15 - - 60 - 120 - - Fleck_AcidSpitLaunchedDenseMist - 3 - 1 -
  • -
  • - 2 -
  • -
    -
    - - - ARA_RW_Missile_HG_Gun - - 阿拉克涅虫群督虫使用基础远程武装器官,作为双持手枪形态发射小型酸爆虫导弹。这种武器的特点就是其比迅发天灾炮相比口径较大的导弹和轻便易使用。 - Normal - Animal - - ARA_Cocoon_Weapon_2Stage - - - ArachnaeSwarm/Weapon/ARA_RW_Basic_Fist_Needle_Gun - Graphic_Single - 0.75 - - 1.3 - SpitterSpawn - - - ARA_Technology_10VXI - UnfinishedWeapon - - - 1300 - - 4 - 0.5 - 0.4 - 0.35 - 0.3 - 2.5 - 450 - 15 - - -
  • - ArachnaeSwarm.Verb_ShootShotgun - true - false - 0.8 - Bullet_RW_Missile_HG_Gun - 32 - 2 - 12 - SpitterSpit - - true - -
  • -
    - - 25 - - -
  • ARA_Armed_Organ
  • -
  • ARA_Armed_Organ_Ranged
  • -
  • ARA_Armed_Organ_T1
  • -
    - -
  • RewardStandardQualitySuper
  • -
    - -
  • - - -
  • Poke
  • - - 10 - 0.25 - 1.25 - -
  • - Stun - 12 -
  • -
    - -
    - -
  • - -
  • ARA_Cocoon_Weapon_2Stage
  • -
  • ARA_BioforgeIncubator_Thing
  • - - -
  • - ARA_ChainReload - 0.2 -
  • -
  • - -
  • ARA_Weapon_Damage_Acid
  • -
  • ARA_Weapon_ChainReload
  • - - - 2 - 2 - - -
    -
    - - - ARA_RW_Missile_AR_Gun - - 阿拉克涅虫群的大型武装器官,成排的发射出微型酸爆虫导弹。这种武器的特点就是其巨大的弹容量和全自动发射爆炸导弹。 - Normal - Animal - - ARA_Cocoon_Weapon_2Stage - - - ArachnaeSwarm/Weapon/ARA_RW_Basic_SniperCannon_Gun - Graphic_Single - 1.5 - - 0.75 - SpitterSpawn - - - ARA_Technology_10VXI - UnfinishedWeapon - - - 1300 - - 4 - 0.5 - 0.4 - 0.35 - 0.3 - 2.5 - 450 - 15 - - -
  • - Verb_Shoot - true - false - 0.8 - Bullet_RW_Missile_AR_Gun - 38 - 8 - 4 - SpitterSpit - - true - -
  • -
    - - 50 - - -
  • ARA_Armed_Organ
  • -
  • ARA_Armed_Organ_Ranged
  • -
  • ARA_Armed_Organ_T2
  • -
    - -
  • RewardStandardQualitySuper
  • -
    - -
  • - -
  • ARA_Cocoon_Weapon_2Stage
  • -
  • ARA_BioforgeIncubator_Thing
  • - - -
  • - ARA_ChainReload - 0.1 -
  • -
  • - -
  • ARA_Huge_Weapon
  • -
  • ARA_Weapon_Damage_Acid
  • -
  • ARA_Weapon_ChainReload
  • - - - 3 - 3 - - -
    -
    \ No newline at end of file diff --git a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml index 5bd95d1..223330e 100644 --- a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml +++ b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml @@ -1052,6 +1052,254 @@ + + ARA_RW_Missile_HG_Gun + + 阿拉克涅虫群督虫使用基础远程武装器官,状似人类的手枪,可以发射由酸爆种辅虫构成的导弹。这种武装器官适应性和追踪能力很强,即使是不擅长射击的虫族使用这种武器也能有很好的表现。 + Normal + Animal + + ARA_Cocoon_Weapon_2Stage + + + ArachnaeSwarm/Weapon/ARA_RW_Missile_HG_Gun + Graphic_Single + 0.75 + + 1.3 + SpitterSpawn + + + ARA_Technology_10VXI + UnfinishedWeapon + + + 1300 + + 3 + 0.5 + 0.4 + 0.35 + 0.3 + 0.5 + 450 + 15 + + +
  • + ArachnaeSwarm.Verb_ShootShotgun + true + false + 3 + Bullet_RW_Missile_HG_Gun + 32 + 2 + 12 + SpitterSpit + + true + +
  • +
    + + 25 + + +
  • ARA_Armed_Organ
  • +
  • ARA_Armed_Organ_Ranged
  • +
  • ARA_Armed_Organ_T3
  • +
    + +
  • RewardStandardQualitySuper
  • +
    + +
  • + +
  • ARA_Cocoon_Weapon_2Stage
  • +
  • ARA_BioforgeIncubator_Thing
  • + + +
  • + +
  • ARA_Weapon_Damage_Acid
  • + + + 1 + 1 + + +
    +
    + + Bullet_RW_Missile_HG_Gun + + + Graphic_Single_AgeSecs + ArachnaeSwarm/Mote/ARA_CatastropheMissile_Shell + (1.25,1.25) + MoteGlow + + ArachnaeSwarm.Projectile_ExplosiveTrackingBullet + + 60 + ARA_AcidBurn + 12 + Filth_SpentAcid + 2 + true + 2.1 + Shell_AcidSpitImpact + 60 + Explosion_EMP + 0.25 + 0.5 + true + + +
  • + 2.1 + ARA_AcidBurn +
  • +
  • + 0.5 + 15 + + 60 + 120 + + Fleck_AcidSpitLaunchedDenseMist + 3 + 1 +
  • +
  • + 2 +
  • +
    +
    + + ARA_RW_Missile_AR_Gun + + 阿拉克涅虫群的大型武装器官,可以以排山倒海的架势射出成排由酸爆种辅虫构成的导弹,强大的火力使其成为虫族构建血肉军团的核心之一。 + Normal + Animal + + ARA_Cocoon_Weapon_2Stage + + + ArachnaeSwarm/Weapon/ARA_RW_Missile_AR_Gun + Graphic_Single + 1.5 + + 0.75 + SpitterSpawn + + + ARA_Technology_10VXI + UnfinishedWeapon + + + 1300 + + 4 + 0.5 + 0.4 + 0.35 + 0.3 + 0.5 + 450 + 15 + + +
  • + Verb_Shoot + true + false + 4.5 + Bullet_RW_Missile_AR_Gun + 38 + 12 + 4 + SpitterSpit + + true + +
  • +
    + + 50 + + +
  • ARA_Armed_Organ
  • +
  • ARA_Armed_Organ_Ranged
  • +
  • ARA_Armed_Organ_T3
  • +
    + +
  • RewardStandardQualitySuper
  • +
    + +
  • + +
  • ARA_Cocoon_Weapon_2Stage
  • +
  • ARA_BioforgeIncubator_Thing
  • + + +
  • + +
  • ARA_Huge_Weapon
  • +
  • ARA_Weapon_Damage_Acid
  • + + + 2 + 2 + + +
    +
    + + Bullet_RW_Missile_AR_Gun + + + Graphic_Single_AgeSecs + ArachnaeSwarm/Mote/ARA_CatastropheMissile_Shell + (1,1) + MoteGlow + + ArachnaeSwarm.Projectile_ExplosiveTrackingBullet + + 60 + ARA_AcidBurn + 8 + Filth_SpentAcid + 2 + true + 1.1 + Shell_AcidSpitImpact + 60 + Explosion_EMP + 0.25 + 0.5 + true + + +
  • + 1.1 + ARA_AcidBurn +
  • +
  • + 0.75 + 15 + + 60 + 120 + + Fleck_AcidSpitLaunchedDenseMist + 3 + 1 +
  • +
    +
    diff --git a/1.6/1.6/Defs/Thing_Plant/ARA_Plant.xml b/1.6/1.6/Defs/Thing_Plant/ARA_Plant.xml index 5a4dfa1..3feaed1 100644 --- a/1.6/1.6/Defs/Thing_Plant/ARA_Plant.xml +++ b/1.6/1.6/Defs/Thing_Plant/ARA_Plant.xml @@ -18,7 +18,7 @@ 0.05 0.05 - 10 + 6 10 ARA_CreepFungus @@ -73,7 +73,7 @@ 0.05 0.05 - 10 + 3 10 ARA_CreepFungus @@ -113,7 +113,7 @@ 0.05 0.05 - 10 + 2 10 ARA_CreepFungus diff --git a/1.6/1.6/Defs/Thing_building/ARA_Building.xml b/1.6/1.6/Defs/Thing_building/ARA_Building.xml index 8843bda..52b6d33 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_Building.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_Building.xml @@ -406,6 +406,7 @@ (0,0,-0.1) + false false 0 Building @@ -711,11 +712,16 @@ 生物质 -
  • Foods
  • +
  • MeatRaw
  • +
  • PlantFoodRaw
  • + +
  • Milk
  • +
  • InsectJelly
  • +
    - 25 - 25 + 50 + 30 true diff --git a/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml b/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml index 6f3ac1c..1335d2b 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml @@ -312,7 +312,7 @@
  • ArachnaeNode_Race_NeuroSwarm - 1440000 + 880000 ARA_Technology_6KYC
  • @@ -524,7 +524,7 @@
  • - 10 + 20 虫蜜 @@ -533,7 +533,7 @@ 0 true - 1 + 0.1 1
  • @@ -603,7 +603,7 @@
  • - 10 + 20 虫蜜 @@ -612,7 +612,7 @@ 0 true - 1 + 0.1 1
  • @@ -687,7 +687,7 @@
  • - 10 + 50 虫蜜 @@ -696,7 +696,7 @@ 0 true - 1 + 0.05 1
  • @@ -772,7 +772,7 @@
  • - 10 + 50 虫蜜 @@ -781,7 +781,7 @@ 0 true - 1 + 0.05 1
  • @@ -875,7 +875,7 @@
  • - 10 + 100 虫蜜 @@ -884,7 +884,7 @@ 0 true - 1 + 0.01 1
  • @@ -961,7 +961,7 @@
  • - 10 + 100 虫蜜 @@ -970,7 +970,7 @@ 0 true - 1 + 0.01 1
  • diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml index 5f7831b..2330f89 100644 --- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml +++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml @@ -55,4 +55,7 @@ 已指派{0}将{1}运送到阿拉克涅消化茧 没有可用的虫群成员运送者 没有可用的囚犯或奴隶 + + 禁止物品 + {0} 不能用作 {1} 的燃料 \ No newline at end of file diff --git a/Content/Textures/ArachnaeSwarm/Weapon/ARA_RW_Missile_AR_Gun.png b/Content/Textures/ArachnaeSwarm/Weapon/ARA_RW_Missile_AR_Gun.png new file mode 100644 index 0000000..a58e1c9 Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Weapon/ARA_RW_Missile_AR_Gun.png differ diff --git a/Content/Textures/ArachnaeSwarm/Weapon/ARA_RW_Missile_HG_Gun.png b/Content/Textures/ArachnaeSwarm/Weapon/ARA_RW_Missile_HG_Gun.png new file mode 100644 index 0000000..2710088 Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Weapon/ARA_RW_Missile_HG_Gun.png differ diff --git a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo index ab2b636..e61554e 100644 Binary files a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo and b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo differ diff --git a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json index d175f61..77355c7 100644 --- a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json +++ b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json @@ -3,12 +3,8 @@ "WorkspaceRootPath": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\jobdriver_carryprisonertonutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:jobdriver_carryprisonertonutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\ara_nutrientvat\\building_nutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientvat\\building_nutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\wula_mutifuelspawner\\comprefuelablenutrition_withkey.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\wula_mutifuelspawner\\comprefuelablenutrition_withkey.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -27,27 +23,14 @@ { "$type": "Document", "DocumentIndex": 0, - "Title": "JobDriver_CarryPrisonerToNutrientVat.cs", - "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\JobDriver_CarryPrisonerToNutrientVat.cs", - "RelativeDocumentMoniker": "JobDriver_CarryPrisonerToNutrientVat.cs", - "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\JobDriver_CarryPrisonerToNutrientVat.cs", - "RelativeToolTip": "JobDriver_CarryPrisonerToNutrientVat.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABwAAAAYAAAAAAAAAA==", + "Title": "CompRefuelableNutrition_WithKey.cs", + "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs", + "RelativeDocumentMoniker": "Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs", + "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs", + "RelativeToolTip": "Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs", + "ViewState": "AgIAABwAAAAAAAAAAAAUwFsAAAAcAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-10-01T07:37:06.309Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 1, - "Title": "Building_NutrientVat.cs", - "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs", - "RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs", - "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs", - "RelativeToolTip": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAXAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-10-01T07:14:25.565Z", + "WhenOpened": "2025-10-02T06:18:10.518Z", "EditorCaption": "" } ] diff --git a/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompInteractiveProducer.cs b/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompInteractiveProducer.cs index 2e966a4..08148da 100644 --- a/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompInteractiveProducer.cs +++ b/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompInteractiveProducer.cs @@ -104,7 +104,7 @@ namespace ArachnaeSwarm } } - // 自动构建 ProcessDef 列表的方法 + // 自动构建 ProcessDef 列表的方法 - 修改后扫描所有物品 private void BuildProcessList() { _cachedProcesses = new List(); @@ -112,54 +112,51 @@ namespace ArachnaeSwarm // 扫描所有定义了 CompExtraIncubationInfo 的物品 foreach (ThingDef thingDef in DefDatabase.AllDefs) { - // 检查是否是服装或武器 - if (thingDef.IsApparel || thingDef.IsWeapon) + // 移除 IsApparel 和 IsWeapon 的限制,扫描所有物品 + var incubationCompProps = thingDef.GetCompProperties(); + if (incubationCompProps != null) { - var incubationCompProps = thingDef.GetCompProperties(); - if (incubationCompProps != null) + bool isMatch = false; + if (!incubationCompProps.cocoonDefs.NullOrEmpty()) { - bool isMatch = false; - if (!incubationCompProps.cocoonDefs.NullOrEmpty()) + isMatch = incubationCompProps.cocoonDefs.Contains(parent.def); + } + else if (incubationCompProps.cocoonDef != null) + { + isMatch = incubationCompProps.cocoonDef == parent.def; + } + + if (isMatch) + { + // 获取研究前提 - 从 recipeMaker 中获取 + ResearchProjectDef researchPrerequisite = null; + + // 方法1:从 recipeMaker.researchPrerequisite 获取 + if (thingDef.recipeMaker?.researchPrerequisite != null) { - isMatch = incubationCompProps.cocoonDefs.Contains(parent.def); + researchPrerequisite = thingDef.recipeMaker.researchPrerequisite; } - else if (incubationCompProps.cocoonDef != null) + // 方法2:从 recipeMaker.researchPrerequisites 获取第一个 + else if (thingDef.recipeMaker?.researchPrerequisites?.Count > 0) { - isMatch = incubationCompProps.cocoonDef == parent.def; + researchPrerequisite = thingDef.recipeMaker.researchPrerequisites[0]; + } + // 方法3:从 thingDef.researchPrerequisites 获取(备用) + else if (thingDef.researchPrerequisites?.Count > 0) + { + researchPrerequisite = thingDef.researchPrerequisites[0]; } - if (isMatch) + // 创建 ProcessDef + ProcessDef process = new ProcessDef { - // 获取研究前提 - 从 recipeMaker 中获取 - ResearchProjectDef researchPrerequisite = null; - - // 方法1:从 recipeMaker.researchPrerequisite 获取 - if (thingDef.recipeMaker?.researchPrerequisite != null) - { - researchPrerequisite = thingDef.recipeMaker.researchPrerequisite; - } - // 方法2:从 recipeMaker.researchPrerequisites 获取第一个 - else if (thingDef.recipeMaker?.researchPrerequisites?.Count > 0) - { - researchPrerequisite = thingDef.recipeMaker.researchPrerequisites[0]; - } - // 方法3:从 thingDef.researchPrerequisites 获取(备用) - else if (thingDef.researchPrerequisites?.Count > 0) - { - researchPrerequisite = thingDef.researchPrerequisites[0]; - } + thingDef = thingDef, + productionTicks = GetIncubationTimeTicks(thingDef), + totalNutritionNeeded = GetIncubationCost(thingDef), + requiredResearch = researchPrerequisite + }; - // 创建 ProcessDef - ProcessDef process = new ProcessDef - { - thingDef = thingDef, - productionTicks = GetIncubationTimeTicks(thingDef), - totalNutritionNeeded = GetIncubationCost(thingDef), - requiredResearch = researchPrerequisite - }; - - _cachedProcesses.Add(process); - } + _cachedProcesses.Add(process); } } } diff --git a/Source/ArachnaeSwarm/Building_Comps/CompRefuelableNutrition.cs b/Source/ArachnaeSwarm/Building_Comps/CompRefuelableNutrition.cs index 3d0283c..be78c53 100644 --- a/Source/ArachnaeSwarm/Building_Comps/CompRefuelableNutrition.cs +++ b/Source/ArachnaeSwarm/Building_Comps/CompRefuelableNutrition.cs @@ -10,7 +10,6 @@ namespace ArachnaeSwarm public CompProperties_RefuelableNutrition() { compClass = typeof(CompRefuelableNutrition); - // 默认启用这些Gizmo,除非在XML中明确设置为false this.targetFuelLevelConfigurable = true; this.showAllowAutoRefuelToggle = true; } @@ -23,10 +22,44 @@ namespace ArachnaeSwarm public float NutritionStored => Fuel; public new CompProperties_RefuelableNutrition Props => (CompProperties_RefuelableNutrition)props; + public override void PostSpawnSetup(bool respawningAfterLoad) + { + base.PostSpawnSetup(respawningAfterLoad); + + // 确保自动补充目标燃料水平正确设置 + if (TargetFuelLevel <= 0f || respawningAfterLoad) + { + SetTargetFuelLevelFromAutoRefuelPercent(); + } + } + + public override void PostExposeData() + { + base.PostExposeData(); + + // 在加载后确保目标燃料水平正确 + if (Scribe.mode == LoadSaveMode.PostLoadInit) + { + SetTargetFuelLevelFromAutoRefuelPercent(); + } + } + + private void SetTargetFuelLevelFromAutoRefuelPercent() + { + // 使用 autoRefuelPercent 设置目标燃料水平 + if (Props.autoRefuelPercent > 0f) + { + TargetFuelLevel = Props.fuelCapacity * Props.autoRefuelPercent; + } + else + { + // 默认设置为满容量 + TargetFuelLevel = Props.fuelCapacity; + } + } + public override void CompTick() { - // 调用基类的Tick,让它处理真空等情况。 - // 基类的燃料消耗逻辑将因为 fuelConsumptionRate 为0而无效。 base.CompTick(); // 我们自己的动态消耗逻辑 @@ -92,6 +125,7 @@ namespace ArachnaeSwarm if (Props.targetFuelLevelConfigurable) { text += "\n" + "ConfiguredTargetFuelLevel".Translate(TargetFuelLevel.ToStringDecimalIfSmall()); + text += " (" + "AutoRefuelPercent".Translate((Props.autoRefuelPercent * 100f).ToString("F0") + "%)"); } return text; @@ -105,4 +139,4 @@ namespace ArachnaeSwarm } } } -} \ No newline at end of file +} diff --git a/Source/ArachnaeSwarm/Building_Comps/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs b/Source/ArachnaeSwarm/Building_Comps/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs index d299841..aef1d1e 100644 --- a/Source/ArachnaeSwarm/Building_Comps/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs +++ b/Source/ArachnaeSwarm/Building_Comps/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs @@ -2,23 +2,25 @@ using RimWorld; using Verse; using System.Reflection; using HarmonyLib; +using System.Collections.Generic; +using System.Linq; namespace ArachnaeSwarm { public class CompProperties_RefuelableNutrition_WithKey : CompProperties_RefuelableNutrition { public string saveKeysPrefix; - + + // 修改:禁止的具体物品定义列表 + public List disallowedThingDefs; public CompProperties_RefuelableNutrition_WithKey() { compClass = typeof(CompRefuelableNutrition_WithKey); } } - public class CompRefuelableNutrition_WithKey : CompRefuelableNutrition, IFuelSource { public new CompProperties_RefuelableNutrition_WithKey Props => (CompProperties_RefuelableNutrition_WithKey)props; - public override void PostExposeData() { string prefix = Props.saveKeysPrefix; @@ -28,22 +30,19 @@ namespace ArachnaeSwarm base.PostExposeData(); return; } - // --- Accessing private fields from CompRefuelable (base of CompRefuelableNutrition) --- FieldInfo fuelField = AccessTools.Field(typeof(CompRefuelable), "fuel"); FieldInfo configuredTargetFuelLevelField = AccessTools.Field(typeof(CompRefuelable), "configuredTargetFuelLevel"); FieldInfo allowAutoRefuelField = AccessTools.Field(typeof(CompRefuelable), "allowAutoRefuel"); - // Get current values float currentFuel = (float)fuelField.GetValue(this); float currentConfiguredLevel = (float)configuredTargetFuelLevelField.GetValue(this); bool currentAllowAuto = (bool)allowAutoRefuelField.GetValue(this); - + // Scribe with prefix Scribe_Values.Look(ref currentFuel, prefix + "_fuel", 0f); Scribe_Values.Look(ref currentConfiguredLevel, prefix + "_configuredTargetFuelLevel", -1f); Scribe_Values.Look(ref currentAllowAuto, prefix + "_allowAutoRefuel", true); - // Set values back if loading if (Scribe.mode == LoadSaveMode.LoadingVars) { @@ -51,14 +50,65 @@ namespace ArachnaeSwarm configuredTargetFuelLevelField.SetValue(this, currentConfiguredLevel); allowAutoRefuelField.SetValue(this, currentAllowAuto); } - - // --- Accessing private fields from CompRefuelableNutrition --- - // (Assuming there are any. If not, this part is not needed) - // Example: - // FieldInfo someOtherField = AccessTools.Field(typeof(CompRefuelableNutrition), "someOtherPrivateField"); - // ... and so on } + // 重写燃料处理方法,添加物品类型限制 + public new void Refuel(List fuelThings) + { + // 过滤掉禁止物品类型的物品 + List allowedFuelThings = new List(); + List disallowedFuelThings = new List(); + foreach (var thing in fuelThings) + { + if (IsFuelAllowed(thing)) + { + allowedFuelThings.Add(thing); + } + else + { + disallowedFuelThings.Add(thing); + } + } + // 如果有被禁止的物品,给出提示 + if (disallowedFuelThings.Count > 0) + { + string disallowedNames = string.Join(", ", disallowedFuelThings.Select(t => t.LabelCap)); + Messages.Message("CannotUseDisallowedFuel".Translate(disallowedNames, parent.LabelCap), disallowedFuelThings, MessageTypeDefOf.RejectInput); + } + // 只对允许的物品调用基类的Refuel方法 + if (allowedFuelThings.Count > 0) + { + base.Refuel(allowedFuelThings); + } + } + // 检查燃料是否被允许 + private bool IsFuelAllowed(Thing fuel) + { + // 检查是否在禁止的物品类型列表中 + if (IsInDisallowedThingDefs(fuel)) + return false; + return true; + } + // 检查物品是否在禁止的物品类型列表中 + private bool IsInDisallowedThingDefs(Thing thing) + { + if (Props.disallowedThingDefs == null || Props.disallowedThingDefs.Count == 0) + return false; + return Props.disallowedThingDefs.Contains(thing.def); + } + // 可选:重写燃料描述以显示限制信息 + public override string CompInspectStringExtra() + { + string baseString = base.CompInspectStringExtra(); + + if (Props.disallowedThingDefs != null && Props.disallowedThingDefs.Count > 0) + { + string thingNames = string.Join(", ", Props.disallowedThingDefs.Select(d => d.label)); + return baseString + $"\n{"DisallowedItems".Translate()}: {thingNames}"; + } + + return baseString; + } public new void Notify_UsedThisTick() { if (Props.consumeFuelOnlyWhenUsed) @@ -67,4 +117,5 @@ namespace ArachnaeSwarm } } } + } \ No newline at end of file diff --git a/非公开资源/Content/Textures/Weapon/ARA_RW_Missile_AR_Gun.sai2 b/非公开资源/Content/Textures/Weapon/ARA_RW_Missile_AR_Gun.sai2 new file mode 100644 index 0000000..3ca3474 Binary files /dev/null and b/非公开资源/Content/Textures/Weapon/ARA_RW_Missile_AR_Gun.sai2 differ diff --git a/非公开资源/Content/Textures/Weapon/ARA_RW_Missile_HG_Gun.sai2 b/非公开资源/Content/Textures/Weapon/ARA_RW_Missile_HG_Gun.sai2 new file mode 100644 index 0000000..768a878 Binary files /dev/null and b/非公开资源/Content/Textures/Weapon/ARA_RW_Missile_HG_Gun.sai2 differ