Skip to content

Commit 0889415

Browse files
Integrating pyrelight content with backported content that went to Neb main.
1 parent 7271d22 commit 0889415

File tree

21 files changed

+14
-432
lines changed

21 files changed

+14
-432
lines changed

code/modules/mob/living/human/death.dm

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
/mob/living/human/gib(do_gibs = TRUE)
22
var/turf/my_turf = get_turf(src)
3-
if(do_gibs && has_trait(/decl/trait/undead, TRAIT_LEVEL_MODERATE))
4-
do_gibs = FALSE
5-
. = ..(do_gibs)
3+
. = ..()
64
if(.)
75
for(var/obj/item/organ/I in get_internal_organs())
86
remove_organ(I)
@@ -18,15 +16,10 @@
1816
E.throw_at(get_edge_target_turf(E, pick(global.alldirs)), rand(1,3), THROWFORCE_GIBS)
1917

2018
/mob/living/human/get_death_message(gibbed)
21-
if(has_trait(/decl/trait/undead, TRAIT_LEVEL_MODERATE))
22-
return "crumbles and falls apart!"
2319
if(get_config_value(/decl/config/toggle/health_show_human_death_message))
2420
return species.get_species_death_message(src) || "seizes up and falls limp..."
2521
return ..()
2622

27-
/mob/living/human/get_self_death_message(gibbed)
28-
return has_trait(/decl/trait/undead, TRAIT_LEVEL_MODERATE) ? "You have crumbled." : ..()
29-
3023
/mob/living/human/death(gibbed)
3124
if(!(. = ..()))
3225
return
@@ -43,12 +36,6 @@
4336
if(SSticker.mode)
4437
SSticker.mode.check_win()
4538

46-
if(!QDELETED(src) && !gibbed && has_trait(/decl/trait/undead, TRAIT_LEVEL_MODERATE))
47-
gib()
48-
49-
/mob/living/human/get_gibber_type()
50-
return has_trait(/decl/trait/undead, TRAIT_LEVEL_MODERATE) ? null : ..()
51-
5239
/mob/living/human/physically_destroyed(var/skip_qdel, var/droplimb_type = DISMEMBER_METHOD_BLUNT)
5340
for(var/obj/item/organ/external/limb in get_external_organs())
5441
if(!limb.parent_organ) // don't dismember root

code/modules/mob/living/human/human.dm

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,16 +1121,6 @@
11211121
var/temp_inc = max(min(BODYTEMP_HEATING_MAX*(1-get_heat_protection()), exposed_temperature - bodytemperature), 0)
11221122
bodytemperature += temp_inc
11231123

1124-
/mob/living/human/need_breathe()
1125-
return has_trait(/decl/trait/undead) ? FALSE : ..()
1126-
1127-
// Undead don't get hungry/thirsty (except for brains)
1128-
/mob/living/human/get_nutrition()
1129-
return has_trait(/decl/trait/undead) ? get_max_nutrition() : ..()
1130-
1131-
/mob/living/human/get_hydration()
1132-
return has_trait(/decl/trait/undead) ? get_max_hydration() : ..()
1133-
11341124
/mob/living/human/currently_has_skin()
11351125
return currently_has_meat()
11361126

@@ -1146,29 +1136,6 @@
11461136
/mob/living/human/get_attack_telegraph_delay()
11471137
return client ? 0 : DEFAULT_ATTACK_COOLDOWN
11481138

1149-
/mob/living/human/set_status_condition(condition, amount)
1150-
if(has_trait(/decl/trait/undead))
1151-
var/static/list/ignore_status_conditions = list(
1152-
STAT_BLIND,
1153-
STAT_DEAF,
1154-
STAT_CONFUSE,
1155-
STAT_DIZZY,
1156-
STAT_JITTER,
1157-
STAT_STUTTER,
1158-
STAT_SLUR,
1159-
STAT_ASLEEP,
1160-
STAT_DRUGGY,
1161-
STAT_DROWSY,
1162-
STAT_BLURRY,
1163-
STAT_BLIND,
1164-
STAT_TINNITUS,
1165-
STAT_DEAF
1166-
)
1167-
if(condition in ignore_status_conditions)
1168-
return
1169-
1170-
. = ..()
1171-
11721139
/mob/living/human/isSynthetic()
11731140
if(isnull(full_prosthetic))
11741141
robolimb_count = 0

code/modules/mob/living/human/human_appearance_head.dm

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,8 @@
33

44
// Eyes! TODO, make these a marking.
55
/mob/living/human/get_eye_colour()
6-
// Force an evil red glow for undead mobs.
7-
if(stat == CONSCIOUS && has_trait(/decl/trait/undead))
8-
return COLOR_RED
96
return _eye_colour
107

11-
/mob/living/human/death(gibbed)
12-
. = ..()
13-
if(!QDELETED(src) && has_trait(/decl/trait/undead))
14-
var/obj/item/organ/external/head/head = get_organ(BP_HEAD)
15-
head.glowing_eyes = initial(head.glowing_eyes)
16-
update_eyes()
17-
188
/mob/living/human/set_eye_colour(var/new_color, var/skip_update = FALSE)
199
if((. = ..()))
2010
_eye_colour = new_color

code/modules/mob/living/human/human_damage.dm

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
11
/mob/living/human/get_life_damage_types()
2-
if(has_trait(/decl/trait/undead))
3-
// Undead human mobs use brute and burn damage instead of brain damage, a la simplemobs.
4-
var/static/list/life_damage_types = list(
5-
BURN,
6-
BRUTE
7-
)
8-
return life_damage_types
92
var/static/list/brain_life_damage_types = list(
103
BRAIN
114
)
@@ -146,13 +139,9 @@
146139
return 0
147140

148141
/mob/living/human/setOxyLoss(var/amount)
149-
if(has_trait(/decl/trait/undead))
150-
return
151142
take_damage(amount - get_damage(OXY), OXY)
152143

153144
/mob/living/human/adjustOxyLoss(var/damage, var/do_update_health = TRUE)
154-
if(has_trait(/decl/trait/undead))
155-
return
156145
. = FALSE
157146
if(need_breathe())
158147
var/obj/item/organ/internal/lungs/breathe_organ = get_organ(get_bodytype().breathing_organ, /obj/item/organ/internal/lungs)
@@ -163,21 +152,21 @@
163152
..(do_update_health = FALSE) // Oxyloss cannot directly kill humans
164153

165154
/mob/living/human/getToxLoss()
166-
if((species.species_flags & SPECIES_FLAG_NO_POISON) || isSynthetic() || has_trait(/decl/trait/undead))
155+
if((species.species_flags & SPECIES_FLAG_NO_POISON) || isSynthetic())
167156
return 0
168157
var/amount = 0
169158
for(var/obj/item/organ/internal/I in get_internal_organs())
170159
amount += I.getToxLoss()
171160
return amount
172161

173162
/mob/living/human/setToxLoss(var/amount)
174-
if(!(species.species_flags & SPECIES_FLAG_NO_POISON) && !isSynthetic() || has_trait(/decl/trait/undead))
163+
if(!(species.species_flags & SPECIES_FLAG_NO_POISON) && !isSynthetic())
175164
take_damage(get_damage(TOX)-amount, TOX)
176165

177166
// TODO: better internal organ damage procs.
178167
/mob/living/human/adjustToxLoss(var/amount, var/do_update_health = TRUE)
179168

180-
if((species.species_flags & SPECIES_FLAG_NO_POISON) || isSynthetic() || has_trait(/decl/trait/undead))
169+
if((species.species_flags & SPECIES_FLAG_NO_POISON) || isSynthetic())
181170
return
182171

183172
var/heal = amount < 0

code/modules/mob/living/human/human_organs.dm

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -156,25 +156,12 @@
156156
LAZYDISTINCTADD(bad_external_organs, E)
157157

158158
/mob/living/human/proc/check_vital_organ_missing()
159-
// Undead don't care about missing internal organs.
160-
if(has_trait(/decl/trait/undead))
161-
return FALSE
162159
return get_bodytype()?.check_vital_organ_missing(src)
163160

164-
/mob/living/human/should_have_organ(organ_to_check)
165-
// It might be nice to have eyes etc. matter for zombies, but as all organs are dead it won't work currently.
166-
return has_trait(/decl/trait/undead) ? FALSE : ..()
167-
168161
/mob/living/human/proc/process_internal_organs()
169-
if(has_trait(/decl/trait/undead))
170-
return
171162
for(var/obj/item/organ/I in internal_organs)
172163
I.Process()
173164

174-
/mob/living/human/get_vision_organ_tag()
175-
// Where we're going, we don't need eyes.
176-
return has_trait(/decl/trait/undead) ? null : ..()
177-
178165
// Takes care of organ related updates, such as broken and missing limbs
179166
/mob/living/human/proc/handle_organs()
180167

code/modules/organs/organ.dm

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -435,9 +435,7 @@
435435
return bodytype && !(bodytype.body_flags & BODY_FLAG_NO_PAIN) && !(status & ORGAN_DEAD)
436436

437437
/obj/item/organ/proc/is_usable()
438-
. = !(status & (ORGAN_CUT_AWAY|ORGAN_MUTATED))
439-
if(. && (status & ORGAN_DEAD))
440-
return owner?.has_trait(/decl/trait/undead)
438+
return !(status & (ORGAN_DEAD|ORGAN_CUT_AWAY|ORGAN_MUTATED))
441439

442440
/obj/item/organ/proc/can_recover()
443441
return (max_damage > 0) && !(status & ORGAN_DEAD) || death_time >= REALTIMEOFDAY - ORGAN_RECOVERY_THRESHOLD

maps/karzerfeste/karzerfeste.dm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
#include "../../mods/content/scaling_descriptors.dm"
77
#include "../../mods/species/drakes/_drakes.dme" // include before _fantasy.dme so overrides work
88
#include "../../mods/content/fantasy/_fantasy.dme"
9+
#include "../../mods/content/undead/_undead.dme"
10+
#include "../../mods/content/biomods/_biomods.dme"
911
#include "../../mods/pyrelight/_pyrelight.dme" // include after _fantasy.dme so overrides work
1012

1113
#include "areas/_area.dm"

maps/shaded_hills/shaded_hills.dm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
#include "../../mods/content/item_sharpening/_item_sharpening.dme"
99
#include "../../mods/content/anima/_anima.dme" // include before _fantasy.dme so skill overrides work
1010
#include "../../mods/content/fantasy/_fantasy.dme"
11+
#include "../../mods/content/undead/_undead.dme"
12+
#include "../../mods/content/biomods/_biomods.dme"
1113
#include "../../mods/pyrelight/_pyrelight.dme" // include after _fantasy.dme so overrides work
1214
#include "../../mods/content/blacksmithy/_blacksmithy.dme"
1315

mods/content/undead/_undead.dme

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
#include "overrides.dm"
66
#include "skillset.dm"
77
#include "traits.dm"
8-
#include "mods\undead.dm"
9-
#include "mods\undead_skeleton.dm"
10-
#include "mods\undead_zombie.dm"
8+
#include "mobs\undead.dm"
9+
#include "mobs\undead_skeleton.dm"
10+
#include "mobs\undead_zombie.dm"
1111
// END_INCLUDE
1212
#endif

0 commit comments

Comments
 (0)