Function `object_create_explosion_sub` is supposed to be given a weapon and an object on which to explode it. However, the original game abused `object_create_explosion_sub` by also calling it from `object_create_badass_explosion`, which can be called from `explode_badass_object`, which can be called from `explode_badass_player`. Chained together, this lets `object_create_explosion_sub` check the weapon ID of a dying player, which is not a valid operation. This causes a diagnostic from `get_weapon_id`. Add an explicit test that the object is a weapon so that non-weapons do not cause a diagnostic. Reported-by: ryusei117 <https://github.com/dxx-rebirth/dxx-rebirth/issues/302#issuecomment-272048330> Analyzed-by: zicodxx <https://github.com/dxx-rebirth/dxx-rebirth/issues/302#issuecomment-272710279> |
||
---|---|---|
.. | ||
2d | ||
3d | ||
arch | ||
editor | ||
main | ||
misc |