Skip to content
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 Particle Accelerators being unable to activate tesla/singulo engine. #9942

Merged
merged 9 commits into from
Oct 9, 2023
6 changes: 3 additions & 3 deletions code/modules/projectiles/projectile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
var/phasing_ignore_direct_target = FALSE
/// Bitflag for things the projectile should just phase through entirely - No hitting unless direct target and [phasing_ignore_direct_target] is FALSE. Uses pass_flags flags.
var/projectile_phasing = NONE
/// Bitflag for things the projectile should hit, but pierce through without deleting itself. Defers to projectile_phasing. Uses pass_flags flags.
/// Bitflag for things the projectile should hit, but pierce through without deleting itself. Considered before just purely phasing. Uses pass_flags flags.
var/projectile_piercing = NONE
/// number of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc!
var/pierces = 0
Expand Down Expand Up @@ -570,10 +570,10 @@
* Return PROJECTILE_DELETE_WITHOUT_HITTING to delete projectile without hitting at all!
*/
/obj/projectile/proc/prehit_pierce(atom/A)
if((projectile_phasing & A.pass_flags_self) && (!phasing_ignore_direct_target || original != A))
return PROJECTILE_PIERCE_PHASE
if(projectile_piercing & A.pass_flags_self)
return PROJECTILE_PIERCE_HIT
if((projectile_phasing & A.pass_flags_self) && (!phasing_ignore_direct_target || original != A))
return PROJECTILE_PIERCE_PHASE
if(ismovable(A))
var/atom/movable/AM = A
if(AM.throwing)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
range = 10
speed = 1
projectile_piercing = PASSMOB | PASSANOMALY | PASSMACHINE
projectile_phasing = (ALL & (~PASSMOB) & (~PASSBLOB) & (~PASSANOMALY) & (~PASSMACHINE))
projectile_phasing = (ALL & ~(PASSMOB | PASSBLOB | PASSANOMALY | PASSMACHINE))
suppressed = SUPPRESSED_VERY //we don't want every machine that gets hit to spam chat
hitsound = null
irradiate = 60
Expand Down