diff --git a/CHANGELOG.md b/CHANGELOG.md index c3f847e1..27c2b7a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ### 1.5.18 (20108) - A bit of project cleanup; tools/snippets is now tools/pcommand, etc. -- More minor bug fixes and crash/bug-logging improvements.. +- More minor bug fixes and crash/bug-logging improvements. ### 1.5.17 (20102) - More cleanup to logging and crash reporting system. diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index b17b8450..7a0a5ed2 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -10,3 +10,7 @@ ### Roman Trapeznikov - Bug fixes and code cleanup + +### Benefit-Zebra +- Unofficial BombSquad Bug Finder +- Code Cleanup diff --git a/assets/src/ba_data/python/bastd/actor/bomb.py b/assets/src/ba_data/python/bastd/actor/bomb.py index 9d2ff2a5..47a7463d 100644 --- a/assets/src/ba_data/python/bastd/actor/bomb.py +++ b/assets/src/ba_data/python/bastd/actor/bomb.py @@ -1005,12 +1005,16 @@ class Bomb(ba.Actor): ba.playsound(factory.activate_sound, 0.5, position=self.node.position) def _handle_hit(self, msg: ba.HitMessage) -> None: - ispunch = (msg.srcnode and msg.srcnode.getnodetype() == 'spaz') + ispunched = (msg.srcnode and msg.srcnode.getnodetype() == 'spaz') # Normal bombs are triggered by non-punch impacts; # impact-bombs by all impacts. - if (not self._exploded and not ispunch + if not ispunched and (not self._exploded or self.bomb_type in ['impact', 'land_mine']): + # We don't want to give the credit and points to player, + # who punched the bomb of other player in a chain reaction. + # And this will protect the bomb from getting hit_type 'punch'. + # Also lets change the owner of the bomb to whoever is setting # us off. (this way points for big chain reactions go to the # person causing them).