From 673ea437780293c4bb29fb058639c4ef438059f7 Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Fri, 1 Aug 2025 14:11:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=8E=A9=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/Assemblies/WulaFallenEmpire.dll | Bin 103936 -> 108544 bytes 1.6/Defs/DamageDefs/Damages_Wula.xml | 14 +- .../HediffDefs/Hediffs_WULA_Damage_Effect.xml | 32 +++ .../Weapons/WULA_Sample_Weapon.xml | 4 +- .../ThingDefs_Misc/Weapons/WULA_Weapon.xml | 15 +- .../.vs/WulaFallenEmpire/v17/.suo | Bin 81408 -> 113664 bytes .../WulaFallenEmpire/v17/DocumentLayout.json | 183 ++----------- Source/WulaFallenEmpire/TimedExplosion.cs | 244 ++++++++++++++++++ .../Verb/ExplosionParameters.cs | 26 ++ ...Projectile_ConfigurableHellsphereCannon.cs | 93 +++++++ .../WulaFallenEmpire/WulaFallenEmpire.csproj | 2 + 11 files changed, 438 insertions(+), 175 deletions(-) create mode 100644 1.6/Defs/HediffDefs/Hediffs_WULA_Damage_Effect.xml create mode 100644 Source/WulaFallenEmpire/TimedExplosion.cs create mode 100644 Source/WulaFallenEmpire/Verb/ExplosionParameters.cs create mode 100644 Source/WulaFallenEmpire/Verb/Projectile_ConfigurableHellsphereCannon.cs diff --git a/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/Assemblies/WulaFallenEmpire.dll index ad92913e605d18b06302fdf124236bac84a6680c..dda1f49ba750a29d58262a6fe629f30e93dee208 100644 GIT binary patch delta 51485 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

AD_&e0UB3u{$pu~C7LC`!3>+c4CNsfQ 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 delta 46697 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 diff --git a/1.6/Defs/DamageDefs/Damages_Wula.xml b/1.6/Defs/DamageDefs/Damages_Wula.xml index e671af25..78152004 100644 --- a/1.6/Defs/DamageDefs/Damages_Wula.xml +++ b/1.6/Defs/DamageDefs/Damages_Wula.xml @@ -1,6 +1,6 @@  - + Wula_Darm_Matter_Beam true @@ -41,4 +41,16 @@ {0} 由于暗物质湮灭爆炸而死。 + + + Wula_Darm_Matter_Beam_Explode + +

  • + WULA_Darkmatter_Explosion + 0.01 + true + true +
  • + + diff --git a/1.6/Defs/HediffDefs/Hediffs_WULA_Damage_Effect.xml b/1.6/Defs/HediffDefs/Hediffs_WULA_Damage_Effect.xml new file mode 100644 index 00000000..3cc27c45 --- /dev/null +++ b/1.6/Defs/HediffDefs/Hediffs_WULA_Damage_Effect.xml @@ -0,0 +1,32 @@ + + + + + WULA_Darkmatter_Explosion + + 你身上沾染了不明暗物质!马上就要爆炸了!只能祝你好运咯~ + (1, 1, 0.8) + HediffWithComps + +
  • + -4 +
  • +
  • + Wula_Darm_Matter_Flame + Explosion_Bomb + 1.5 + true + 15 + 0.10 + 10 +
  • +
  • + + +
  • + + true +
  • + +
    +
    \ No newline at end of file diff --git a/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Sample_Weapon.xml b/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Sample_Weapon.xml index 4ee608a1..cf9ae383 100644 --- a/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Sample_Weapon.xml +++ b/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Sample_Weapon.xml @@ -42,10 +42,10 @@
  • WulaFallenEmpire.Verb_ShootArc true - Wula_Darm_Matter_Beam + Wula_Darm_Matter_Beam_Explode 20 20 - 0.5 + 1 34.9 25 1.0 diff --git a/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Weapon.xml b/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Weapon.xml index 95251cee..16369576 100644 --- a/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Weapon.xml +++ b/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Weapon.xml @@ -1577,26 +1577,25 @@ Bullet_WULA_RW_Handle_Cannon - - Projectile_Explosive + WulaFallenEmpire.Projectile_ConfigurableHellsphereCannon Things/Projectile/HellsphereCannon Graphic_Single MoteGlow (1.5, 3) - + Vaporize 75 - 300 - 2.5 + 75 + 1.5 0.75 - + diff --git a/Source/WulaFallenEmpire/.vs/WulaFallenEmpire/v17/.suo b/Source/WulaFallenEmpire/.vs/WulaFallenEmpire/v17/.suo index d2045a8f47ff78302108594698bdcbb31d5192b9..3a65d2f5cc9f3a6e80349d793d49bd1ccebac324 100644 GIT binary patch delta 7897 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 b3N&?F0k%@!NP + (HediffCompProperties_TimedExplosion)props; + + // 消失判定属性 + public override bool CompShouldRemove + { + get + { + if (ticksToDisappear > 0) return false; + if (Props.requiredMentalState != null) + { + return parent.pawn.MentalStateDef != Props.requiredMentalState; + } + return true; + } + } + + // 进度计算 + public float Progress => + 1f - (float)ticksToDisappear / Mathf.Max(1, disappearsAfterTicks); + + public int EffectiveTicksToDisappear => ticksToDisappear / TicksLostPerTick; + + public float NoisyProgress => AddNoiseToProgress(Progress, seed); + + public virtual int TicksLostPerTick => 1; + + public override string CompLabelInBracketsExtra + { + get + { + if (Props.showRemainingTime) + { + if (EffectiveTicksToDisappear < 2500) + { + return EffectiveTicksToDisappear.ToStringSecondsFromTicks("F0"); + } + return EffectiveTicksToDisappear.ToStringTicksToPeriod(allowSeconds: true, shortForm: true, canUseDecimals: true, allowYears: true, Props.canUseDecimalsShortForm); + } + return base.CompLabelInBracketsExtra; + } + } + + private static float AddNoiseToProgress(float progress, int seed) + { + float num = (float)Perlin.GetValue(progress, 0.0, 0.0, 9.0, seed); + float num2 = 0.25f * (1f - progress); + return Mathf.Clamp01(progress + num2 * num); + } + + // 初始化 + public override void CompPostMake() + { + base.CompPostMake(); + disappearsAfterTicks = Props.disappearsAfterTicks.RandomInRange; + seed = Rand.Int; + ticksToDisappear = disappearsAfterTicks; + } + + // 每帧更新 + public override void CompPostTick(ref float severityAdjustment) + { + ticksToDisappear--; + if (CompShouldRemove) + { + parent.pawn.health.RemoveHediff(parent); + } + } + + // 移除后处理 + public override void CompPostPostRemoved() + { + base.CompPostPostRemoved(); + + // 处理新鲜伤口状态 + if (!Props.leaveFreshWounds && parent.Part != null) + { + foreach (BodyPartRecord part in parent.Part.GetPartAndAllChildParts()) + { + Hediff_MissingPart hediff = parent.pawn.health.hediffSet.GetMissingPartFor(part) as Hediff_MissingPart; + if (hediff != null) + { + hediff.IsFresh = false; + } + } + } + + // 触发爆炸逻辑 + if (ShouldTriggerExplosion()) + { + TriggerExplosion(); + DestroyGearIfNeeded(); + } + + // 发送消息通知 + if (!Props.messageOnDisappear.NullOrEmpty() && PawnUtility.ShouldSendNotificationAbout(parent.pawn)) + { + Messages.Message( + Props.messageOnDisappear.Formatted(parent.pawn.Named("PAWN")), + parent.pawn, + MessageTypeDefOf.NeutralEvent + ); + } + + // 发送信件通知 + if (!Props.letterTextOnDisappear.NullOrEmpty() && + !Props.letterLabelOnDisappear.NullOrEmpty() && + PawnUtility.ShouldSendNotificationAbout(parent.pawn)) + { + Find.LetterStack.ReceiveLetter( + Props.letterLabelOnDisappear.Formatted(parent.pawn.Named("PAWN")), + Props.letterTextOnDisappear.Formatted(parent.pawn.Named("PAWN")), + LetterDefOf.NegativeEvent, + parent.pawn + ); + } + } + + // 爆炸条件检查 + private bool ShouldTriggerExplosion() + { + return parent.pawn.Spawned && + Props.explosionRadius > 0.01f && + Props.damageDef != null && + parent.pawn.Map != null; + } + + // 执行爆炸 + private void TriggerExplosion() + { + GenExplosion.DoExplosion( + center: parent.pawn.Position, + map: parent.pawn.Map, + radius: Props.explosionRadius, + damType: Props.damageDef, + instigator: parent.pawn, + damAmount: Props.damageAmount, + armorPenetration: Props.armorPenetration, + explosionSound: Props.soundDef, + weapon: null, + projectile: null, + intendedTarget: null, + postExplosionSpawnThingDef: Props.postExplosionSpawnThingDef, + postExplosionSpawnChance: Props.postExplosionSpawnChance, + postExplosionSpawnThingCount: Props.postExplosionSpawnThingCount, + postExplosionGasType: null, + applyDamageToExplosionCellsNeighbors: false, + chanceToStartFire: Props.chanceToStartFire, + damageFalloff: Props.damageFalloff, + direction: null, + ignoredThings: new List { parent.pawn } + ); + } + + // 装备销毁 + private void DestroyGearIfNeeded() + { + if (!Props.destroyGear) return; + + if (parent.pawn.equipment != null) + { + parent.pawn.equipment.DestroyAllEquipment(DestroyMode.Vanish); + } + if (parent.pawn.apparel != null) + { + parent.pawn.apparel.DestroyAll(DestroyMode.Vanish); + } + } + + // 数据持久化 + public override void CompExposeData() + { + Scribe_Values.Look(ref ticksToDisappear, "ticksToDisappear", 0); + Scribe_Values.Look(ref disappearsAfterTicks, "disappearsAfterTicks", 0); + Scribe_Values.Look(ref seed, "seed", 0); + } + + // 调试信息 + public override string CompDebugString() + { + return $"倒计时: {ticksToDisappear}\n爆炸半径: {Props.explosionRadius}"; + } + } + + public class HediffCompProperties_TimedExplosion : HediffCompProperties + { + [Header("消失设置")] + public IntRange disappearsAfterTicks = new IntRange(600, 1200); + public bool showRemainingTime = true; + public bool canUseDecimalsShortForm; + public MentalStateDef requiredMentalState; + public bool leaveFreshWounds = true; + + [Header("爆炸设置")] + public float explosionRadius = 3f; + public DamageDef damageDef; + public int damageAmount = 20; + public float armorPenetration; + public SoundDef soundDef; + public float chanceToStartFire; + public bool damageFalloff = true; + + [Header("后续效果")] + public bool destroyGear; + public GasType gasType; + public ThingDef postExplosionSpawnThingDef; + public float postExplosionSpawnChance; + public int postExplosionSpawnThingCount = 1; + + [Header("通知设置")] + [MustTranslate] + public string messageOnDisappear; + [MustTranslate] + public string letterLabelOnDisappear; + [MustTranslate] + public string letterTextOnDisappear; + public bool sendLetterOnDisappearIfDead = true; + + public HediffCompProperties_TimedExplosion() + { + compClass = typeof(HediffComp_TimedExplosion); + } + } +} diff --git a/Source/WulaFallenEmpire/Verb/ExplosionParameters.cs b/Source/WulaFallenEmpire/Verb/ExplosionParameters.cs new file mode 100644 index 00000000..ca857e6a --- /dev/null +++ b/Source/WulaFallenEmpire/Verb/ExplosionParameters.cs @@ -0,0 +1,26 @@ +using Verse; +using RimWorld; +using System.Collections.Generic; + +namespace ConfigurableHellsphereCannon +{ + public class ExplosionParameters : DefModExtension + { + public float explosionRadius = 4.9f; + public SoundDef explosionSound = null; + public ThingDef postExplosionSpawnThingDef = null; + public float postExplosionSpawnChance = 0f; + public int postExplosionSpawnThingCount = 1; + public GasType? postExplosionGasType = null; + public bool applyDamageToExplosionCellsNeighbors = false; + public ThingDef preExplosionSpawnThingDef = null; + public float preExplosionSpawnChance = 0f; + public int preExplosionSpawnThingCount = 1; + public bool damageFalloff = false; + public ThingDef filth = null; + public bool doVisualEffects = true; + public float screenShakeFactor = 1f; + public bool doSoundEffects = true; + public bool doHitEffects = true; + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/Verb/Projectile_ConfigurableHellsphereCannon.cs b/Source/WulaFallenEmpire/Verb/Projectile_ConfigurableHellsphereCannon.cs new file mode 100644 index 00000000..d346985b --- /dev/null +++ b/Source/WulaFallenEmpire/Verb/Projectile_ConfigurableHellsphereCannon.cs @@ -0,0 +1,93 @@ +using Verse; +using RimWorld; +using System.Collections.Generic; + +namespace WulaFallenEmpire +{ + /// + /// ڶXML ڵõԶԡ + /// + public class ProjectileProperties_ConfigurableHellsphereCannon : ProjectileProperties + { + // --- ֣ explosionChanceToStartFire --- + // ʹ 'new' ؼز滻ֶͬ + public new float explosionRadius = 4.9f; + public new float explosionChanceToStartFire = 0f; // <--- УʹXML + public new bool applyDamageToExplosionCellsNeighbors = false; + public new ThingDef preExplosionSpawnThingDef = null; + public new float preExplosionSpawnChance = 0f; + public new int preExplosionSpawnThingCount = 1; + public new ThingDef postExplosionSpawnThingDef = null; + public new float postExplosionSpawnChance = 0f; + public new int postExplosionSpawnThingCount = 1; + public new GasType? postExplosionGasType = null; + public new float screenShakeFactor = 1f; + public new ThingDef postExplosionSpawnThingDefWater = null; + public new ThingDef postExplosionSpawnSingleThingDef = null; + public new ThingDef preExplosionSpawnSingleThingDef = null; + + // ЩӵȫֶΣҪ 'new' ؼ + public SoundDef explosionSound = null; + public bool damageFalloff = false; + public bool doVisualEffects = true; + public bool doSoundEffects = true; + public float? postExplosionGasRadiusOverride = null; + public int postExplosionGasAmount = 255; + public float? direction = null; + public FloatRange? affectedAngle = null; + public float excludeRadius = 0f; + public SimpleCurve flammabilityChanceCurve = null; + } + + /// + /// Ͷĺ߼࣬XMLе ָ + /// + public class Projectile_ConfigurableHellsphereCannon : Projectile + { + public ProjectileProperties_ConfigurableHellsphereCannon Props => (ProjectileProperties_ConfigurableHellsphereCannon)def.projectile; + + protected override void Impact(Thing hitThing, bool blockedByShield = false) + { + Map map = base.Map; + base.Impact(hitThing, blockedByShield); + + GenExplosion.DoExplosion( + center: base.Position, + map: map, + radius: Props.explosionRadius, + damType: base.DamageDef, + instigator: launcher, + damAmount: DamageAmount, + armorPenetration: ArmorPenetration, + explosionSound: Props.explosionSound, + weapon: equipmentDef, + projectile: def, + intendedTarget: intendedTarget.Thing, + postExplosionSpawnThingDef: Props.postExplosionSpawnThingDef, + postExplosionSpawnChance: Props.postExplosionSpawnChance, + postExplosionSpawnThingCount: Props.postExplosionSpawnThingCount, + postExplosionGasType: Props.postExplosionGasType, + postExplosionGasRadiusOverride: Props.postExplosionGasRadiusOverride, + postExplosionGasAmount: Props.postExplosionGasAmount, + applyDamageToExplosionCellsNeighbors: Props.applyDamageToExplosionCellsNeighbors, + preExplosionSpawnThingDef: Props.preExplosionSpawnThingDef, + preExplosionSpawnChance: Props.preExplosionSpawnChance, + preExplosionSpawnThingCount: Props.preExplosionSpawnThingCount, + // --- ֣ʹȷֶ --- + chanceToStartFire: Props.explosionChanceToStartFire, // <--- ˴ + damageFalloff: Props.damageFalloff, + direction: Props.direction, + affectedAngle: Props.affectedAngle, + doVisualEffects: Props.doVisualEffects, + propagationSpeed: base.DamageDef.expolosionPropagationSpeed, + excludeRadius: Props.excludeRadius, + doSoundEffects: Props.doSoundEffects, + postExplosionSpawnThingDefWater: Props.postExplosionSpawnThingDefWater, + screenShakeFactor: Props.screenShakeFactor, + flammabilityChanceCurve: Props.flammabilityChanceCurve, + postExplosionSpawnSingleThingDef: Props.postExplosionSpawnSingleThingDef, + preExplosionSpawnSingleThingDef: Props.preExplosionSpawnSingleThingDef + ); + } + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj index 1237c021..589cf25e 100644 --- a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj +++ b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj @@ -116,6 +116,8 @@ + +