|
1 | 1 | /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 |
9 | 2 | var/static/list/brain_life_damage_types = list( |
10 | 3 | BRAIN |
11 | 4 | ) |
|
146 | 139 | return 0 |
147 | 140 |
|
148 | 141 | /mob/living/human/setOxyLoss(var/amount) |
149 | | - if(has_trait(/decl/trait/undead)) |
150 | | - return |
151 | 142 | take_damage(amount - get_damage(OXY), OXY) |
152 | 143 |
|
153 | 144 | /mob/living/human/adjustOxyLoss(var/damage, var/do_update_health = TRUE) |
154 | | - if(has_trait(/decl/trait/undead)) |
155 | | - return |
156 | 145 | . = FALSE |
157 | 146 | if(need_breathe()) |
158 | 147 | var/obj/item/organ/internal/lungs/breathe_organ = get_organ(get_bodytype().breathing_organ, /obj/item/organ/internal/lungs) |
|
163 | 152 | ..(do_update_health = FALSE) // Oxyloss cannot directly kill humans |
164 | 153 |
|
165 | 154 | /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()) |
167 | 156 | return 0 |
168 | 157 | var/amount = 0 |
169 | 158 | for(var/obj/item/organ/internal/I in get_internal_organs()) |
170 | 159 | amount += I.getToxLoss() |
171 | 160 | return amount |
172 | 161 |
|
173 | 162 | /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()) |
175 | 164 | take_damage(get_damage(TOX)-amount, TOX) |
176 | 165 |
|
177 | 166 | // TODO: better internal organ damage procs. |
178 | 167 | /mob/living/human/adjustToxLoss(var/amount, var/do_update_health = TRUE) |
179 | 168 |
|
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()) |
181 | 170 | return |
182 | 171 |
|
183 | 172 | var/heal = amount < 0 |
|
0 commit comments