From 68c7522dd2667ab8f0eb6bc16df4e3c376b58d9f Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Sun, 15 May 2016 21:22:56 +0100 Subject: [PATCH 01/11] Moved dna.dm to datums/ --- code/{game => datums}/dna.dm | 0 tgstation.dme | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename code/{game => datums}/dna.dm (100%) diff --git a/code/game/dna.dm b/code/datums/dna.dm similarity index 100% rename from code/game/dna.dm rename to code/datums/dna.dm diff --git a/tgstation.dme b/tgstation.dme index 3c35fe67785..b7e870c0db0 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -156,6 +156,7 @@ #include "code\datums\browser.dm" #include "code\datums\datacore.dm" #include "code\datums\datumvars.dm" +#include "code\datums\dna.dm" #include "code\datums\dog_fashion.dm" #include "code\datums\hud.dm" #include "code\datums\martial.dm" @@ -251,7 +252,6 @@ #include "code\game\atoms_movable.dm" #include "code\game\communications.dm" #include "code\game\data_huds.dm" -#include "code\game\dna.dm" #include "code\game\say.dm" #include "code\game\shuttle_engines.dm" #include "code\game\skincmd.dm" From a78a8f86fd6c8e1a50a88c1c9ed51478c5ce9a9c Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Sun, 15 May 2016 22:30:15 +0100 Subject: [PATCH 02/11] NOBREATH flag actually means no breathing - CPR cannot be performed by NOBREATHers, (or people without lungs) - CPR is ineffective on NOBREATHers (or people without lungs) - NOBREATHers do not process any breath code - This means they do not take suffocation damage in crit. This is not intended as a buff, as I will probably introduce alternative crit damage for the NOBREATH species. --- code/__DEFINES/misc.dm | 2 ++ code/modules/mob/living/carbon/human/human.dm | 32 +++++++++++++++---- .../mob/living/carbon/human/species.dm | 21 +++++++++--- 3 files changed, 45 insertions(+), 10 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 9b9bc263e6d..1959afea7b2 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -423,3 +423,5 @@ var/global/list/ghost_others_options = list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE // Shuttle return values #define SHUTTLE_ALREADY_DOCKED 7 + +#define CHECK_DNA_AND_SPECIES(C) if((!(C.dna)) || (!(C.dna.species))) return diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 54b4c3b39ba..08490c0f980 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -33,9 +33,15 @@ set_species(dna.species.type) //initialise organs - internal_organs += new /obj/item/organ/appendix - internal_organs += new /obj/item/organ/lungs - internal_organs += new /obj/item/organ/heart + if(!(NOHUNGER in dna.species.specflags)) + internal_organs += new /obj/item/organ/appendix + + if(!(NOBREATH in dna.species.specflags)) + internal_organs += new /obj/item/organ/lungs + + if(!(NOBLOOD in dna.species.specflags)) + internal_organs += new /obj/item/organ/heart + internal_organs += new /obj/item/organ/brain //Note: Additional organs are generated/replaced on the dna.species level @@ -811,6 +817,8 @@ /mob/living/carbon/human/proc/do_cpr(mob/living/carbon/C) + CHECK_DNA_AND_SPECIES(C) + if(C.stat == DEAD) src << "[C.name] is dead!" return @@ -828,14 +836,26 @@ src << "You fail to perform CPR on [C]!" return 0 - if(C.health <= config.health_threshold_crit) + var/they_breathe = (!(NOBREATH in C.dna.species.specflags)) + var/they_lung = C.getorganslot("lungs") + + if(C.health > config.health_threshold_crit) + return + + src.visible_message("[src] performs CPR on [C.name]!", "You perform CPR on [C.name].") + if(they_breathe && they_lung) C.cpr_time = world.time var/suff = min(C.getOxyLoss(), 7) C.adjustOxyLoss(-suff) C.updatehealth() - src.visible_message("[src] performs CPR on [C.name]!", "You perform CPR on [C.name].") C << "You feel a breath of fresh air enter your lungs... It feels good..." - add_logs(src, C, "CPRed") + add_logs(src, C, "CPRed") + else if(they_breathe && !they_lung) + C << "You feel a breath of fresh air... \ + but it doesn't go anywhere..." + else + C << "You feel a breath of fresh air... \ + which is a sensation you don't recognise..." /mob/living/carbon/human/generateStaticOverlay() var/image/staticOverlay = image(icon('icons/effects/effects.dmi', "static"), loc = src) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 83f46d70577..e8f53b42a3a 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -884,6 +884,10 @@ ////////////////// /datum/species/proc/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H) + + CHECK_DNA_AND_SPECIES(M) + CHECK_DNA_AND_SPECIES(H) + if(!istype(M)) //sanity check for drones. return if((M != H) && M.a_intent != "help" && H.check_shields(0, M.name, attack_type = UNARMED_ATTACK)) @@ -901,7 +905,17 @@ add_logs(M, H, "shaked") return 1 else - M.do_cpr(H) + var/we_breathe = (!(NOBREATH in M.dna.species.specflags)) + var/we_lung = M.getorganslot("lungs") + + if(we_breathe && we_lung) + M.do_cpr(H) + else if(we_breathe && !we_lung) + M << "You have no lungs to breathe \ + with, so cannot peform CPR." + else + M << "You do not breathe, so \ + cannot perform CPR." if("grab") if(attacker_style && attacker_style.grab_act(M,H)) @@ -1154,7 +1168,8 @@ ///////////// /datum/species/proc/breathe(mob/living/carbon/human/H) - return + if(NOBREATH in specflags) + return TRUE /datum/species/proc/check_breath(datum/gas_mixture/breath, var/mob/living/carbon/human/H) if((H.status_flags & GODMODE)) @@ -1166,8 +1181,6 @@ if(H.reagents.has_reagent("epinephrine") && lungs) return if(H.health >= config.health_threshold_crit) - if(NOBREATH in specflags) - return 1 H.adjustOxyLoss(HUMAN_MAX_OXYLOSS) if(!lungs) H.adjustOxyLoss(1) From 5535959ee3ce47eeadd5482cb7c86d7980d853ac Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Mon, 16 May 2016 13:21:27 +0100 Subject: [PATCH 03/11] More heart and lung stuff --- code/__DEFINES/flags.dm | 1 + code/modules/mob/living/carbon/human/human.dm | 41 ++++++++++++++----- code/modules/mob/living/carbon/human/life.dm | 27 ++++++++---- code/modules/mob/living/carbon/human/say.dm | 5 ++- .../mob/living/carbon/human/species.dm | 28 +++++++++++-- .../chemistry/reagents/toxin_reagents.dm | 19 ++++++--- 6 files changed, 92 insertions(+), 29 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 15a8ed20949..d6ab9543d76 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -68,6 +68,7 @@ #define MUTCOLORS_PARTSONLY 15 //Used if we want the mutant colour to be only used by mutant bodyparts. Don't combine this with MUTCOLORS, or it will be useless. #define NODISMEMBER 16 #define NOHUNGER 17 +#define NOCRITDAMAGE 18 /* These defines are used specifically with the atom/movable/languages bitmask. diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 08490c0f980..ae46a77d33f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -843,18 +843,19 @@ return src.visible_message("[src] performs CPR on [C.name]!", "You perform CPR on [C.name].") + C.cpr_time = world.time + add_logs(src, C, "CPRed") + if(they_breathe && they_lung) - C.cpr_time = world.time var/suff = min(C.getOxyLoss(), 7) C.adjustOxyLoss(-suff) C.updatehealth() C << "You feel a breath of fresh air enter your lungs... It feels good..." - add_logs(src, C, "CPRed") else if(they_breathe && !they_lung) - C << "You feel a breath of fresh air... \ - but it doesn't go anywhere..." + C << "You feel a breath of fresh air... \ + but you don't feel any better..." else - C << "You feel a breath of fresh air... \ + C << "You feel a breath of fresh air... \ which is a sensation you don't recognise..." /mob/living/carbon/human/generateStaticOverlay() @@ -1005,14 +1006,32 @@ hud_used.healthdoll.icon_state = "healthdoll_DEAD" /mob/living/carbon/human/fully_heal(admin_revive = 0) + CHECK_DNA_AND_SPECIES(src) + if(admin_revive) regenerate_limbs() - if(!getorganslot("lungs")) - var/obj/item/organ/lungs/L = new() - L.Insert(src) - if(!getorganslot("tongue")) - var/obj/item/organ/tongue/T = new() - T.Insert(src) + + if(!(NOBREATH in dna.species.specflags) && !getorganslot("lungs")) + var/obj/item/organ/lungs/L = new() + L.Insert(src) + + if(!(NOBLOOD in dna.species.specflags) && !getorganslot("heart")) + var/obj/item/organ/heart/H = new() + H.Insert(src) + + if(!getorganslot("tongue")) + var/obj/item/organ/tongue/T + + for(var/obj/item/organ/tongue/tongue_type in \ + dna.species.mutant_organs) + T = new tongue_type() + T.Insert(src) + + // if they have no mutant tongues, give them a regular one + if(!T) + T = new() + T.Insert(src) + restore_blood() remove_all_embedded_objects() drunkenness = 0 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 99d99f6b6d6..db2397676c0 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -305,13 +305,26 @@ clear_alert("embeddedobject") /mob/living/carbon/human/proc/handle_heart() - if(!heart_attack) - return - else - if(losebreath < 3) - losebreath += 2 - adjustOxyLoss(5) - adjustBruteLoss(1) + CHECK_DNA_AND_SPECIES(src) + var/needs_heart = (!(NOBLOOD in dna.species.specflags)) + var/we_breath = (!(NOBREATH in dna.species.specflags)) + + if(heart_attack) + if(!needs_heart) + heart_attack = FALSE + else if(we_breath) + if(losebreath < 3) + losebreath += 2 + adjustOxyLoss(5) + adjustBruteLoss(1) + else + // even though we don't require oxygen, our blood still needs + // circulation, and without it, our tissues die and start + // gaining toxins + adjustBruteLoss(3) + if(src.reagents) + src.reagents.add_reagent("toxin", 2) + src.reagents.reaction(src, INJECT) /* Alcohol Poisoning Chart diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 047f46481c0..32a5b9c694f 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -48,7 +48,10 @@ return real_name /mob/living/carbon/human/IsVocal() - if(!getorganslot("lungs")) + CHECK_DNA_AND_SPECIES(src) + + // how do species that don't breathe talk? magic, that's what. + if(!(NOBREATH in dna.species.specflags) && !getorganslot("lungs")) return 0 if(mind) return !mind.miming diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index e8f53b42a3a..068289e0dd7 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -128,6 +128,21 @@ C.regenerate_limbs() //if we don't handle dismemberment, we grow our missing limbs back if(exotic_blood) C.reagents.add_reagent(exotic_blood, 80) + + var/obj/item/organ/heart/heart = C.getorganslot("heart") + var/obj/item/organ/lungs/lungs = C.getorganslot("lungs") + var/obj/item/organ/appendix/appendix = C.getorganslot("appendix") + + if(NOBLOOD in specflags && heart) + heart.Remove(C) + qdel(heart) + if(NOBREATH in specflags && lungs) + lungs.Remove(C) + qdel(lungs) + if(NOHUNGER in specflags && appendix) + appendix.Remove(C) + qdel(appendix) + for(var/path in mutant_organs) var/obj/item/organ/I = new path() I.Insert(C) @@ -471,7 +486,13 @@ H.apply_overlay(BODY_FRONT_LAYER) /datum/species/proc/spec_life(mob/living/carbon/human/H) - return + if(NOBREATH in specflags) + H.setOxyLoss(0) + H.losebreath = 0 + + var/takes_crit_damage = (!(NOCRITDAMAGE in specflags)) + if((H.health < config.health_threshold_crit) && takes_crit_damage) + H.adjustBruteLoss(1) /datum/species/proc/spec_death(gibbed, mob/living/carbon/human/H) return @@ -1184,11 +1205,10 @@ H.adjustOxyLoss(HUMAN_MAX_OXYLOSS) if(!lungs) H.adjustOxyLoss(1) - H.failed_last_breath = 1 - else + else if(!(NOCRITDAMAGE in specflags)) H.adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS) - H.failed_last_breath = 1 + H.failed_last_breath = 1 H.throw_alert("oxy", /obj/screen/alert/oxy) return 0 diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 5bfe942374d..966481e1b2d 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -89,14 +89,21 @@ toxpwr = 0 /datum/reagent/toxin/lexorin/on_mob_life(mob/living/M) - M.adjustOxyLoss(5, 0) + . = TRUE + var/mob/living/carbon/C if(iscarbon(M)) - var/mob/living/carbon/C = M - C.losebreath += 2 - if(prob(20)) - M.emote("gasp") + C = M + CHECK_DNA_AND_SPECIES(C) + if(NOBREATH in C.dna.species.specflags) + . = FALSE + + if(.) + M.adjustOxyLoss(5, 0) + if(C) + C.losebreath += 2 + if(prob(20)) + M.emote("gasp") ..() - . = 1 /datum/reagent/toxin/slimejelly name = "Slime Jelly" From 7c031c8539d1fcb0afd82abb5992ec2a483f61f5 Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Mon, 16 May 2016 14:20:02 +0100 Subject: [PATCH 04/11] Gives species that need hearts hearts etc. --- code/modules/mob/living/carbon/human/species.dm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 068289e0dd7..b8cdbcb1498 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -133,15 +133,26 @@ var/obj/item/organ/lungs/lungs = C.getorganslot("lungs") var/obj/item/organ/appendix/appendix = C.getorganslot("appendix") - if(NOBLOOD in specflags && heart) + if((NOBLOOD in specflags) && heart) heart.Remove(C) qdel(heart) - if(NOBREATH in specflags && lungs) + else if((!(NOBLOOD in specflags)) && (!heart)) + heart = new() + heart.Insert(C) + + if((NOBREATH in specflags) && lungs) lungs.Remove(C) qdel(lungs) - if(NOHUNGER in specflags && appendix) + else if((!(NOBREATH in specflags)) && (!lungs)) + lungs = new() + lungs.Insert(C) + + if((NOHUNGER in specflags) && appendix) appendix.Remove(C) qdel(appendix) + else if((!(NOHUNGER in specflags)) && (!appendix)) + appendix = new() + appendix.Insert(C) for(var/path in mutant_organs) var/obj/item/organ/I = new path() From d0fce05230349e87549b680e0dd2b0855fe63478 Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Mon, 16 May 2016 16:14:07 +0100 Subject: [PATCH 05/11] Adds emitter that shoots bolts of change For *testing* purposes. --- code/modules/awaymissions/mission_code/challenge.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/awaymissions/mission_code/challenge.dm b/code/modules/awaymissions/mission_code/challenge.dm index 724dcf434e3..2134e7db4cb 100644 --- a/code/modules/awaymissions/mission_code/challenge.dm +++ b/code/modules/awaymissions/mission_code/challenge.dm @@ -32,4 +32,9 @@ state = 2 /obj/machinery/power/emitter/energycannon/RefreshParts() - return \ No newline at end of file + return + +/obj/machinery/power/emitter/energycannon/magical + name = "wabbajack statue" + desc = "Who am I? What is my purpose in life? What do I mean by who am I?" + projectile_type = /obj/item/projectile/magic/change From 4fd6d31981a2d2d1a51cf79649879c659cdc6040 Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Mon, 16 May 2016 16:24:27 +0100 Subject: [PATCH 06/11] Ashwalker is own subspecies --- code/modules/mob/living/carbon/human/species_types.dm | 8 ++++++++ code/modules/ruins/lavaland_ruin_code.dm | 4 +--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm index a2a3cdd16e0..096cd8c9c60 100644 --- a/code/modules/mob/living/carbon/human/species_types.dm +++ b/code/modules/mob/living/carbon/human/species_types.dm @@ -79,6 +79,14 @@ /datum/species/lizard/spec_death(gibbed, mob/living/carbon/human/H) if(H) H.endTailWag() + +/* + Lizard subspecies: ASHWALKERS +*/ +/datum/species/lizard/ashwalker + name = "Ash Walker" + id = "ashwalker" + specflags = list(MUTCOLORS,EYECOLOR,LIPS,NOBREATH,NOGUNS) /* PODPEOPLE */ diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index 61a17593f7b..622e3c38a31 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -223,7 +223,7 @@ name = "ash walker egg" icon = 'icons/mob/lavaland/lavaland_monsters.dmi' icon_state = "large_egg" - mob_species = /datum/species/lizard + mob_species = /datum/species/lizard/ashwalker helmet = /obj/item/clothing/head/helmet/gladiator uniform = /obj/item/clothing/under/gladiator roundstart = FALSE @@ -237,8 +237,6 @@ new_spawn << "Drag corpses to your nest to feed the young, and spawn more Ash Walkers. Bring glory to the tribe!" if(ishuman(new_spawn)) var/mob/living/carbon/human/H = new_spawn - H.dna.species.specflags |= NOBREATH - H.dna.species.specflags |= NOGUNS H.underwear = "Nude" H.update_body() From d688dbc1eab1f51c86cdf7c2825a7c1250721151 Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Mon, 16 May 2016 16:38:12 +0100 Subject: [PATCH 07/11] Fun description messages for severed limbs --- code/modules/surgery/bodyparts/bodyparts.dm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 266add1b1c5..c68aa4eac2e 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -283,6 +283,10 @@ /obj/item/bodypart/l_arm name = "left arm" + desc = "Did you know that the word 'sinister' stems originally from the \ + Latin 'sinestra' (left hand), because the left hand was supposed to \ + be possessed by the devil? This arm appears to be possessed by no \ + one though." icon_state = "l_arm" max_damage = 50 body_zone ="l_arm" @@ -292,6 +296,8 @@ /obj/item/bodypart/r_arm name = "right arm" + desc = "Over 87% of humans are right handed. That figure is much lower \ + among humans missing their right arm." icon_state = "r_arm" max_damage = 50 body_zone = "r_arm" @@ -301,6 +307,8 @@ /obj/item/bodypart/l_leg name = "left leg" + desc = "Some athletes prefer to tie their left shoelaces first for good \ + luck. In this instance, it probably would not have helped." icon_state = "l_leg" max_damage = 50 body_zone = "l_leg" @@ -310,6 +318,9 @@ /obj/item/bodypart/r_leg name = "right leg" + desc = "You put your right leg in, your right leg out. In, out, in, out, \ + shake it all about. And apparently then it detaches.\n\ + The hokey cokey has certainly changed a lot since space colonisation." icon_state = "r_leg" max_damage = 50 body_zone = "r_leg" @@ -322,15 +333,9 @@ /obj/item/severedtail name = "tail" - desc = "A severed tail." + desc = "A severed tail. Somewhere, no doubt, a lizard hater is very \ + pleased with themselves." icon = 'icons/obj/surgery.dmi' icon_state = "severedtail" color = "#161" var/markings = "Smooth" - - - - - - - From be4de2c2a6309a7e8ba74760fc39f0494418a290 Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Mon, 16 May 2016 17:11:15 +0100 Subject: [PATCH 08/11] Fixes tongues, ash walker sprites --- code/modules/mob/living/carbon/human/human.dm | 8 ++++---- code/modules/mob/living/carbon/human/species_types.dm | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ae46a77d33f..c5cf48a9c01 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1022,10 +1022,10 @@ if(!getorganslot("tongue")) var/obj/item/organ/tongue/T - for(var/obj/item/organ/tongue/tongue_type in \ - dna.species.mutant_organs) - T = new tongue_type() - T.Insert(src) + for(var/tongue_type in dna.species.mutant_organs) + if(ispath(tongue_type, /obj/item/organ/tongue)) + T = new tongue_type() + T.Insert(src) // if they have no mutant tongues, give them a regular one if(!T) diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm index 096cd8c9c60..6a1dce35651 100644 --- a/code/modules/mob/living/carbon/human/species_types.dm +++ b/code/modules/mob/living/carbon/human/species_types.dm @@ -85,7 +85,7 @@ */ /datum/species/lizard/ashwalker name = "Ash Walker" - id = "ashwalker" + id = "lizard" specflags = list(MUTCOLORS,EYECOLOR,LIPS,NOBREATH,NOGUNS) /* PODPEOPLE From 1f59248224e5f5591a709ed5f2d8f6e3c220f9ca Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Mon, 16 May 2016 17:17:50 +0100 Subject: [PATCH 09/11] Adds warnings about lich+cursed heart --- code/game/gamemodes/wizard/spellbook.dm | 5 ++++- code/modules/spells/spell_types/lichdom.dm | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 360311ad9c1..d741a28896e 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -370,7 +370,10 @@ /datum/spellbook_entry/item/cursed_heart name = "Cursed Heart" - desc = "A heart that has been revived by dark magicks, the user must concentrate to ensure the heart beats, but every beat heals them. It must beat every 6 seconds." + desc = "A heart that has been revived by dark magicks, the user must \ + concentrate to ensure the heart beats, but every beat heals them. It \ + must beat every 6 seconds. The heart is fickle, and will not work for a \ + lich." item_path = /obj/item/organ/heart/cursed/wizard log_name = "CH" cost = 1 diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm index c7efcd76349..f6a119c428a 100644 --- a/code/modules/spells/spell_types/lichdom.dm +++ b/code/modules/spells/spell_types/lichdom.dm @@ -1,6 +1,11 @@ /obj/effect/proc_holder/spell/targeted/lichdom name = "Bind Soul" - desc = "A dark necromantic pact that can forever bind your soul to an item of your choosing. So long as both your body and the item remain intact and on the same plane you can revive from death, though the time between reincarnations grows steadily with use." + desc = "A dark necromantic pact that can forever bind your soul to an \ + item of your choosing. So long as both your body and the item remain \ + intact and on the same plane you can revive from death, though the time \ + between reincarnations grows steadily with use, along with the weakness \ + that the new skeleton body will experience upon 'birth'. Note that \ + becoming a lich destroys all internal organs except the brain." school = "necromancy" charge_max = 10 clothes_req = 0 From 592cc8983ffe85f9370a3589b0a03bddb5515eb8 Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Thu, 19 May 2016 16:39:10 +0100 Subject: [PATCH 10/11] Made description more american FREEDOM etc. --- code/modules/surgery/bodyparts/bodyparts.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index c68aa4eac2e..e92340bee3d 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -320,7 +320,8 @@ name = "right leg" desc = "You put your right leg in, your right leg out. In, out, in, out, \ shake it all about. And apparently then it detaches.\n\ - The hokey cokey has certainly changed a lot since space colonisation." + The hokey pokey has certainly changed a lot since space colonisation." + // alternative spellings of 'pokey' are availible icon_state = "r_leg" max_damage = 50 body_zone = "r_leg" From 66683de76e78af43a37c431599b1a9ce0d7968e9 Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Sat, 21 May 2016 03:30:34 +0100 Subject: [PATCH 11/11] Removed incorrect react() call --- code/modules/mob/living/carbon/human/life.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index db2397676c0..ad5a44c60b1 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -324,7 +324,6 @@ adjustBruteLoss(3) if(src.reagents) src.reagents.add_reagent("toxin", 2) - src.reagents.reaction(src, INJECT) /* Alcohol Poisoning Chart