Patch Anomalies Expected - #4637
Conversation
- DamageDefs: Convert silent-fail PatchOperationReplace -> Add for AENitrogen / AENitrogenPlayer armorCategory (source defs do not declare the element). AEFreezing keeps Replace (source declares Blunt locally). - Races_Entities: Convert ArmorRating_Sharp/Blunt (and Heat for BrokenStatue) Add -> per-stat Replace for all 6 entities (SnowMan, SnowGolem, SnowSpider, IceMantis, IceMan, BrokenStatue). Source defs already declare these stats, so Add was creating duplicates and producing warnings. - Races_Entities: Remove canParry/maxParry from AE_SnowGolem RacePropertiesExtensionCE. CE convention restricts parry to Humanoid bipeds with weapon-arms; SnowGolem is Quadruped. - Weapons_Ranged: Petrification Gun recoilAmount 2.80 -> 3 (CE convention for burst weapons). - All 5 patch files wrapped in PatchOperationFindMod -> PatchOperationSequence to gate execution on Anomalies Expected being loaded.
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-28139309910.zip |
AE_Bullet_Shell_SnowBlockAbility inherits Gun_AESnowBlock_Thrown but its own projectile element needs the CE class attribute set explicitly, otherwise the inherited armorPenetrationBlunt and dangerFactor fields fail XML parse. Balance pass anchored against centipede (Sharp 20 Blunt 45 Durability 3660) and scyther (4 / 6) instead of Metalhorror (HP 0.6 parasite). BrokenStatue moves into centipede tier, SnowGolem above pikeman, IceMantis to scyther-light. SnowSpider drops slightly to match its CP 40 swarmer role.
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-28140580723.zip |
Source def has no <comps> element. The Add op silently failed and dropped the ArmorDurability comp. Use PatchOperationConditional to create <comps /> on nomatch so the subsequent Add resolves.
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-28140941061.zip |
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-28165397496.zip |
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-28182203697.zip |
…s leaks Bullet_AEPetrificationBeam was a vanilla Beam class projectile in source. Convert to CombatExtended.Lasers.LaserBeamDefCE inheriting LaserBulletWhite, the same way CE patches the vanilla Odyssey Beam Repeater. Keeps CE ballistics and restores the beam visual via CE's laser graphic. Bullet_AESnowBall, Bullet_AEIcicle, and Gun_AESnowBall_Thrown all inherited thingClass=Bullet from BaseBullet/BaseProjectileSnowArmy with no override. ProjectilePropertiesCE fields were silently no-op at runtime. Add explicit thingClass=CombatExtended.BulletCE on each. Gun_AESnowBlock siege weapon has isMortar=true and forcedMissRadius=3 but was wired to Verb_ShootCE instead of Verb_ShootMortarCE. Switch the verb class and add indirectFirePenalty plus canTargetLocations to match the rocketswarm launcher pattern. Add Class="CombatExtended.VerbPropertiesCE" to entity verb <li> elements so CE-specific fields parse correctly.
9e0384e to
6246fe2
Compare
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-28268992282.zip |
- Drop CompProperties_ProjectileEffecter from Gun_AESnowBlock_Thrown and AE_Bullet_Shell_SnowBlockAbility. The comps validate against Verse.Projectile, and CombatExtended.ProjectileCE_Explosive isn't a subclass, so the effecters spammed config errors at load. - Restore Weapon_AEGrenadeNitrogen's costList. Removing it left the recipeMaker without ingredients and triggered "smeltable but no smelt products." - Drop forcedMissRadius from Gun_AESnowBlock. Verb_ShootMortarCE handles dispersion via stats; the vanilla check requires Projectile_Explosive subclass which CE doesn't satisfy.
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-28333197826.zip |
N7Huntsman
left a comment
There was a problem hiding this comment.
There are some things that need changing, and some overlooked content that still needs patched.
- Get rid of the PatchOpFindMods. See my comment for details.
- Some body parts with verbs (GrinderJaw and GrinderJawHidden) and armor values (ReflectiveSkin) still need patched.
- New bodies need to be patched.
- See other comments.
- Drop PatchOperationFindMod wrappers; LoadFolders gates the folder - Remove DamageDefs.xml: AP_Damage_Teleport's worker teleports without dealing injuries, so armorCategory and defaultArmorPenetration were inert Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Drop PatchOperationFindMod wrapper; LoadFolders gates the folder - Rescale archo connector and subcore hediff armor offsets to CE values Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-29150036397.zip |
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-29152336978.zip |
- Drop PatchOperationFindMod wrappers; LoadFolders gates the folder - Drop AENitrogenPlayer ops; it inherits from AENitrogen via ParentName - Drop defaultArmorPenetration ops; AP is carried by ToolCE and ProjectilePropertiesCE on every delivery path - Convert nitrogen shell to CE ammo and add it to the 81mm mortar ammoset, following the Deadlife shell handling - Add CoveredByNaturalArmor to all six new entity bodies - Patch grinder jaw VerbGiver tool to ToolCE (hidden variant inherits) - Rescale reflective skin and destabilization hediff armor offsets - Document that Gun_*_Thrown defs are projectiles despite the prefix
- Petrification repeater: PatchOperationMakeGunCECompatible replaces the vanilla verb, discarding the defaultProjectile redirect that Projectiles.xml applied to it. The CE verb then fired the vanilla Beam-classed projectile, which Verb_ShootCE cannot launch. Point the MakeGunCECompatible Properties at Bullet_AEPetrificationBeam_CE and drop the dead redirect. - Snow golem siege shell: AE_Bullet_Shell_SnowBlockAbility inherited ProjectileCE_Explosive from its patched parent, but the mod's CompAbilityEffect_SpitLiquid and HediffComp_SnowBlockCompressor hard-cast the spawned thing to Verse.Projectile. Pin the vanilla Projectile_Explosive thingClass (same treatment CE gives the vanilla Bullet_Shell_AcidSpit) and keep its effecter comps, which are valid on the vanilla class.
- Drop PatchOperationFindMod wrapper; LoadFolders gates the folder - Rescale archo connector and subcore hediff armor offsets to CE values
- Drop PatchOperationFindMod wrappers; LoadFolders gates the folder - Remove DamageDefs.xml: AP_Damage_Teleport's worker teleports without dealing injuries, so armorCategory and defaultArmorPenetration were inert
a89f145 to
dfd08d8
Compare
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-29162184855.zip |
The def inherits Flame's ambient-damage handling from CE core. With the mod's Sharp category, the ambient formula pits vanilla-scale penetration against mm RHA sharp armor, so the fleshmass spitter siege buildings dealt zero damage to any armored pawn. Heat matches CE core's handling of the vanilla AcidBurn def.
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-29162805192.zip |
Additions
Changes
none
References
none
Reasoning
Alternatives
Testing
Check tests you have performed: