Skip to content

Commit

Permalink
Kapulimbs Parity Pt. 1 (#10005)
Browse files Browse the repository at this point in the history
* done

* required-organs_back

* fix it

* appendix snowflake returns

* readd le tails

* update features
  • Loading branch information
Tsar-Salat authored Sep 10, 2024
1 parent 1972578 commit cf7804e
Show file tree
Hide file tree
Showing 32 changed files with 323 additions and 333 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/dcs/signals/signals_mob/signals_carbon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@

///from base of /obj/item/bodypart/proc/try_attach_limb(): (new_limb, special)
#define COMSIG_CARBON_ATTACH_LIMB "carbon_attach_limb"
#define COMPONENT_NO_ATTACH (1<<0)
/// Called from bodypart being attached /obj/item/bodypart/proc/try_attach_limb(mob/living/carbon/new_owner, special)
#define COMSIG_BODYPART_ATTACHED "bodypart_attached"
///from base of /obj/item/bodypart/proc/try_attach_limb(): (new_limb, special)
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/dcs/signals/signals_mob/signals_living.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
#define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act"
///from base of mob/living/revive() (full_heal, admin_revive)
#define COMSIG_LIVING_REVIVE "living_revive"
///from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs)
#define COMSIG_LIVING_REGENERATE_LIMBS "living_regen_limbs"
///from base of mob/living/set_buckled(): (new_buckled)
#define COMSIG_LIVING_SET_BUCKLED "living_set_buckled"
#define COMSIG_LIVING_MINOR_SHOCK "living_minor_shock" //! sent by stuff like stunbatons and tasers: ()
Expand Down
2 changes: 1 addition & 1 deletion code/datums/diseases/advance/symptoms/clockwork.dm
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@
H.update_body()
return
if(istype(H))
if(!("tail_human" in H.dna.species.mutant_bodyparts))
if(!(H.dna.species.mutant_bodyparts["tail_human"]))
H.dna.features["tail_human"] = tail_type
H.dna.species.mutant_bodyparts |= "tail_human"
H.update_body()
Expand Down
9 changes: 0 additions & 9 deletions code/datums/diseases/advance/symptoms/organs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -202,15 +202,6 @@
O.Insert(M, drop_if_replaced = FALSE)
M.adjustOrganLoss(ORGAN_SLOT_LIVER, 200)
return
if(!M.getorgan(/obj/item/organ/tail))
if(S.mutanttail)
var/obj/item/organ/tail/O = new S.mutanttail()
O.Insert(M, drop_if_replaced = FALSE)
M.adjustOrganLoss(ORGAN_SLOT_TAIL, 200)
M.visible_message("<span class='notice'>[M] sprouts a new tail!", "<span_class='userdanger'>You sprout a new tail!.</span>")
playsound(M, 'sound/magic/demon_consume.ogg', 50, 1)
M.add_splatter_floor(get_turf(M))
return
if(!M.getorgan(/obj/item/organ/wings))
if(S.mutantwings)
var/obj/item/organ/wings/O = new S.mutantwings()
Expand Down
35 changes: 12 additions & 23 deletions code/game/objects/items/devices/scanners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -410,29 +410,18 @@ GENE SCANNER
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/datum/species/S = H.dna.species
var/mutant = FALSE
if(H.dna.check_mutation(HULK))
mutant = TRUE
else if(S.mutantlungs != initial(S.mutantlungs))
mutant = TRUE
else if(S.mutant_brain != initial(S.mutant_brain))
mutant = TRUE
else if(S.mutant_heart != initial(S.mutant_heart))
mutant = TRUE
else if(S.mutanteyes != initial(S.mutanteyes))
mutant = TRUE
else if(S.mutantears != initial(S.mutantears))
mutant = TRUE
else if(S.mutanthands != initial(S.mutanthands))
mutant = TRUE
else if(S.mutanttongue != initial(S.mutanttongue))
mutant = TRUE
else if(S.mutanttail != initial(S.mutanttail))
mutant = TRUE
else if(S.mutantliver != initial(S.mutantliver))
mutant = TRUE
else if(S.mutantstomach != initial(S.mutantstomach))
mutant = TRUE
var/mutant = H.dna.check_mutation(HULK) \
|| S.mutantlungs != initial(S.mutantlungs) \
|| S.mutantbrain != initial(S.mutantbrain) \
|| S.mutantheart != initial(S.mutantheart) \
|| S.mutanteyes != initial(S.mutanteyes) \
|| S.mutantears != initial(S.mutantears) \
|| S.mutanthands != initial(S.mutanthands) \
|| S.mutanttongue != initial(S.mutanttongue) \
|| S.mutantliver != initial(S.mutantliver) \
|| S.mutantstomach != initial(S.mutantstomach) \
|| S.mutantappendix != initial(S.mutantappendix) \
|| S.mutantwings != initial(S.mutantwings)

message += "<span class='info'>Species: [S.name][mutant ? "-derived mutant" : ""]</span>"
message += "<span class='info'>Core temperature: [round(H.coretemperature-T0C,0.1)] &deg;C ([round(H.coretemperature*1.8-459.67,0.1)] &deg;F)</span>"
Expand Down
4 changes: 2 additions & 2 deletions code/modules/antagonists/changeling/powers/regenerate.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
C.regenerate_limbs(1)
if(!user.getorganslot(ORGAN_SLOT_BRAIN))
var/obj/item/organ/brain/B
if(C.has_dna() && C.dna.species.mutant_brain)
B = new C.dna.species.mutant_brain()
if(C.has_dna() && C.dna.species.mutantbrain)
B = new C.dna.species.mutantbrain()
else
B = new()
B.organ_flags &= ~ORGAN_VITAL
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/emote.dm
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@
/datum/emote/living/carbon/human/wing/select_message_type(mob/user, intentional)
. = ..()
var/mob/living/carbon/human/H = user
if(("wings" in H.dna.species.mutant_bodyparts) || ("moth_wings" in H.dna.species.mutant_bodyparts))
if((H.dna.species.mutant_bodyparts["wings"]) || (H.dna.species.mutant_bodyparts["moth_wings"]))
. = "opens " + message
else
. = "closes " + message
Expand Down
Loading

0 comments on commit cf7804e

Please sign in to comment.