diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 10af3669fc4..e9bda2b7625 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -229,8 +229,6 @@ if(iscarbon(M)) //Carbon stuff if(ishuman(M)) M_job = M.job - else if(isslime(M)) - M_job = "slime" else if(ismonkey(M)) M_job = "Monkey" else if(isalien(M)) //aliens @@ -254,6 +252,8 @@ else if(isanimal(M)) //simple animals if(iscorgi(M)) M_job = "Corgi" + else if(isslime(M)) + M_job = "slime" else M_job = "Animal" diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index bb032d309ef..51e086ae669 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -76,3 +76,11 @@ In all, this is a lot like the monkey code. /N adjustBruteLoss(damage) updatehealth() +/mob/living/carbon/alien/attack_slime(mob/living/simple_animal/slime/M as mob) + if(..()) //successful slime attack + var/damage = rand(5, 35) + if(M.is_adult) + damage = rand(10, 40) + adjustBruteLoss(damage) + add_logs(M, src, "attacked", admin=0) + updatehealth() diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index e887a878c99..337f05ebbff 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -27,16 +27,6 @@ if(l_store) l_store.emp_act(severity) ..() -/mob/living/carbon/alien/humanoid/attack_slime(mob/living/simple_animal/slime/M as mob) - ..() - var/damage = rand(5, 35) - if(M.is_adult) - damage = rand(10, 40) - adjustBruteLoss(damage) - add_logs(M, src, "attacked", admin=0) - updatehealth() - return - /mob/living/carbon/alien/humanoid/attack_hulk(mob/living/carbon/human/user) if(user.a_intent == "harm") ..(user, 1) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 26991625701..c560c3d7f3e 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -38,17 +38,6 @@ /mob/living/carbon/alien/larva/attack_ui(slot_id) return -/mob/living/carbon/alien/larva/attack_slime(mob/living/simple_animal/slime/M as mob) - - ..() - var/damage = rand(5, 35) - if(M.is_adult) - damage = rand(20, 40) - adjustBruteLoss(damage) - add_logs(M, src, "attacked", admin=0) - updatehealth() - return - /mob/living/carbon/alien/larva/attack_hulk(mob/living/carbon/human/user) if(user.a_intent == "harm") ..(user, 1) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 6cc72a0af26..c22f1a12bc9 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -66,14 +66,26 @@ /mob/living/carbon/attack_slime(mob/living/simple_animal/slime/M) - if(..()) - var/power = M.powerlevel + rand(0,3) - Weaken(power) - if (stuttering < power) - stuttering = power - Stun(power) - var/stunprob = M.powerlevel * 7 + 10 - if (prob(stunprob) && M.powerlevel >= 8) - adjustFireLoss(M.powerlevel * rand(6,10)) - updatehealth() + if(..()) //successful slime attack + if(M.powerlevel > 0) + var/stunprob = M.powerlevel * 7 + 10 // 17 at level 1, 80 at level 10 + if(prob(stunprob)) + M.powerlevel -= 3 + if(M.powerlevel < 0) + M.powerlevel = 0 + + visible_message("The [M.name] has shocked [src]!", \ + "The [M.name] has shocked [src]!") + + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + var/power = M.powerlevel + rand(0,3) + Weaken(power) + if(stuttering < power) + stuttering = power + Stun(power) + if (prob(stunprob) && M.powerlevel >= 8) + adjustFireLoss(M.powerlevel * rand(6,10)) + updatehealth() return 1 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index fd98c22dcb2..555feee5791 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -399,24 +399,20 @@ emp_act /mob/living/carbon/human/attack_slime(mob/living/simple_animal/slime/M as mob) - ..() - var/damage = rand(1, 3) + if(..()) //successful slime attack + var/damage = rand(5, 25) + if(M.is_adult) + damage = rand(10, 35) - if(M.is_adult) - damage = rand(10, 35) - else - damage = rand(5, 25) + if(check_shields(damage, "the [M.name]")) + return 0 - if(check_shields(damage, "the [M.name]")) - return 0 + var/dam_zone = pick("head", "chest", "l_arm", "r_arm", "l_leg", "r_leg", "groin") - var/dam_zone = pick("head", "chest", "l_arm", "r_arm", "l_leg", "r_leg", "groin") + var/obj/item/organ/limb/affecting = get_organ(ran_zone(dam_zone)) + var/armor_block = run_armor_check(affecting, "melee") + apply_damage(damage, BRUTE, affecting, armor_block) - var/obj/item/organ/limb/affecting = get_organ(ran_zone(dam_zone)) - var/armor_block = run_armor_check(affecting, "melee") - apply_damage(damage, BRUTE, affecting, armor_block) - - return /mob/living/carbon/human/mech_melee_attack(obj/mecha/M) if(M.occupant.a_intent == "harm") diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 56b7affa3cb..5e58fc115c2 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -1,11 +1,3 @@ - -/mob/living/carbon - var/oxygen_alert = 0 - var/toxins_alert = 0 - var/fire_alert = 0 - var/pressure_alert = 0 - var/temperature_alert = 0 - /mob/living/carbon/Life() set invisibility = 0 set background = BACKGROUND_ENABLED @@ -243,22 +235,6 @@ if(reagents) reagents.metabolize(src) - if(drowsyness) - drowsyness-- - eye_blurry = max(2, eye_blurry) - if(prob(5)) - sleeping += 1 - Paralyse(5) - - confused = max(0, confused - 1) - // decrement dizziness counter, clamped to 0 - if(resting) - dizziness = max(0, dizziness - 5) - jitteriness = max(0, jitteriness - 5) - else - dizziness = max(0, dizziness - 1) - jitteriness = max(0, jitteriness - 1) - updatehealth() return @@ -312,6 +288,8 @@ spawn(0) emote("snore") + var/restingpwr = 1 + 4 * resting + //Dizziness if(dizziness) var/client/C = client @@ -319,7 +297,6 @@ var/pixel_y_diff = 0 var/temp var/saved_dizz = dizziness - dizziness = max(dizziness-1, 0) if(C) var/oldsrc = src var/amplitude = dizziness*(sin(dizziness * 0.044 * world.time) + 1) / 70 // This shit is annoying at high strength @@ -345,11 +322,22 @@ C.pixel_x -= pixel_x_diff C.pixel_y -= pixel_y_diff src = oldsrc + dizziness = max(dizziness - restingpwr, 0) + + if(drowsyness) + dizziness = max(drowsyness - restingpwr, 0) + eye_blurry = max(2, eye_blurry) + if(prob(5)) + sleeping += 1 + Paralyse(5) + + if(confused) + confused = max(0, confused - 1) //Jitteryness if(jitteriness) do_jitter_animation(jitteriness) - jitteriness = max(jitteriness-1, 0) + jitteriness = max(jitteriness - restingpwr, 0) //Other @@ -380,7 +368,7 @@ CheckStamina() return 1 -//this handles hud updates. Calles update_vision() and handle_hud_icons() +//this handles hud updates. Calls update_vision() and handle_hud_icons() /mob/living/carbon/handle_regular_hud_updates() if(!client) return 0 diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 418ed7d2516..80191c09eea 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -157,17 +157,12 @@ /mob/living/carbon/monkey/attack_slime(mob/living/simple_animal/slime/M as mob) - ..() - var/damage = rand(1, 3) - - if(M.is_adult) - damage = rand(20, 40) - else - damage = rand(5, 35) - adjustBruteLoss(damage) - updatehealth() - - return + if(..()) //successful slime attack + var/damage = rand(5, 35) + if(M.is_adult) + damage = rand(20, 40) + adjustBruteLoss(damage) + updatehealth() /mob/living/carbon/monkey/Stat() ..() @@ -259,4 +254,4 @@ src << "Your mask protects you from the acid." return - take_organ_damage(min(6*toxpwr, acid_volume * toxpwr)) + take_organ_damage(min(6*toxpwr, acid_volume * toxpwr)) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 9341e679715..0f8e3a13d96 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -64,9 +64,6 @@ return /mob/living/proc/handle_chemicals_in_body() - if(reagents) - reagents.metabolize(src) - return /mob/living/proc/handle_blood() @@ -135,7 +132,7 @@ adjustEarDamage(-0.05,-1) -//this handles hud updates. Calles update_vision() and handle_hud_icons() +//this handles hud updates. Calls update_vision() and handle_hud_icons() /mob/living/proc/handle_regular_hud_updates() if(!client) return 0 diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index ab9865d044f..28acd2aa693 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -170,26 +170,11 @@ proc/vol_by_throwforce_and_or_w_class(var/obj/item/I) return // can't attack while eating! if (stat != DEAD) + add_logs(M, src, "attacked", admin=0) M.do_attack_animation(src) visible_message("The [M.name] glomps [src]!", \ "The [M.name] glomps [src]!") - - if(M.powerlevel > 0) - var/stunprob = M.powerlevel * 7 + 10 // 17 at level 1, 80 at level 10 - if(prob(stunprob)) - M.powerlevel -= 3 - if(M.powerlevel < 0) - M.powerlevel = 0 - - visible_message("The [M.name] has shocked [src]!", \ - "The [M.name] has shocked [src]!") - - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - return 1 - add_logs(M, src, "attacked", admin=0) - return + return 1 /mob/living/attack_animal(mob/living/simple_animal/M as mob) if(M.melee_damage_upper == 0) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 3eeb99e09e1..01edcc5a149 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -257,6 +257,7 @@ if(..()) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) attack_threshold_check(damage) + return 1 /mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj) if(!Proj) @@ -291,6 +292,7 @@ if(stat != DEAD) var/damage = rand(1, 3) attack_threshold_check(damage) + return 1 if (M.a_intent == "help") if (health > 0) visible_message("[M.name] [response_help] [src].") @@ -300,13 +302,19 @@ /mob/living/simple_animal/attack_alien(mob/living/carbon/alien/humanoid/M as mob) if(..()) //if harm or disarm intent. - var/damage = rand(15, 30) - visible_message("[M] has slashed at [src]!", \ - "[M] has slashed at [src]!") - playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) - add_logs(M, src, "attacked", admin=0) - attack_threshold_check(damage) - return + if(M.a_intent == "disarm") + playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) + visible_message("[M] [response_disarm] [name]!", \ + "[M] [response_disarm] [name]!") + add_logs(M, src, "disarmed", admin=0) + else + var/damage = rand(15, 30) + visible_message("[M] has slashed at [src]!", \ + "[M] has slashed at [src]!") + playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) + add_logs(M, src, "attacked", admin=0) + attack_threshold_check(damage) + return 1 /mob/living/simple_animal/attack_larva(mob/living/carbon/alien/larva/L as mob) if(..()) //successful larva bite @@ -314,17 +322,15 @@ if(stat != DEAD) L.amount_grown = min(L.amount_grown + damage, L.max_grown) attack_threshold_check(damage) + return 1 /mob/living/simple_animal/attack_slime(mob/living/simple_animal/slime/M as mob) - ..() - var/damage = rand(1, 3) - - if(M.is_adult) - damage = rand(20, 40) - else - damage = rand(5, 35) - attack_threshold_check(damage) - return + if(..()) //successful slime attack + var/damage = rand(5, 30) + if(M.is_adult) + damage = rand(10, 40) + attack_threshold_check(damage) + return 1 /mob/living/simple_animal/proc/attack_threshold_check(var/damage) if(damage <= force_threshold) @@ -402,9 +408,9 @@ if (2.0) adjustBruteLoss(60) - if(3.0) adjustBruteLoss(30) + updatehealth() /mob/living/simple_animal/adjustBruteLoss(damage) health = Clamp(health - damage, 0, maxHealth) diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index c052df6175c..ace53c4346b 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -159,9 +159,7 @@ if (reagents.get_reagent_amount("epinephrine")>=5) mutation_chance = max(mutation_chance - 5,0) //Prevents muation chance going <0% reagents.remove_reagent("epinephrine", 5) - src.updatehealth() - - return //TODO: DEFERRED + updatehealth() /mob/living/simple_animal/slime/handle_regular_status_updates() diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 9fbbc063c5d..97d8865239c 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -95,7 +95,8 @@ var/tally = 0 var/health_deficiency = (100 - health) - if(health_deficiency >= 45) tally += (health_deficiency / 25) + if(health_deficiency >= 45) + tally += (health_deficiency / 25) if(bodytemperature < 183.222) tally += (283.222 - bodytemperature) / 10 * 1.75 @@ -145,10 +146,7 @@ ..() if(statpanel("Status")) - if(is_adult) - stat(null, "Health: [round((health / 200) * 100)]%") - else - stat(null, "Health: [round((health / 150) * 100)]%") + stat(null, "Health: [round((health / maxHealth) * 100)]%") if(!docile) stat(null, "Nutrition: [nutrition]/[get_max_nutrition()]") @@ -174,21 +172,10 @@ ..() /mob/living/simple_animal/slime/ex_act(severity, target) + if (severity == 2.0) + adjustFireLoss(60) ..() - switch (severity) - if (1.0) - gib() - return - - if (2.0) - adjustBruteLoss(60) - adjustFireLoss(60) - - if(3.0) - adjustBruteLoss(30) - - updatehealth() /mob/living/simple_animal/slime/MouseDrop(var/atom/movable/A as mob|obj) if(isliving(A) && A != src && usr == src) @@ -207,58 +194,36 @@ return /mob/living/simple_animal/slime/attack_slime(mob/living/simple_animal/slime/M as mob) - ..() - if(Victim) - Victim = null - visible_message("[M] pulls [src] off!") - return - attacked += 5 - if(src.nutrition >= 100) //steal some nutrition. negval handled in life() - src.nutrition -= (50 + (5 * M.amount_grown)) - M.add_nutrition(50 + (5 * M.amount_grown)) - if(src.health > 0) - src.adjustBruteLoss(4 + (2 * M.amount_grown)) //amt_grown isn't very linear but it works - src.updatehealth() - M.adjustBruteLoss(-4 + (-2 * M.amount_grown)) - M.updatehealth() - return + if(..()) //successful slime attack + if(Victim) + Victim = null + visible_message("[M] pulls [src] off!") + return + attacked += 5 + if(nutrition >= 100) //steal some nutrition. negval handled in life() + nutrition -= (50 + (5 * M.amount_grown)) + M.add_nutrition(50 + (5 * M.amount_grown)) + if(health > 0) + M.adjustBruteLoss(-4 + (-2 * M.amount_grown)) + M.updatehealth() /mob/living/simple_animal/slime/attack_animal(mob/living/simple_animal/M as mob) if(..()) - var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) attacked += 10 - adjustBruteLoss(damage) - updatehealth() + /mob/living/simple_animal/slime/attack_paw(mob/living/carbon/monkey/M as mob) if(..()) //successful monkey bite. - if(stat != DEAD) - attacked += 10 - adjustBruteLoss(rand(1, 3)) - updatehealth() - return + attacked += 10 /mob/living/simple_animal/slime/attack_larva(mob/living/carbon/alien/larva/L as mob) if(..()) //successful larva bite. - var/damage = rand(1, 3) - if(stat != DEAD) - L.amount_grown = min(L.amount_grown + damage, L.max_grown) - adjustBruteLoss(damage) - updatehealth() + attacked += 10 /mob/living/simple_animal/slime/attack_hulk(mob/living/carbon/human/user) if(user.a_intent == "harm") adjustBruteLoss(5) - if(Victim || Target) - Victim = null - Target = null - anchored = 0 - if(prob(80) && !client) - Discipline++ - spawn(0) - step_away(src,user,15) - sleep(3) - step_away(src,user,15) + discipline_slime(user) /mob/living/simple_animal/slime/attack_hand(mob/living/carbon/human/M as mob) @@ -272,18 +237,7 @@ visible_message(" [M] manages to wrestle \the [name] off!") playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - if(prob(90) && !client) - Discipline++ - - spawn() - SStun = 1 - sleep(rand(45,60)) - if(src) - SStun = 0 - - Victim = null - anchored = 0 - step_away(src,M) + discipline_slime(M) else M.do_attack_animation(src) @@ -295,89 +249,16 @@ visible_message(" [M] manages to wrestle \the [name] off of [Victim]!") playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - if(prob(80) && !client) - Discipline++ - - if(!is_adult) - if(Discipline == 1) - attacked = 0 - - spawn() - SStun = 1 - sleep(rand(55,65)) - if(src) - SStun = 0 - - Victim = null - anchored = 0 - step_away(src,M) + discipline_slime(M) else if(..()) //successful attack attacked += 10 /mob/living/simple_animal/slime/attack_alien(mob/living/carbon/alien/humanoid/M as mob) if(..()) //if harm or disarm intent. + attacked += 10 + discipline_slime(M) - if (M.a_intent == "harm") - if (prob(95)) - attacked += 10 - playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) - var/damage = rand(15, 30) - if (damage >= 25) - damage = rand(20, 40) - visible_message("[M] has slashed [name]!", \ - "[M] has slashed [name]!") - else - visible_message("[M] has wounded [name]!", \ - ")[M] has wounded [name]!") - - add_logs(M, src, "attacked", admin=0) - if (health != DEAD) - adjustBruteLoss(damage) - updatehealth() - else - playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - visible_message("[M] has attempted to lunge at [name]!", \ - "[M] has attempted to lunge at [name]!") - - if (M.a_intent == "disarm") - playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) - var/damage = 5 - attacked += 10 - - if(prob(95)) - visible_message("[M] has tackled [name]!", \ - "[M] has tackled [name]!") - - if(Victim || Target) - Victim = null - Target = null - anchored = 0 - if(prob(80) && !client) - Discipline++ - if(!istype(src, /mob/living/simple_animal/slime)) - if(Discipline == 1) - attacked = 0 - - spawn() - SStun = 1 - sleep(rand(5,20)) - SStun = 0 - - spawn(0) - - step_away(src,M,15) - sleep(3) - step_away(src,M,15) - - else - drop_item() - visible_message("[M] has disarmed [name]!", - "[M] has disarmed [name]!") - add_logs(M, src, "disarmed", admin=0) - adjustBruteLoss(damage) - updatehealth() - return /mob/living/simple_animal/slime/attackby(obj/item/W, mob/living/user, params) if(istype(W,/obj/item/stack/sheet/mineral/plasma)) //Let's you feed slimes plasma. @@ -402,29 +283,7 @@ if(is_adult) force_effect = round(W.force/2) if(prob(10 + force_effect)) - if(Victim || Target) - if(prob(80) && !client) - Discipline++ - if(Discipline == 1 && !is_adult) - attacked = 0 - spawn() - SStun = 1 - sleep(rand(5,20)) - SStun = 0 - - Victim = null - Target = null - anchored = 0 - - spawn(0) - if(user) - canmove = 0 - step_away(src, user) - if(prob(25 + 2*force_effect)) - sleep(2) - if(user) - step_away(src, user) - canmove = 1 + discipline_slime(user) ..() /mob/living/simple_animal/slime/show_inv(mob/user) @@ -441,19 +300,6 @@ /mob/living/simple_animal/slime/getTrail() return null -/mob/living/simple_animal/slime/slip(var/s_amount, var/w_amount, var/obj/O, var/lube) - if(lube>=2) - return 0 - .=..() - -/mob/living/simple_animal/slime/stripPanelUnequip(obj/item/what, mob/who) - src << "You don't have the dexterity to do this!" - return - -/mob/living/simple_animal/slime/stripPanelEquip(obj/item/what, mob/who) - src << "You don't have the dexterity to do this!" - return - /mob/living/simple_animal/slime/examine(mob/user) var/msg = "*---------*\nThis is \icon[src] \a [src]!\n" @@ -486,6 +332,34 @@ user << msg return +/mob/living/simple_animal/slime/proc/discipline_slime(mob/user) + + if(prob(80) && !client) + Discipline++ + + if(!is_adult) + if(Discipline == 1) + attacked = 0 + + if(Victim || Target) + Victim = null + Target = null + anchored = 0 + + spawn(0) + SStun = 1 + sleep(rand(20,60)) + SStun = 0 + + spawn(0) + canmove = 0 + if(user) + step_away(src,user,15) + sleep(3) + if(user) + step_away(src,user,15) + canmove = 1 + /mob/living/simple_animal/slime/pet docile = 1 diff --git a/tgstation.dme b/tgstation.dme index d35f40c877b..39a1eaefec5 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1053,7 +1053,6 @@ #include "code\modules\mob\living\carbon\carbon_defines.dm" #include "code\modules\mob\living\carbon\death.dm" #include "code\modules\mob\living\carbon\emote.dm" -#include "code\modules\mob\living\carbon\inventory.dm" #include "code\modules\mob\living\carbon\life.dm" #include "code\modules\mob\living\carbon\say.dm" #include "code\modules\mob\living\carbon\update_icons.dm"