Refactors projectile ricochets (#25764)

* same taste, twice the speed

* pulls proc/handle_ricochet() to the atom level. adds var/flags_ricochet and related defines.

* space indentation sneaks its way in yet again

---------

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
chuga-git
2024-06-12 19:08:57 +00:00
committed by GitHub
co-authored by Luc
parent c46630b1ea
commit 438faac253
10 changed files with 86 additions and 37 deletions
+8 -4
View File
@@ -63,12 +63,10 @@
#define OVERLAY_QUEUED_2 (1<<12)
#define CHECK_RICOCHET_2 (1<<13)
/// should the contents of this atom be acted upon
#define RAD_PROTECT_CONTENTS_2 (1<<14)
#define RAD_PROTECT_CONTENTS_2 (1<<14)
/// should this object be allowed to be contaminated
#define RAD_NO_CONTAMINATE_2 (1<<15)
#define RAD_NO_CONTAMINATE_2 (1<<15)
/// Prevents shuttles from deleting the item
#define IMMUNE_TO_SHUTTLECRUSH_2 (1<<16)
/// Prevents malf AI animate + overload ability
@@ -80,6 +78,12 @@
/// This flag allows for wearing of a belt item, even if you're not wearing a jumpsuit
#define ALLOW_BELT_NO_JUMPSUIT_2 (1<<20)
// /atom ricochet flags
/// If the thing can reflect light (lasers/energy)
#define RICOCHET_SHINY (1<<0)
/// If the thing can reflect matter (bullets/bomb shrapnel)
#define RICOCHET_HARD (1<<1)
//Reagent flags
#define REAGENT_NOREACT 1