diff --git a/code/WorkInProgress/Cael_Aislinn/Tajara/examine.dm b/code/WorkInProgress/Cael_Aislinn/Tajara/examine.dm index 415555ab422..b205a612d5e 100644 --- a/code/WorkInProgress/Cael_Aislinn/Tajara/examine.dm +++ b/code/WorkInProgress/Cael_Aislinn/Tajara/examine.dm @@ -81,24 +81,24 @@ if (src.wear_id) var/id -// var/photo = 0 + var/photo = 0 if(istype(src:wear_id, /obj/item/device/pda)) var/obj/item/device/pda/pda = src:wear_id id = pda.owner else id = src.wear_id.registered_name -// if (src.wear_id.PHOTO) -// photo = 1 - if (id != src.real_name && in_range(src, usr)) -// if (photo) -// usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo yet doesn't seem to be that person!!!" -// else - usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] yet doesn't seem to be that person!!!" + if (src.wear_id.PHOTO) + photo = 1 + if (id != src.real_name && in_range(src, usr) && prob(10)) + if (photo) + usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo yet doesn't seem to be that person!!!" + else + usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] yet doesn't seem to be that person!!!" else -// if (photo) -// usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo." -// else - usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name]." + if (photo) + usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo." + else + usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name]." if (src.is_jittery) @@ -195,4 +195,4 @@ print_flavor_text() - usr << "\blue *---------*" + usr << "\blue *---------*" \ No newline at end of file diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index ca26c5bd7a3..338065b34b9 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -520,7 +520,7 @@ var/access = list() var/registered_name = null var/assignment = null -// var/obj/item/weapon/photo/PHOTO = null + var/obj/item/weapon/photo/PHOTO = null var/over_jumpsuit = 1 // If set to 0, it won't display on top of the mob's jumpsuit var/dorm = 0 // determines if this ID has claimed a dorm already diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index 3f3967ae194..bad30e598ff 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -100,7 +100,7 @@ usr << "\red This creature is not compatible with our biology." return - if (M.mutations & NOCLONE) + if (M.mutations2 & NOCLONE) usr << "\red This creature's DNA is ruined beyond useability!" return @@ -608,9 +608,9 @@ usr << "\blue We stealthily sting [T]." if(!T.changeling) - T.sdisabilities |= 4 + T.disabilities |= 32 spawn(300) - T.sdisabilities &= ~4 + T.disabilities &= ~32 usr.verbs -= /client/proc/changeling_deaf_sting diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index 6059f5eeca7..d12382c165e 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -23,7 +23,7 @@ /obj/item/weapon/dnainjector/proc/inject(mob/M as mob) M.radiation += rand(20,50) - if (!(M.mutations & NOCLONE)) // prevents drained people from having their DNA changed + if (!(M.mutations2 & NOCLONE)) // prevents drained people from having their DNA changed if (dnatype == "ui") if (!block) //isolated block? if (ue) //unique enzymes? yes diff --git a/code/game/objects/radio/headset.dm b/code/game/objects/radio/headset.dm index e98a94907f1..dfd8fd08690 100644 --- a/code/game/objects/radio/headset.dm +++ b/code/game/objects/radio/headset.dm @@ -1,141 +1,142 @@ /obj/item/device/radio/headset - name = "radio headset" - desc = "An updated, modular intercom that fits over the head. Takes encryption keys" + name = "Radio Headset" + desc = "An intercom that fits over the head." icon_state = "headset" item_state = "headset" g_amt = 0 m_amt = 75 subspace_transmission = 1 - canhear_range = 1 // can't hear headsets from very far away - - var/translate_binary = 0 - var/translate_hive = 0 - var/obj/item/device/encryptionkey/keyslot1 = null - var/obj/item/device/encryptionkey/keyslot2 = null + protective_temperature = 0 + canhear_range = 1 + var + translate_binary = 0 + translate_hive = 0 + obj/item/device/encryptionkey/keyslot1 = null + obj/item/device/encryptionkey/keyslot2 = null /obj/item/device/radio/headset/New() ..() - keyslot1 = new /obj/item/device/encryptionkey/ + keyslot1 = new /obj/item/device/encryptionkey recalculateChannels() /obj/item/device/radio/headset/traitor origin_tech = "syndicate=3" canhear_range = 0 -/obj/item/device/radio/headset/traitor/New() - ..() - del(keyslot1) - keyslot1 = new /obj/item/device/encryptionkey/traitor - recalculateChannels() + + New() + ..() + del(keyslot1) + keyslot1 = new /obj/item/device/encryptionkey/traitor /obj/item/device/radio/headset/binary origin_tech = "syndicate=3" canhear_range = 0 -/obj/item/device/radio/headset/binary/New() - ..() - del(keyslot1) - keyslot1 = new /obj/item/device/encryptionkey/binary - recalculateChannels() + + New() + ..() + del(keyslot1) + keyslot1 = new /obj/item/device/encryptionkey/binary /obj/item/device/radio/headset/headset_sec - name = "security radio headset" + name = "Security Radio Headset" desc = "This is used by your elite security force. To access the security channel, use :s." icon_state = "sec_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/headset_sec /obj/item/device/radio/headset/headset_eng - name = "engineering radio headset" + name = "Engineering Radio Headset" desc = "When the engineers wish to chat like girls. To access the engineering channel, use :e. " icon_state = "eng_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/headset_eng /obj/item/device/radio/headset/headset_rob - name = "robotics radio headset" + name = "Robotics Radio Headset" desc = "Made specifically for the roboticists who cannot decide between departments. To access the engineering channel, use :e. For research, use :n." icon_state = "rob_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/headset_rob /obj/item/device/radio/headset/headset_med - name = "medical radio headset" + name = "Medical Radio Headset" desc = "A headset for the trained staff of the medbay. To access the medical channel, use :m." icon_state = "med_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/headset_med /obj/item/device/radio/headset/headset_sci - name = "science radio headset" + name = "Science Radio Headset" desc = "A sciency headset. Like usual. To access the science channel, use :n." icon_state = "com_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/headset_sci /obj/item/device/radio/headset/headset_medsci - name = "medical research radio headset" + name = "Medical Research Radio Headset" desc = "A headset that is a result of the mating between medical and science. To access the medical channel, use :m. For science, use :n." icon_state = "med_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/headset_medsci /obj/item/device/radio/headset/headset_com - name = "command radio headset" + name = "Command Radio Headset" desc = "A headset with a commanding channel. To access the command channel, use :c." icon_state = "com_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/headset_com /obj/item/device/radio/headset/heads/captain - name = "captain's headset" + name = "Captain's Headset" desc = "The headset of the boss. Channels are as follows: :c - command, :s - security, :e - engineering, :d - mining, :q - cargo, :m - medical, :n - science." icon_state = "com_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/heads/captain /obj/item/device/radio/headset/heads/rd - name = "research director's deadset" + name = "Research Director's Headset" desc = "Headset of the researching God. To access the science channel, use :n. For command, use :c." icon_state = "com_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/heads/rd /obj/item/device/radio/headset/heads/hos - name = "head of security's headset" + name = "Head of Security's Headset" desc = "The headset of the man who protects your worthless lifes. To access the security channel, use :s. For command, use :c." icon_state = "com_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/heads/hos /obj/item/device/radio/headset/heads/ce - name = "chief engineer's headset" + name = "Chief Engineer's Headset" desc = "The headset of the guy who is in charge of morons. To access the engineering channel, use :e. For command, use :c." icon_state = "com_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/heads/ce /obj/item/device/radio/headset/heads/cmo - name = "chief medical officer's headset" + name = "Chief Medical Officer's Headset" desc = "The headset of the highly trained medical chief. To access the medical channel, use :m. For command, use :c." icon_state = "com_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/heads/cmo /obj/item/device/radio/headset/heads/hop - name = "head of personnel's headset" + name = "Head of Personnel's Headset" desc = "The headset of the guy who will one day be captain. Channels are as follows: :c - command, :s - security, :q - cargo, :d - mining." icon_state = "com_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/heads/hop /obj/item/device/radio/headset/headset_mine - name = "mining radio headset" + name = "Mining Radio Headset" desc = "Headset used by miners. How useless. To access the mining channel, use :d." icon_state = "mine_headset" item_state = "headset" keyslot2 = new /obj/item/device/encryptionkey/headset_mine /obj/item/device/radio/headset/heads/qm - name = "quartermaster's headset" + name = "Quartermaster's Headset" desc = "The headset of the man who control your toiletpaper supply. To access the cargo channel, use :q. For mining, use :d." icon_state = "cargo_headset" item_state = "headset" @@ -153,7 +154,7 @@ keyslot2 = new /obj/item/device/encryptionkey/ert /obj/item/device/radio/headset/headset_cargo - name = "cargo radio headset" + name = "Cargo Radio Headset" desc = "Headset used by the QM's slaves. To access the cargo channel, use :q." icon_state = "cargo_headset" item_state = "headset" @@ -162,32 +163,17 @@ /obj/item/device/radio/headset/attackby(obj/item/weapon/W as obj, mob/user as mob) // ..() user.machine = src - if (!( istype(W, /obj/item/weapon/screwdriver) || (istype(W, /obj/item/device/encryptionkey/ )))) + if (!istype(W, /obj/item/weapon/screwdriver) && !istype(W, /obj/item/device/encryptionkey/)) return if(istype(W, /obj/item/weapon/screwdriver)) if(keyslot1 || keyslot2) - - for(var/ch_name in channels) - radio_controller.remove_object(src, radiochannels[ch_name]) - secure_radio_connections[ch_name] = null - - if(keyslot1) - var/turf/T = get_turf(user) - if(T) - keyslot1.loc = T - keyslot1 = null - - + user.put_in_hands(keyslot1) if(keyslot2) - var/turf/T = get_turf(user) - if(T) - keyslot2.loc = T - keyslot2 = null - + user.put_in_hands(keyslot2) recalculateChannels() user << "You pop out the encryption keys in the headset!" @@ -210,9 +196,7 @@ W.loc = src keyslot2 = W - recalculateChannels() - return @@ -220,13 +204,10 @@ src.channels = list() src.translate_binary = 0 src.translate_hive = 0 + var/temp_channels = list() if(keyslot1) - for(var/ch_name in keyslot1.channels) - if(ch_name in src.channels) - continue - src.channels += ch_name - src.channels[ch_name] = keyslot1.channels[ch_name] + temp_channels += keyslot1.channels if(keyslot1.translate_binary) src.translate_binary = 1 @@ -235,11 +216,7 @@ src.translate_hive = 1 if(keyslot2) - for(var/ch_name in keyslot2.channels) - if(ch_name in src.channels) - continue - src.channels += ch_name - src.channels[ch_name] = keyslot2.channels[ch_name] + temp_channels += keyslot2.channels if(keyslot2.translate_binary) src.translate_binary = 1 @@ -247,14 +224,13 @@ if(keyslot2.translate_hive) src.translate_hive = 1 + config(temp_channels) for (var/ch_name in channels) if(!radio_controller) sleep(30) // Waiting for the radio_controller to be created. if(!radio_controller) - src.name = "broken radio headset" + src.name = "Broken Radio Headset" return - secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT) - return \ No newline at end of file diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index 60c5395ed5e..a43a1d6e6eb 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -315,7 +315,7 @@ /obj/item/weapon/storage/box/syndicate/New() ..() - switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "freedom" = 1))) + switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "freedom" = 1))) if ("bloodyspai") new /obj/item/clothing/under/chameleon(src) new /obj/item/clothing/mask/gas/voice(src) @@ -344,12 +344,6 @@ new /obj/item/weapon/plastique(src) return - if ("murder") - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/clothing/glasses/thermal(src) - new /obj/item/weapon/card/emag(src) - return - if("freedom") var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) O.imp = new /obj/item/weapon/implant/freedom(O) diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index 7955f181e2a..23bcf7c88aa 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -966,7 +966,7 @@ if(!T.dna) usr << "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum)" return - if(T.mutations & NOCLONE) //target done been et, no more blood in him + if(T.mutations2 & NOCLONE) //target done been et, no more blood in him user << "\red You are unable to locate any blood." return B.holder = src diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index b08d24d45c0..7aac84a9b57 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -93,5 +93,5 @@ /mob/living/carbon/human/proc/Drain() ChangeToHusk() - mutations |= NOCLONE + mutations2 |= NOCLONE return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 37d2c9dc214..a3d46a69553 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -89,24 +89,24 @@ if (src.wear_id) var/id -// var/photo = 0 + var/photo = 0 if(istype(src:wear_id, /obj/item/device/pda)) var/obj/item/device/pda/pda = src:wear_id id = pda.owner else id = src.wear_id.registered_name -// if (src.wear_id.PHOTO) -// photo = 1 + if (src.wear_id.PHOTO) + photo = 1 if (id != src.real_name && in_range(src, usr)) -// if (photo) -// usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo yet doesn't seem to be that person!!!" -// else - usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] yet doesn't seem to be that person!!!" + if (photo) + usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo yet doesn't seem to be that person!!!" + else + usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] yet doesn't seem to be that person!!!" else -// if (photo) -// usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo." -// else - usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name]." + if (photo) + usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo." + else + usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name]." if (src.is_jittery) @@ -207,4 +207,4 @@ print_flavor_text() - usr << "\blue *---------*" + usr << "\blue *---------*" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 668ce4ce379..c75ca057d15 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1533,8 +1533,7 @@ del(src) return if("internal") - if ((!( (istype(target.wear_mask, /obj/item/clothing/mask) && istype(target.back, /obj/item/weapon/tank) && !( target.internal )) ) && !( target.internal ))) - //SN src = null + if ((!( (istype(target.wear_mask, /obj/item/clothing/mask) && (istype(target.back, /obj/item/weapon/tank) || istype(target.belt, /obj/item/weapon/tank) || istype(target.s_store, /obj/item/weapon/tank)) && !( target.internal )) ) && !( target.internal ))) //SN src = null del(src) return else @@ -1702,7 +1701,7 @@ return message = text("\red [] is trying to empty []'s pockets!!", source, target) if("CPR") - if (target.cpr_time >= world.time + 3) + if (target.cpr_time + 3 >= world.time) //SN src = null del(src) return @@ -2163,7 +2162,7 @@ It can still be worn/put on as normal. target.handcuffed = item item.loc = target if("CPR") - if (target.cpr_time >= world.time + 30) + if (target.cpr_time + 30 >= world.time) //SN src = null del(src) return @@ -2239,11 +2238,11 @@ It can still be worn/put on as normal. if (!( istype(target.wear_mask, /obj/item/clothing/mask) )) return else - if (istype(target.back, /obj/item/weapon/tank)) + if (istype(target.back, /obj/item/weapon/tank) && (internalloc == "back" || !internalloc)) target.internal = target.back - else if (istype(target.s_store, /obj/item/weapon/tank)) + else if (istype(target.s_store, /obj/item/weapon/tank) && (internalloc == "store" || !internalloc)) target.internal = target.s_store - else if (istype(target.belt, /obj/item/weapon/tank)) + else if (istype(target.belt, /obj/item/weapon/tank) && (internalloc == "belt" || !internalloc)) target.internal = target.belt if (target.internal) for(var/mob/M in viewers(target, 1)) @@ -2284,12 +2283,12 @@ It can still be worn/put on as normal.
Right Ear: [(r_ear ? r_ear : "Nothing")]
Head: [(head ? head : "Nothing")]
Shoes: [(shoes ? shoes : "Nothing")] -
Belt: [(belt ? belt : "Nothing")] +
Belt: [(belt ? belt : "Nothing")] [(istype(wear_mask, /obj/item/clothing/mask) && istype(belt, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : ""]
Uniform: [(w_uniform ? w_uniform : "Nothing")]
(Exo)Suit: [(wear_suit ? wear_suit : "Nothing")] -
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : "")] +
Back: [(back ? back : "Nothing")][(istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : ""]
ID: [(wear_id ? wear_id : "Nothing")] -
Suit Storage: [(s_store ? s_store : "Nothing")] +
Suit Storage: [(s_store ? s_store : "Nothing")] [(istype(wear_mask, /obj/item/clothing/mask) && istype(s_store, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : ""]
[(handcuffed ? text("Handcuffed") : text("Not Handcuffed"))]
[(internal ? text("Remove Internal") : "")]
Empty Pockets diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 9bafddc407a..d2a60c0ed07 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -514,7 +514,7 @@ adjustOxyLoss(3) // Lets hurt em a little, let them know we mean business if(world.time - co2overloadtime > 300) // They've been in here 30s now, lets start to kill them for their own good! adjustOxyLoss(8) - if(prob(20)) // Lets give them some chance to know somethings not right though I guess. + if(prob(20) && isbreathing) // Lets give them some chance to know somethings not right though I guess. spawn(0) emote("cough") else diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index b9b87afa56d..6c9c65aa09b 100644 Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ