Split NO_SCAN into two flags (#17226)

* Split NO_SCAN into two flags

* traits

* species flags applied correctly by traits

* fixed species flag toggling for traits

* bold of you

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
This commit is contained in:
Cameron Lennox
2025-03-14 22:34:03 +01:00
committed by GitHub
co-authored by Willburd
parent 5788fd6e21
commit f48f89f1db
37 changed files with 99 additions and 68 deletions
@@ -71,16 +71,16 @@
L.apply_effect(rand(5,20), IRRADIATE, check_protection = 0)
L.apply_damage(max(2,L.getCloneLoss()), CLONE)
// Traitgenes edit begin - NO_SCAN and Synthetics cannot be mutated
// Traitgenes edit begin - NO_DNA and Synthetics cannot be mutated
var/allow = TRUE
if(M.isSynthetic())
allow = FALSE
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(!H.species || H.species.flags & NO_SCAN)
if(!H.species || H.species.flags & NO_DNA)
allow = FALSE
// Traitgenes edit end
if (!(NOCLONE in M.mutations) && allow) // prevents drained people from having their DNA changed, Traitgenes edit - NO_SCAN and Synthetics cannot be mutated
if (!(NOCLONE in M.mutations) && allow) // prevents drained people from having their DNA changed, Traitgenes edit - NO_DNA and Synthetics cannot be mutated
if(buf)
if (buf.types & DNA2_BUF_UI)
if (!block) //isolated block?
+1 -1
View File
@@ -43,7 +43,7 @@
src.icon_state = "morgue2"
get_occupants()
for (var/mob/living/carbon/human/H in occupants)
if(H.isSynthetic() || H.suiciding || !H.ckey || !H.client || (NOCLONE in H.mutations) || (H.species && H.species.flags & NO_SCAN))
if(H.isSynthetic() || H.suiciding || !H.ckey || !H.client || (NOCLONE in H.mutations) || (H.species && H.species.flags & NO_SLEEVE))
src.icon_state = "morgue2"
break
else