-
Notifications
You must be signed in to change notification settings - Fork 260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes for siege mortar ammo #3169
Fixes for siege mortar ammo #3169
Conversation
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-9361492548.zip |
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-9397495729.zip |
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-9397817283.zip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
works as intended, the endless shell reinforcement pod bug is also gone 👍
<Operation Class="PatchOperationAddModExtension"> | ||
<xpath>Defs/DamageDef[defName="ToxGas"]</xpath> | ||
<value> | ||
<li Class="CombatExtended.DamageDefExtensionCE"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I honestly think this is probably something we'd prefer to add to the ammo item, rather than the DamageDef itself--that leaves us finer control over what does or doesn't spawn for mortar shells dropped to sieges. Thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I don't really like how currently we can't control it per shell, was originally done this way to stay similar to the old/vanilla method of just checking damage but it's definitely gotten bloated/overcomplicated. What do you think about scrapping the damage/harmshealth checks entirely and instead adding something like SpawnAsSiegeAmmo
to the AmmoDef class? That way we can just blacklist shells we don't want since I think default behaviour should be to include them
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I think an easy true/false we can just assign to each shell as an override is probably our easiest way to address edge cases. Leave the more straight-forward checks in the code to filter out shells that obviously aren't suitable for siege, but we'll just use xml to address any outliers as necessary. Otherwise, we end up with a hideous, expensive string of checks that still will find a way to let some strange shells spawn when they shouldn't.
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-9425307782.zip |
Updated to use spawnAsSiegeAmmo instead. Still filters out shells who have no projectile or explosive damagedef or dont pass the checks for marketvalue / emp. Check the updated xml patch for the firefoam and smoke shells for example usage. |
91a0f89
into
CombatExtended-Continued:Development
Additions
Changes
Reasoning
Testing
Check tests you have performed: