diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 084ef5c..f70778e 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/ARA_GuardianPsyField_Abilities.xml b/1.6/1.6/Defs/AbilityDefs/ARA_GuardianPsyField_Abilities.xml index d3fc45c..c1c3e22 100644 --- a/1.6/1.6/Defs/AbilityDefs/ARA_GuardianPsyField_Abilities.xml +++ b/1.6/1.6/Defs/AbilityDefs/ARA_GuardianPsyField_Abilities.xml @@ -1,11 +1,10 @@ - ARA_GuardianPsyField_On - - 投射一个强大的灵能防御力场。 - ArachnaeSwarm/UI/Abilities/ARA_RaceBaseSwarmProduceOn + + 织域种投射一个强大的灵能防御力场,会自动拦截进入其作用范围的敌对飞行物。它的护盾总额和心灵敏感度相关,很难被击穿,但是每次拦截会积累心灵熵。 + ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_On 601 false true @@ -31,9 +30,9 @@ ARA_GuardianPsyField_Off - - 关闭灵能防御力场。 - ArachnaeSwarm/UI/Abilities/ARA_RaceBaseSwarmProduceOff + + 关闭织域种的灵能防御力场。 + ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_Off 601 false true @@ -56,5 +55,4 @@ - \ No newline at end of file diff --git a/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml b/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml index 87cfc32..a6138f9 100644 --- a/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml +++ b/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml @@ -4,10 +4,10 @@ ARA_Ability_Morph - 将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。 - UI/Commands/EggSpew + 生成织座,将自己转换为一个静态建筑。这个形态下,阿拉克涅织域种可以研究虫群更高级的科技。 + ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph 6000 - Misc12 + Misc12 false false diff --git a/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml b/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml index 450b3ac..eadff29 100644 --- a/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml +++ b/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml @@ -859,7 +859,7 @@ ARA_Activated_Bacterium - 3 + 5 - + - Female + Female - + ARA_QUEEN_Female_AverageNormalA ArachnaeSwarm/Things/General/Invisible/Inv - - \ No newline at end of file diff --git a/1.6/1.6/Defs/HediffDefs/ARA_GuardianPsyField_Hediff.xml b/1.6/1.6/Defs/HediffDefs/ARA_GuardianPsyField_Hediff.xml deleted file mode 100644 index f8d95bd..0000000 --- a/1.6/1.6/Defs/HediffDefs/ARA_GuardianPsyField_Hediff.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - ARA_GuardianPsyField - - 一个强大的灵能防御力场。它会自动拦截进入其作用范围的敌对飞行物,并能将附近友军受到的伤害转移到施法者身上。每次成功的守护都会消耗施法者的精神力。 - ArachnaeSwarm.Hediff_DynamicInterceptor - false - (0.6, 0.2, 0.9) - false - -
  • - - - 5.9 - 1500 - 3200 - 60 - - - 0.001 - 0.1 - 0.01 - - - true - false - true - - - (0.5, 0.3, 0.9, 0.5) - Interceptor_BlockedProjectile - Interceptor_BlockedProjectile - Shield_Break - BulletShieldGenerator_Reactivate - -
  • -
    -
    - -
    \ No newline at end of file diff --git a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_HiveMind.xml b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_HiveMind.xml index 81c6ade..975b30d 100644 --- a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_HiveMind.xml +++ b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_HiveMind.xml @@ -252,76 +252,4 @@ (0.6, 0.6, 0.6) false - - - ARA_Psi_Master - - 阿拉克涅织域种是虫巢中的灵能大师,她们对使用灵能能力得心应手,不仅自身可以依靠灵能进行飞行,还能为附近的己方单位提供保护,并将其作为灵能导线对敌人发射能量攻击。 - Hediff_High - (0.6, 0.8, 0.9) - 1.0 - 0.01 - 0.5 - -
  • - 18 - ARA_Psi_Conductor - - - - - - - - false - true - false - true - true - - true - true -
  • -
    - - -
    - - ARA_Psi_Conductor - - 一只阿拉克涅织域种将这个殖民者作为其强大灵能力量的导体,织域种可以通过控制这个殖民者的灵能对敌方发起自动攻击,并使得这个殖民者更加难以击倒——代价则是殖民者自身会短暂地出现灵能失聪的情况。 - - ARA_Psi_Conductor_Turret - - HediffWithComps - false - (0.6, 0.6, 0.6) - false - -
  • - - 0.75 - 0 - -
  • -
    - -
  • - false -
  • -
  • -
  • -
  • - ARA_Psi_Conductor_Turret - 0 - true -
  • -
    -
    \ No newline at end of file diff --git a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Psy.xml b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Psy.xml new file mode 100644 index 0000000..0765b60 --- /dev/null +++ b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Psy.xml @@ -0,0 +1,115 @@ + + + + ARA_GuardianPsyField + + 一个强大的灵能防御力场,会自动拦截进入其作用范围的敌对飞行物。它的护盾总额和心灵敏感度相关,很难被击穿,但是每次拦截会积累心灵熵。 + ArachnaeSwarm.Hediff_DynamicInterceptor + false + (0.6, 0.2, 0.9) + false + +
  • + + + 5.9 + 200 + 1 + 1 + + + 0 + 0.005 + 0.01 + + + true + false + true + + 0 + 10 + + + (0.5, 0.3, 0.9, 0.5) + Interceptor_BlockedProjectile + Interceptor_BlockedProjectile + + BulletShieldGenerator_Reactivate + +
  • +
    +
    + + + ARA_Psi_Master + + 阿拉克涅织域种是虫巢中的灵能大师,她们对使用灵能能力得心应手,不仅自身可以依靠灵能进行飞行,还能为附近的己方单位提供保护,并将其作为灵能导线对敌人发射能量攻击。 + Hediff_High + (0.6, 0.8, 0.9) + 1.0 + 0.01 + 0.5 + +
  • + 18 + ARA_Psi_Conductor + + + + + + + + false + true + false + true + true + + true + true +
  • +
    + + +
    + + ARA_Psi_Conductor + + 一只阿拉克涅织域种将这个殖民者作为其强大灵能力量的导体,织域种可以通过控制这个殖民者的灵能对敌方发起自动攻击,并使得这个殖民者更加难以击倒——代价则是殖民者自身会短暂地出现灵能失聪的情况。 + + ARA_Psi_Conductor_Turret + + HediffWithComps + false + (0.6, 0.6, 0.6) + false + +
  • + + 0.75 + 0 + +
  • +
    + +
  • + false +
  • +
  • +
  • +
  • + ARA_Psi_Conductor_Turret + 0 + true +
  • +
    +
    +
    \ No newline at end of file diff --git a/1.6/1.6/Defs/HediffDefs/ARA_HediffDef_Terrain.xml b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Terrain.xml similarity index 100% rename from 1.6/1.6/Defs/HediffDefs/ARA_HediffDef_Terrain.xml rename to 1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Terrain.xml diff --git a/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml b/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml index 724def4..00ab809 100644 --- a/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml +++ b/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml @@ -35,7 +35,7 @@ 2500 9.00 3.20 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_6KYC
  • ARA_Technology_1BAC
  • @@ -88,7 +88,7 @@ 2000 10.00 1.50 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_8VXI
  • @@ -103,7 +103,7 @@ 3000 11.00 1.50 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_9VXI
  • @@ -115,7 +115,7 @@ 3000 12.00 0.90 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_10VXI
  • ARA_Technology_1NPT
  • @@ -226,7 +226,7 @@ 1000 10.00 4.80 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_2WMT
  • @@ -238,7 +238,7 @@ 1800 11.00 4.80 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_2WMT
  • @@ -278,7 +278,7 @@ 1800 10.00 0.30 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_6PAV
  • @@ -288,12 +288,12 @@ ARA_Technology_7XPAV - + 允许工艺种孵化新的武器。 - 1800 + 2000 11.00 0.30 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_7PAV
  • @@ -305,7 +305,7 @@ 2500 12.00 0.30 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_1NPT
  • ARA_Technology_7XPAV
  • @@ -331,7 +331,7 @@ 1200 10.00 0.90 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_2MEL
  • @@ -347,7 +347,7 @@ 1800 11.00 0.90 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_2WMT
  • @@ -383,7 +383,7 @@ 2500 10.00 2.10 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_6SPV
  • @@ -398,7 +398,7 @@ 1000 10.00 3.80 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_8VXI
  • @@ -413,7 +413,7 @@ 2000 12.00 3.80 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_1NPT
  • @@ -425,7 +425,7 @@ 2000 13.00 3.80 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_2NPT
  • @@ -437,7 +437,7 @@ 1800 12.00 2.10 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_1NPT
  • @@ -487,7 +487,7 @@ 2500 12.00 1.50 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_6SPV
  • @@ -573,7 +573,7 @@ 2500 10.00 5.30 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_2KYC
  • @@ -673,7 +673,7 @@ 2500 10.00 4.30 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_5EVO
  • @@ -688,7 +688,7 @@ 4000 11.00 4.30 - ARA_ResearchBench + ARA_MorphableResearchBench
  • ARA_Technology_2WMT
  • diff --git a/1.6/1.6/Defs/Stats/ARA_Stats.xml b/1.6/1.6/Defs/Stats/ARA_Stats.xml index 4ac1829..0beb433 100644 --- a/1.6/1.6/Defs/Stats/ARA_Stats.xml +++ b/1.6/1.6/Defs/Stats/ARA_Stats.xml @@ -13,7 +13,7 @@ NutrientTransmissionEfficiency - 减少无线传输生物质时的燃料消耗。最终消耗量将乘以 (1 - 效率)。 + 减少传输生物质时的燃料消耗。最终消耗量将乘以 (1 - 效率)。 Building 0 0 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 4b0bd7f..0fd9a36 100644 --- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml +++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml @@ -1294,7 +1294,7 @@ ArachnaeNode_Race_Smokepop - 阿拉克涅大型督虫之一,身披厚重甲壳的大型虫族,拥有在大范围内喷射信息素以召唤辅虫虫群能力,虽然移动速度比较慢,但是在战斗中就如同装甲车一样难以撼动。\n\n她可以进行搬运和医护工作,拥有不错的战斗技能,防御力和伤害耐受能力强大。\n\n作为督虫,她可以繁育并监管大量阿拉克涅家政种辅虫,以协助巢穴进行清洁和搬运工作。 + 阿拉克涅大型督虫之一,身披厚重甲壳的大型虫族,拥有在大范围内喷射信息素以召唤辅虫虫群能力,虽然移动速度比较慢,但是在战斗中就如同装甲车一样难以撼动。\n\n她可以进行搬运工作,拥有不错的战斗技能,防御力和伤害耐受能力强大。\n\n作为督虫,她可以繁育并监管大量阿拉克涅家政种辅虫,以协助巢穴进行清洁和搬运工作。 @@ -1544,204 +1544,89 @@ - - + ArachnaeNode_Race_NeuroSwarm 阿拉克涅督虫之一,是阿拉克涅虫群中最为特殊的虫族,织域种虽然受到女皇种监管,但仍然具有强大的高级智慧和自我意志,织域种之间能够构建一种高度互联的神经网络从而进行复杂的研究和计算工作,织域种进行计算工作时无法感知外界环境,因此她们是虫群的重要保护对象。 - - - - 0 - - true - - 15 - - false - - 0 - - false - - false - - - -
  • Female_AverageNormal
  • - -
    - - -
  • Thin
  • -
    - - - -
  • - skin - - 0 - 0 - -
  • - -
  • - hair - - -
  • - 15 - (0.4,0.3,0.5) - (0.6,0.1,0.7) -
  • -
  • - 6 - (0.9,0.9,0.9) - (0.9,0.9,0.9) -
  • -
  • - 6 - (1,0.8,0.8) - (1,0.9,0.9) -
  • -
  • - 3 - (1,1,1) - (1,1,1) -
  • - - - -
    + - + +
  • + ArachnaeNode Hair + true + ArachnaeSwarm/Hair/ARA_ArachnaeNode_Hair + true + false + hair + Center + 1 + true + true + + + Head + + + true + true + true + + Fresh,Rotting + + + + -0.274 + + + -0.274 + + + -0.274 + + + -0.274 + + +
  • +
  • + ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm + true + false + + + (0,0.32) + 2 + + + (0,0.32) + 2 + + + (-0.1,0.39) + 2 + + + (-0.1,0.39) + 2 + + +
  • +
  • + ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail + false + true + + + -0.275 + + +
  • - - 1.5 - 1.5 - (2,2) - (1.0,1.0) - (1,1)
    - -
  • 0
  • -
    - - - - true - - -
  • (0,1)
  • -
    -
    -
    - - true - - -
  • (0,1)
  • -
    -
    -
    - - true - - -
  • (0,1)
  • -
    -
    -
    - - true - - -
  • (0,1)
  • -
    -
    -
    - - true - - -
  • (0,1)
  • -
    -
    -
    - - true - - -
  • (0, 1)
  • -
    -
    -
    -
    - - - Male - - -
  • (0,0)
  • -
  • (1,0)
  • -
  • (999,0)
  • -
  • (9999,0)
  • -
    -
    -
    - - -
  • (0,0)
  • -
  • (1,0)
  • -
  • (999,0)
  • -
  • (9999,0)
  • -
    -
    - - - - (1,1,1,1) - - Cutout - ArachnaeSwarm/Things/ARA_NeuroSwarm/Bodies/ - ArachnaeSwarm/Things/ARA_NeuroSwarm/Heads/ - Things/Pawn/Humanlike/Bodies/Dessicated/Dessicated_Thin - ArachnaeSwarm/Things/ARA_HiveNode/Bodies/ - - - - -
  • - HairDef - - true - -
  • Bald
  • - - - - -
  • - TattooDef - - false - -
  • - -
  • - BeardDef - - false - -
  • -
    - @@ -1791,193 +1676,49 @@
  • ARA_PheromoneSolvent
  • true - - -
  • ArachnaeBase_Race_Scavenger
  • -
  • ArachnaeBase_Race_HardJaw
  • -
    - false - - - - - - - true - - true - false - - - - -
  • BodyPurist
  • -
  • Cannibal
  • -
  • CreepyBreathing
  • -
  • DislikesWomen
  • -
  • Gourmand
  • -
  • QuickSleeper
  • -
  • Wimp
  • -
  • Beauty
  • -
  • DrugDesire
  • -
  • Immunity
  • -
  • PsychicSensitivity
  • -
    - - - 0 - 0 - - 0 - 0 - 0 - - 0 - 0 - 0 -
    + + 1.5 + 9999 0 - - 2000 - 5 - - - 1.5 - 150 - - 2 - 0.5 + - - 0 - 450 - 600 - - 1 - 3 - 0.95 - 0.95 - 0.25 + 100 + 160 + 30 0.75 + + + + + - 0.2 - 0.2 - 0.1 + 0.4 + 0.3 + 0.3 - - 5 - - - 0 + ArachnaeNeuroSwarm_Body - Normal - - ARA_Humanlike - - Humanlike - - HumanStandard - Filth_BloodInsect - Filth_BloodSmear - - 6 - - 4 - - ARA_Carapace - - Pawn_Melee_BigBash_HitPawn - Pawn_Melee_BigBash_HitBuilding - Pawn_Melee_BigBash_Miss - Pawn_MeleeDodge - - 300 - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - -
  • - HumanlikeBaby - 0 -
  • -
  • - HumanlikeChild - 0.25 -
  • -
  • - HumanlikePreTeenager - 0.5 -
  • -
  • - HumanlikeTeenager - 0.75 -
  • -
  • - HumanlikeAdult - 1 - Pawn_BigInsect_Pain - Pawn_BigInsect_Death - Pawn_BigInsect_Call - Pawn_BigInsect_Angry -
  • -
    - false + ARA_ArachnaeRenderTree + 1.0 + 0.8 + 3
    - - -
  • - - -
  • Poke
  • - - 16 - 2 - HeadAttackTool - true - 0.01 - -
    - - - -
  • @@ -1992,8 +1733,6 @@
  • ARA_RaceBaseSwarmProduceSwitchHediff
  • -
  • ARA_HiveMindDrone
  • -
  • ARA_HiveStrength
  • ARA_Psi_Master
  • PsychicAmplifier
  • 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 2c15269..50663b5 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 @@ -299,7 +299,7 @@ false 0.25 Bullet_ARA_RW_Basic_Fist_Needle_Gun - 14 + 18 4 4 SpitterSpit @@ -420,9 +420,9 @@ false 0.8 Bullet_ARA_RW_Basic_Fist_Needle_Gun - 28 - 32 - 2 + 25.9 + 48 + 1 SpitterSpit true @@ -494,7 +494,7 @@ 0.4 0.35 0.3 - 2.5 + 1.5 150 6 @@ -503,11 +503,11 @@ ArachnaeSwarm.Verb_ShootShotgunWithOffset true false - 0.8 + 1.2 Bullet_ARA_RW_Basic_Fist_Needle_Gun_SG - 28 - 3 - 12 + 15 + 6 + 3 SpitterSpit true @@ -1604,7 +1604,7 @@ ARA_Psi_Conductor_Turret - 阿拉克涅织域种正在通过这个殖民者对敌方发起攻击——这种攻击的发动无关殖民者的状态,无论它目前在干什么,攻击都会照常进行。 + 阿拉克涅织域种正在通过这个殖民者对敌方发起攻击——这种攻击的发动无关殖民者的状态,只要不处于近战状态,攻击都会照常进行。 ArachnaeSwarm/Weapon/ARA_Weapon_Empty Graphic_Single 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 22a9a95..d0114d4 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_Building.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_Building.xml @@ -240,12 +240,12 @@ ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top Graphic_Multi - (1.7, 1.2) + (1.4, 1.2) ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support Graphic_Multi - (1.7, 1.2) + (1.4, 1.2) 2505 @@ -381,6 +381,64 @@ 5.8 + + ARA_NodeNest + Building_Bed + + 供阿拉克涅督虫栖息的巢穴,由几丁质甲壳、肌肉和结缔组织形成的“被窝”对督虫来说是非常好的补充精力的场地。 + Normal + + ArachnaeSwarm/Building/ARA_NodeNest + Graphic_Multi + CutoutComplex + (2,2) + + (0.8, 0.4, 1.7) + (0,0,-0.1) + + + + False + + 0.75 + 140 + 1 + 800 + 30 + 1.0 + 1.2 + 0.80 + 1.1 + 0.10 + 1.1 + + ARA_Creep + (1,2) + + 3 + 25 + + 2010 + 0.5 + ARA_Buildings + +
  • ARA_Base_Technology
  • +
    + + + false + true + 10 + false + + +
  • + ARA_InsectCreep + 3 +
  • +
    +
    + ARA_ResearchBench @@ -441,78 +499,20 @@
    - - ARA_NodeNest - Building_Bed - - 供阿拉克涅督虫栖息的巢穴,由几丁质甲壳、肌肉和结缔组织形成的“被窝”对督虫来说是非常好的补充精力的场地。 - Normal - - ArachnaeSwarm/Building/ARA_NodeNest - Graphic_Multi - CutoutComplex - (2,2) - - (0.8, 0.4, 1.7) - (0,0,-0.1) - - - - False - - 0.75 - 140 - 1 - 800 - 30 - 1.0 - 1.2 - 0.80 - 1.1 - 0.10 - 1.1 - - ARA_Creep - (1,2) - - 3 - 25 - - 2010 - 0.5 - ARA_Buildings - -
  • ARA_Base_Technology
  • -
    - - - false - true - 10 - false - - -
  • - ARA_InsectCreep - 3 -
  • -
    -
    - ARA_MorphableResearchBench - true - (0,0,-1) - - 一个供阿拉克涅虫族进行研究的活体结构,可以让虫群尽情地探索变异和进化方向。其研究能力完全取决于内部的阿拉克涅织域种。 + + + 以阿拉克涅织域种为核心形成的活体结构,是推进虫群高级研究的必须建筑。该建筑无法建造,只能通过阿拉克涅织域种变形得到。 ArachnaeSwarm.Building_Morphable Normal - (3,3) + (2,2) - ArachnaeSwarm/Building/ARA_ResearchBench - Graphic_Multi + ArachnaeSwarm/Building/ARA_MorphableResearchBench + Graphic_Single CutoutComplex - (3,4.5) + (2.5,2.5) Building Impassable @@ -535,6 +535,10 @@ +
  • + ARA_InsectCreep + 3 +
  • ResearchSpeedFactor
  • @@ -546,9 +550,9 @@ 离开织座 - 使织域种离开织座。 + 使织域种离开织座,恢复移动状态。 - UI/Commands/EggSpew + ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph
  • @@ -692,7 +696,6 @@ ARA_Creep
  • -
  • 120000 @@ -706,7 +709,6 @@ true
  • -
  • Biomass 生物质 @@ -724,7 +726,6 @@ 30 true
  • -
  • ARA_InsectCreep 6 diff --git a/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml b/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml index dfce06f..242a19c 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml @@ -68,6 +68,7 @@ 虫蜜 true true + true
  • diff --git a/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml b/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml index f5683dd..a365cb3 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml @@ -321,7 +321,7 @@
  • ARA_DummyAmmo
  • - 1000 + 100 1 1 true @@ -332,8 +332,8 @@
  • 300 1 - 600 - 10 + 300 + 50
  • @@ -474,7 +474,7 @@
  • ARA_DummyAmmo
  • - 30 + 20 1 1 true 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 2330f89..5dec41c 100644 --- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml +++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml @@ -43,6 +43,8 @@ 过低 过高 安全 + + 活体结构因极端温度受损 将破坏:{0} diff --git a/Content/Textures/ArachnaeSwarm/Building/ARA_MorphableResearchBench.png b/Content/Textures/ArachnaeSwarm/Building/ARA_MorphableResearchBench.png new file mode 100644 index 0000000..e2080dc Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Building/ARA_MorphableResearchBench.png differ diff --git a/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support_east.png b/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support_east.png index 06ca3a0..ac6ab13 100644 Binary files a/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support_east.png and b/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support_east.png differ diff --git a/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top_east.png b/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top_east.png index 06ca3a0..ac6ab13 100644 Binary files a/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top_east.png and b/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top_east.png differ diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.png new file mode 100644 index 0000000..6f22d5a Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.png differ diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_north.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_north.png new file mode 100644 index 0000000..f8c7725 Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_north.png differ diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_south.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_south.png new file mode 100644 index 0000000..32accee Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_south.png differ diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.png new file mode 100644 index 0000000..08abcba Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.png differ diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_north.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_north.png new file mode 100644 index 0000000..84f5683 Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_north.png differ diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_south.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_south.png new file mode 100644 index 0000000..3eb7fcf Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_south.png differ diff --git a/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph.png b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph.png new file mode 100644 index 0000000..c2b13a1 Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph.png differ diff --git a/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_Off.png b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_Off.png new file mode 100644 index 0000000..182ad01 Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_Off.png differ diff --git a/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_On.png b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_On.png new file mode 100644 index 0000000..d1d54e9 Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_On.png differ diff --git a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo index bab75df..98e5737 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 4b134d4..8b315da 100644 --- a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json +++ b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json @@ -3,12 +3,20 @@ "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\\building_comps\\ara_compinteractiveproducer\\compinteractiveproducer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_compinteractiveproducer\\compinteractiveproducer.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\\thingcomp_guardianpsyfield.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:thingcomp_guardianpsyfield.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}" + "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\\ara_nutrientnetwork\\compnutrientprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientnetwork\\compnutrientprovider.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_nutrientnetwork\\complinedrawer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientnetwork\\complinedrawer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -27,28 +35,51 @@ { "$type": "Document", "DocumentIndex": 0, - "Title": "CompInteractiveProducer.cs", - "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs", - "RelativeDocumentMoniker": "Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs", - "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs", - "RelativeToolTip": "Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAB4AAAA0AAAAAAAAAA==", + "Title": "ThingComp_GuardianPsyField.cs", + "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ThingComp_GuardianPsyField.cs", + "RelativeDocumentMoniker": "ThingComp_GuardianPsyField.cs", + "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ThingComp_GuardianPsyField.cs", + "RelativeToolTip": "ThingComp_GuardianPsyField.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-10-02T10:43:34.234Z", + "WhenOpened": "2025-10-02T16:24:06.176Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 1, - "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": "AgIAAAAAAAAAAAAAAAAAAFsAAAAcAAAAAAAAAA==", + "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": "AgIAAF8AAAAAAAAAAAAswJkBAAANAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-10-02T06:18:10.518Z", - "EditorCaption": "" + "WhenOpened": "2025-10-02T15:30:05.897Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "CompNutrientProvider.cs", + "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs", + "RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs", + "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs", + "RelativeToolTip": "Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABkAAAAZAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-10-02T15:29:28.358Z" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "CompLineDrawer.cs", + "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs", + "RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs", + "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs", + "RelativeToolTip": "Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-10-02T15:11:03.083Z" } ] } diff --git a/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompTemperatureRuinableDamage.cs b/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompTemperatureRuinableDamage.cs index a31341c..a4b6075 100644 --- a/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompTemperatureRuinableDamage.cs +++ b/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompTemperatureRuinableDamage.cs @@ -83,7 +83,7 @@ namespace ArachnaeSwarm { if (ruinedPercent > 0f) { - return "RuinedByTemperature".Translate() + ": " + ruinedPercent.ToStringPercent(); + return "CocoonRuinedByTemperature".Translate() + ": " + ruinedPercent.ToStringPercent(); } return base.CompInspectStringExtra(); } diff --git a/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompProperties_NutrientProvider.cs b/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompProperties_NutrientProvider.cs index b854003..7a47931 100644 --- a/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompProperties_NutrientProvider.cs +++ b/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompProperties_NutrientProvider.cs @@ -1,6 +1,5 @@ using RimWorld; using Verse; - namespace ArachnaeSwarm { public class CompProperties_NutrientProvider : CompProperties_Facility diff --git a/Source/ArachnaeSwarm/Hediffs/ARA_HediffComp_TopTurret/HediffComp_TopTurret.cs b/Source/ArachnaeSwarm/Hediffs/ARA_HediffComp_TopTurret/HediffComp_TopTurret.cs index 5d6217e..81f4f10 100644 --- a/Source/ArachnaeSwarm/Hediffs/ARA_HediffComp_TopTurret/HediffComp_TopTurret.cs +++ b/Source/ArachnaeSwarm/Hediffs/ARA_HediffComp_TopTurret/HediffComp_TopTurret.cs @@ -24,6 +24,20 @@ namespace ArachnaeSwarm [StaticConstructorOnStartup] public class HediffComp_TopTurret : HediffComp, IAttackTargetSearcher { + // 添加 null 检查的属性 + private HediffCompProperties_TopTurret Props + { + get + { + if (this.props == null) + { + Log.Error("HediffComp_TopTurret: props is null"); + return null; + } + return this.props as HediffCompProperties_TopTurret; + } + } + public Thing Thing { get @@ -32,14 +46,6 @@ namespace ArachnaeSwarm } } - private HediffCompProperties_TopTurret Props - { - get - { - return (HediffCompProperties_TopTurret)this.props; - } - } - public Verb CurrentEffectiveVerb { get @@ -68,6 +74,11 @@ namespace ArachnaeSwarm { get { + if (this.gun == null) + { + Log.Warning("HediffComp_TopTurret: gun is null"); + return null; + } return this.gun.TryGetComp(); } } @@ -76,7 +87,13 @@ namespace ArachnaeSwarm { get { - return this.GunCompEq.PrimaryVerb; + var comp = this.GunCompEq; + if (comp == null) + { + Log.Warning("HediffComp_TopTurret: GunCompEq is null"); + return null; + } + return comp.PrimaryVerb; } } @@ -130,7 +147,7 @@ namespace ArachnaeSwarm { get { - if (this.turretMat == null) + if (this.turretMat == null && this.Props?.turretDef?.graphicData != null) { this.turretMat = MaterialPool.MatFrom(this.Props.turretDef.graphicData.texPath); } @@ -142,25 +159,71 @@ namespace ArachnaeSwarm { get { - return this.Props.autoAttack; + return this.Props?.autoAttack ?? false; } } public override void CompPostMake() { base.CompPostMake(); + + // 添加 null 检查 + if (this.Props == null) + { + Log.Error("HediffComp_TopTurret: Props is null in CompPostMake"); + return; + } + this.MakeGun(); } private void MakeGun() { - this.gun = ThingMaker.MakeThing(this.Props.turretDef, null); - this.UpdateGunVerbs(); + // 添加详细的 null 检查 + if (this.Props == null) + { + Log.Error("HediffComp_TopTurret: Props is null in MakeGun"); + return; + } + + if (this.Props.turretDef == null) + { + Log.Error("HediffComp_TopTurret: Props.turretDef is null"); + return; + } + + try + { + this.gun = ThingMaker.MakeThing(this.Props.turretDef, null); + if (this.gun == null) + { + Log.Error($"HediffComp_TopTurret: Failed to create gun from turretDef '{this.Props.turretDef.defName}'"); + return; + } + this.UpdateGunVerbs(); + } + catch (Exception ex) + { + Log.Error($"HediffComp_TopTurret: Exception in MakeGun: {ex}"); + } } private void UpdateGunVerbs() { - List allVerbs = this.gun.TryGetComp().AllVerbs; + if (this.gun == null) + { + Log.Warning("HediffComp_TopTurret: gun is null in UpdateGunVerbs"); + return; + } + + var comp = this.gun.TryGetComp(); + if (comp == null) + { + Log.Warning("HediffComp_TopTurret: CompEquippable is null"); + return; + } + + List allVerbs = comp.AllVerbs; for (int i = 0; i < allVerbs.Count; i++) { Verb verb = allVerbs[i]; @@ -171,9 +234,17 @@ namespace ArachnaeSwarm }; } } + public override void CompPostTick(ref float severityAdjustment) { base.CompPostTick(ref severityAdjustment); + + // 添加 null 检查 + if (this.AttackVerb == null) + { + return; + } + if (!this.CanShoot) { return; @@ -265,4 +336,4 @@ namespace ArachnaeSwarm [Unsaved(false)] public Material turretMat; } -} \ No newline at end of file +} diff --git a/Source/ArachnaeSwarm/ThingComp_GuardianPsyField.cs b/Source/ArachnaeSwarm/ThingComp_GuardianPsyField.cs index 932e349..5523521 100644 --- a/Source/ArachnaeSwarm/ThingComp_GuardianPsyField.cs +++ b/Source/ArachnaeSwarm/ThingComp_GuardianPsyField.cs @@ -8,7 +8,7 @@ namespace ArachnaeSwarm public class CompProperties_GuardianPsyField : CompProperties { public float radius = 5.9f; - public int hitPoints = 100; + public int baseHitPoints = 100; // 重命名为基础生命值 public int rechargeDelay = 3200; // Ticks after breaking public int rechargeHitPointsIntervalTicks = 60; // Ticks to restore 1 HP @@ -27,6 +27,10 @@ namespace ArachnaeSwarm public Color color = Color.cyan; + // 新增:心灵敏感度倍率设置 + public float minSensitivityMultiplier = 0f; // 最低倍率 + public float maxSensitivityMultiplier = 10.0f; // 最高倍率 + public CompProperties_GuardianPsyField() { compClass = typeof(ThingComp_GuardianPsyField); @@ -44,7 +48,24 @@ namespace ArachnaeSwarm public CompProperties_GuardianPsyField Props => (CompProperties_GuardianPsyField)props; private Pawn PawnOwner => parent as Pawn; public bool IsOnCooldown => ticksToReset > 0; - public int HitPointsMax => Props.hitPoints; + + // 修改:基于心灵敏感度计算最大生命值 + public int HitPointsMax + { + get + { + if (PawnOwner == null) return Props.baseHitPoints; + + // 获取心灵敏感度 + float psychicSensitivity = PawnOwner.GetStatValue(StatDefOf.PsychicSensitivity); + + // 计算倍率,限制在最小和最大倍率之间 + float multiplier = Mathf.Clamp(psychicSensitivity, Props.minSensitivityMultiplier, Props.maxSensitivityMultiplier); + + // 返回基于心灵敏感度的生命值 + return Mathf.RoundToInt(Props.baseHitPoints * multiplier); + } + } private static readonly Material ForceFieldMat = MaterialPool.MatFrom("Other/ForceField", ShaderDatabase.MoteGlow); private static readonly MaterialPropertyBlock MatPropertyBlock = new MaterialPropertyBlock(); @@ -99,7 +120,9 @@ namespace ArachnaeSwarm wasNotAtFullHp = true; if(this.parent.IsHashIntervalTick(Props.rechargeHitPointsIntervalTicks)) { - currentHitPoints += (int)(HitPointsMax * Props.hitPointsPctPerInterval); + // 修改:基于当前最大生命值计算恢复量 + int healAmount = Mathf.Max(1, (int)(HitPointsMax * Props.hitPointsPctPerInterval)); + currentHitPoints += healAmount; if(currentHitPoints > HitPointsMax) currentHitPoints = HitPointsMax; PawnOwner.psychicEntropy.OffsetPsyfocusDirectly(-Props.psyfocusCostPerInterval); } @@ -246,7 +269,16 @@ namespace ArachnaeSwarm Text.Font = GameFont.Small; Text.Anchor = TextAnchor.MiddleCenter; - TaggedString statusText = shield.IsOnCooldown ? "Cooldown" : new TaggedString(shield.currentHitPoints + " / " + shield.HitPointsMax); + // 修改:显示当前/最大生命值,并显示心灵敏感度倍率 + string statusText; + if (shield.IsOnCooldown) + { + statusText = "Cooldown"; + } + else + { + statusText = $"{shield.currentHitPoints} / {shield.HitPointsMax}"; + } Widgets.Label(barRect, statusText); Text.Anchor = TextAnchor.UpperLeft; @@ -254,4 +286,4 @@ namespace ArachnaeSwarm return new GizmoResult(GizmoState.Clear); } } -} \ No newline at end of file +} diff --git a/非公开资源/Content/Textures/Apperal/ARA_Witch_Cloth_Thin_south.sai2 b/非公开资源/Content/Textures/Apperal/ARA_Witch_Cloth_Thin_south.sai2 new file mode 100644 index 0000000..50ec46a Binary files /dev/null and b/非公开资源/Content/Textures/Apperal/ARA_Witch_Cloth_Thin_south.sai2 differ diff --git a/非公开资源/Content/Textures/Building/ARA_InsectDoor.sai2 b/非公开资源/Content/Textures/Building/ARA_InsectDoor.sai2 index 0a2474c..1fd50a9 100644 Binary files a/非公开资源/Content/Textures/Building/ARA_InsectDoor.sai2 and b/非公开资源/Content/Textures/Building/ARA_InsectDoor.sai2 differ diff --git a/非公开资源/Content/Textures/Building/ARA_MorphableResearchBench.sai2 b/非公开资源/Content/Textures/Building/ARA_MorphableResearchBench.sai2 index 057ee6d..f418575 100644 Binary files a/非公开资源/Content/Textures/Building/ARA_MorphableResearchBench.sai2 and b/非公开资源/Content/Textures/Building/ARA_MorphableResearchBench.sai2 differ diff --git a/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Facehugger_east.sai2 b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Facehugger_east.sai2 index cff1265..14833a4 100644 Binary files a/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Facehugger_east.sai2 and b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Facehugger_east.sai2 differ diff --git a/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.sai2 b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.sai2 new file mode 100644 index 0000000..a47f0da Binary files /dev/null and b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.sai2 differ diff --git a/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.sai2 b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.sai2 new file mode 100644 index 0000000..d044a1e Binary files /dev/null and b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.sai2 differ diff --git a/非公开资源/Content/Textures/UI/Abilities/ARA_Ability_Morph.sai2 b/非公开资源/Content/Textures/UI/Abilities/ARA_Ability_Morph.sai2 new file mode 100644 index 0000000..fd11196 Binary files /dev/null and b/非公开资源/Content/Textures/UI/Abilities/ARA_Ability_Morph.sai2 differ diff --git a/非公开资源/Content/Textures/UI/Abilities/ARA_GuardianPsyField_On.sai2 b/非公开资源/Content/Textures/UI/Abilities/ARA_GuardianPsyField_On.sai2 new file mode 100644 index 0000000..3483a0c Binary files /dev/null and b/非公开资源/Content/Textures/UI/Abilities/ARA_GuardianPsyField_On.sai2 differ