diff --git a/baystation12.dme b/baystation12.dme index 92928498243..cf62483361c 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -5,6 +5,83 @@ // END_INTERNALS // BEGIN_FILE_DIR #define FILE_DIR . +#define FILE_DIR "code" +#define FILE_DIR "code/TriDimension" +#define FILE_DIR "code/unused" +#define FILE_DIR "code/unused/goonheist" +#define FILE_DIR "code/WorkInProgress" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter" +#define FILE_DIR "code/WorkInProgress/IndexLP" +#define FILE_DIR "code/WorkInProgress/Susan" +#define FILE_DIR "html" +#define FILE_DIR "icons" +#define FILE_DIR "icons/48x48" +#define FILE_DIR "icons/ass" +#define FILE_DIR "icons/effects" +#define FILE_DIR "icons/mecha" +#define FILE_DIR "icons/misc" +#define FILE_DIR "icons/mob" +#define FILE_DIR "icons/mob/human_races" +#define FILE_DIR "icons/mob/in-hand" +#define FILE_DIR "icons/mob/in-hand/left" +#define FILE_DIR "icons/mob/in-hand/right" +#define FILE_DIR "icons/mob/otherHuman" +#define FILE_DIR "icons/mob/species" +#define FILE_DIR "icons/mob/species/armalis" +#define FILE_DIR "icons/mob/species/skrell" +#define FILE_DIR "icons/mob/species/tajaran" +#define FILE_DIR "icons/mob/species/unathi" +#define FILE_DIR "icons/mob/species/vox" +#define FILE_DIR "icons/mob/spirits" +#define FILE_DIR "icons/NTOS" +#define FILE_DIR "icons/NTOS/battery_icons" +#define FILE_DIR "icons/obj" +#define FILE_DIR "icons/obj/assemblies" +#define FILE_DIR "icons/obj/atmospherics" +#define FILE_DIR "icons/obj/clothing" +#define FILE_DIR "icons/obj/doors" +#define FILE_DIR "icons/obj/flora" +#define FILE_DIR "icons/obj/machines" +#define FILE_DIR "icons/obj/pipes" +#define FILE_DIR "icons/obj/power_cond" +#define FILE_DIR "icons/pda_icons" +#define FILE_DIR "icons/pods" +#define FILE_DIR "icons/spideros_icons" +#define FILE_DIR "icons/stamp_icons" +#define FILE_DIR "icons/Testing" +#define FILE_DIR "icons/turf" +#define FILE_DIR "icons/vehicles" +#define FILE_DIR "icons/vending_icons" +#define FILE_DIR "maps" +#define FILE_DIR "maps/overmap" +#define FILE_DIR "maps/overmap/bearcat" +#define FILE_DIR "nano" +#define FILE_DIR "nano/images" +#define FILE_DIR "sound" +#define FILE_DIR "sound/AI" +#define FILE_DIR "sound/ambience" +#define FILE_DIR "sound/effects" +#define FILE_DIR "sound/effects/turret" +#define FILE_DIR "sound/effects/wind" +#define FILE_DIR "sound/hallucinations" +#define FILE_DIR "sound/items" +#define FILE_DIR "sound/machines" +#define FILE_DIR "sound/mecha" +#define FILE_DIR "sound/misc" +#define FILE_DIR "sound/music" +#define FILE_DIR "sound/piano" +#define FILE_DIR "sound/turntable" +#define FILE_DIR "sound/violin" +#define FILE_DIR "sound/voice" +#define FILE_DIR "sound/voice/complionator" +#define FILE_DIR "sound/voice/Serithi" +#define FILE_DIR "sound/vox" +#define FILE_DIR "sound/vox_fem" +#define FILE_DIR "sound/weapons" // END_FILE_DIR // BEGIN_PREFERENCES #define DEBUG @@ -849,10 +926,10 @@ #include "code\modules\customitems\item_defines.dm" #include "code\modules\customitems\item_spawning.dm" #include "code\modules\customitems\definitions\base.dm" -#include "code\modules\detectivework\detective_work.dm" -#include "code\modules\detectivework\evidence.dm" -#include "code\modules\detectivework\footprints_and_rag.dm" -#include "code\modules\detectivework\scanner.dm" +#include "code\modules\DetectiveWork\detective_work.dm" +#include "code\modules\DetectiveWork\evidence.dm" +#include "code\modules\DetectiveWork\footprints_and_rag.dm" +#include "code\modules\DetectiveWork\scanner.dm" #include "code\modules\economy\Accounts.dm" #include "code\modules\economy\Accounts_DB.dm" #include "code\modules\economy\ATM.dm" diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index ce44124439f..7400a695d27 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -79,7 +79,7 @@ var/wikiurl = "http://baystation12.net/wiki" var/forumurl = "http://baystation12.net/forums/" - var/media_base_url = "http://80.244.78.90/media" // http://ss13.nexisonline.net/media + var/media_base_url = "http://nanotrasen.se/media" // http://ss13.nexisonline.net/media //Alert level description var/alert_desc_green = "All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced." diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index cb137a898b4..eb8a458c865 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -400,12 +400,19 @@ return if((istype(M,/mob/living/carbon/human/)) && (M.m_intent == "run")). - M.AdjustStunned(5) - M.AdjustWeakened(5) + //M.AdjustStunned(5) + //M.AdjustWeakened(5) + + if(M.stunned <= 5) M.stunned = 5 + if(M.weakened <= 5) M.weakened = 5 else if (istype(M,/mob/living/carbon/human/)) - M.AdjustStunned(2) - M.AdjustWeakened(2) + //M.AdjustStunned(2) + //M.AdjustWeakened(2) + + if(M.stunned <= 2) M.stunned = 2 + if(M.weakened <= 2) M.weakened = 2 + M << "Gravity!" diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index c51f265e78c..d4b1a0d44a6 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -67,6 +67,10 @@ var/global/list/bad_blocks[0] var/struc_enzymes="" // Encoded SE var/unique_enzymes="" // MD5 of player name + // Original Encoded SE, for use with Ryetalin + var/struc_enzymes_original="" // Encoded SE + var/list/SE_original[DNA_SE_LENGTH] + // Internal dirtiness checks var/dirtyUI=0 var/dirtySE=0 @@ -89,6 +93,7 @@ var/global/list/bad_blocks[0] /datum/dna/proc/Clone() var/datum/dna/new_dna = new() new_dna.unique_enzymes=unique_enzymes + new_dna.struc_enzymes_original=struc_enzymes_original // will make clone's SE the same as the original, do we want this? new_dna.b_type=b_type new_dna.mutantrace=mutantrace new_dna.real_name=real_name @@ -362,10 +367,16 @@ var/global/list/bad_blocks[0] // BACK-COMPAT! // Initial DNA setup. I'm kind of wondering why the hell this doesn't just call the above. +// ready_dna is (hopefully) only used on mob creation, and sets the struc_enzymes_original and SE_original only once - Bone White + /datum/dna/proc/ready_dna(mob/living/carbon/human/character) + ResetUIFrom(character) ResetSE() + struc_enzymes_original = struc_enzymes // sets the original struc_enzymes when ready_dna is called + SE_original = SE + unique_enzymes = md5(character.real_name) reg_dna[unique_enzymes] = character.real_name diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index ce587104554..16d880402dd 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -533,7 +533,13 @@ var/list/sacrificed = list() return 0 // record this - cult_log("[key_name(usr,0)] says : [input]") + //cult_log("[key_name(usr,0)] says : [input]") + + + var/F = investigate_subject2file("cult") + if(!F) + return 0 + F << "[time2text(world.timeofday,"hh:mm")] \ref[usr] ([usr.x],[usr.y],[usr.z]) || [usr] communicates: [input]
" var/obj/cult_viewpoint/vp = getCultViewpoint(usr) if (!vp) diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index a319e83421e..63112829a84 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -86,35 +86,173 @@ if (usr.stat || usr.restrained() || !in_range(src, usr)) return if (href_list["rune"]) - switch(href_list["rune"]) - if("newtome") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) - T.imbue = "newtome" - if("teleport") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) - T.imbue = "[pick("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri", "orkan", "allaq")]" - T.info = "[T.imbue]" - if("emp") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) - T.imbue = "emp" - if("conceal") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) - T.imbue = "conceal" - if("communicate") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) - T.imbue = "communicate" - if("runestun") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) - T.imbue = "runestun" - if("armor") - var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr)) - T.imbue = "armor" - if("soulstone") - new /obj/item/device/soulstone(get_turf(usr)) - if("construct") - new /obj/structure/constructshell(get_turf(usr)) - src.uses-- - supply() + if (istype(usr, /mob/living/carbon/human)) + var/mob/living/carbon/human/M = usr + + switch(href_list["rune"]) + if("newtome") + + var/obj/item/weapon/paper/talisman/T = new(M) + T.imbue = "newtome" + + var/list/slots = list ( + "backpack" = slot_in_backpack, + "left pocket" = slot_l_store, + "right pocket" = slot_r_store, + "left hand" = slot_l_hand, + "right hand" = slot_r_hand, + ) + + var/where = M.equip_in_one_of_slots(T, slots) + if (!where) + M << "You need a space in your backpack, pocket or hand for the new paper." + else + M << "The [href_list["rune"]] talisman in your [where]" + M.update_icons() + src.uses-- + supply() + + + if("teleport") + var/obj/item/weapon/paper/talisman/T = new(M) + T.imbue = "[pick("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri", "orkan", "allaq")]" + T.info = "[T.imbue]" + + var/list/slots = list ( + "backpack" = slot_in_backpack, + "left pocket" = slot_l_store, + "right pocket" = slot_r_store, + "left hand" = slot_l_hand, + "right hand" = slot_r_hand, + ) + + var/where = M.equip_in_one_of_slots(T, slots) + if (!where) + M << "You need a space in your backpack, pocket or hand for the new paper." + else + M << "The [href_list["rune"]] talisman in your [where]" + M.update_icons() + src.uses-- + supply() + + if("emp") + var/obj/item/weapon/paper/talisman/T = new(M) + T.imbue = "emp" + + var/list/slots = list ( + "backpack" = slot_in_backpack, + "left pocket" = slot_l_store, + "right pocket" = slot_r_store, + "left hand" = slot_l_hand, + "right hand" = slot_r_hand, + ) + + var/where = M.equip_in_one_of_slots(T, slots) + if (!where) + M << "You need a space in your backpack, pocket or hand for the new paper." + else + M << "The [href_list["rune"]] talisman in your [where]" + M.update_icons() + src.uses-- + supply() + + if("conceal") + var/obj/item/weapon/paper/talisman/T = new(M) + T.imbue = "conceal" + + var/list/slots = list ( + "backpack" = slot_in_backpack, + "left pocket" = slot_l_store, + "right pocket" = slot_r_store, + "left hand" = slot_l_hand, + "right hand" = slot_r_hand, + ) + + var/where = M.equip_in_one_of_slots(T, slots) + if (!where) + M << "You need a space in your backpack, pocket or hand for the new paper." + else + M << "The [href_list["rune"]] talisman in your [where]" + M.update_icons() + src.uses-- + supply() + + if("communicate") + var/obj/item/weapon/paper/talisman/T = new(M) + T.imbue = "communicate" + + var/list/slots = list ( + "backpack" = slot_in_backpack, + "left pocket" = slot_l_store, + "right pocket" = slot_r_store, + "left hand" = slot_l_hand, + "right hand" = slot_r_hand, + ) + + var/where = M.equip_in_one_of_slots(T, slots) + if (!where) + M << "You need a space in your backpack, pocket or hand for the new paper." + else + M << "The [href_list["rune"]] talisman in your [where]" + M.update_icons() + src.uses-- + supply() + + if("runestun") + var/obj/item/weapon/paper/talisman/T = new(M) + T.imbue = "runestun" + + var/list/slots = list ( + "backpack" = slot_in_backpack, + "left pocket" = slot_l_store, + "right pocket" = slot_r_store, + "left hand" = slot_l_hand, + "right hand" = slot_r_hand, + ) + + var/where = M.equip_in_one_of_slots(T, slots) + if (!where) + M << "You need a space in your backpack, pocket or hand for the new paper." + else + M << "The [href_list["rune"]] talisman in your [where]" + M.update_icons() + src.uses-- + supply() + + if("armor") + var/obj/item/weapon/paper/talisman/T = new(M) + T.imbue = "armor" + + var/list/slots = list ( + "backpack" = slot_in_backpack, + "left pocket" = slot_l_store, + "right pocket" = slot_r_store, + "left hand" = slot_l_hand, + "right hand" = slot_r_hand, + ) + + var/where = M.equip_in_one_of_slots(T, slots) + if (!where) + M << "You need a space in your backpack, pocket or hand for the new paper." + else + M << "The [href_list["rune"]] talisman in your [where]" + M.update_icons() + src.uses-- + supply() + + if("soulstone") + new /obj/item/device/soulstone(get_turf(usr)) + src.uses-- + supply() + if("construct") + new /obj/structure/constructshell(get_turf(usr)) + src.uses-- + supply() + else + return + + + return diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 3f319d0b98a..bf2e96c0f70 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -201,6 +201,7 @@ if(H.mind in ticker.mode.syndicates) ticker.mode.update_all_synd_icons() if (H.mind in ticker.mode.cult) + ticker.mode.add_cult_viewpoint(H) ticker.mode.add_cultist(src.occupant.mind) ticker.mode.update_all_cult_icons() //So the icon actually appears if(("\ref[H.mind]" in ticker.mode.implanter) || (H.mind in ticker.mode.implanted)) diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index f0c4bddd6bf..f42d21298fb 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -676,7 +676,7 @@ - + diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index e1f53edc1e9..2bcf45b4c16 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -68,6 +68,68 @@ return 1 /obj/structure/closet/crate/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/rcs) && !src.opened) + var/obj/item/weapon/rcs/E = W + if(E.rcharges != 0) + if(E.mode == 0) + if(!E.teleporting) + var/list/L = list() + var/list/areaindex = list() + for(var/obj/machinery/telepad_cargo/R in world) + if(R.stage == 0) + var/turf/T = get_turf(R) + var/tmpname = T.loc.name + if(areaindex[tmpname]) + tmpname = "[tmpname] ([++areaindex[tmpname]])" + else + areaindex[tmpname] = 1 + L[tmpname] = R + var/desc = input("Please select a telepad.", "RCS") in L + E.pad = L[desc] + playsound(E.loc, 'sound/machines/click.ogg', 50, 1) + user << "\blue Teleporting [src.name]..." + E.teleporting = 1 + sleep(50) + E.teleporting = 0 + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + do_teleport(src, E.pad, 0) + E.rcharges-- + if(E.rcharges != 1) + user << "\blue Teleport successful. [E.rcharges] charges left." + E.desc = "Use this to send crates and closets to cargo telepads. There are [E.rcharges] charges left." + return + else + user << "\blue Teleport successful. [E.rcharges] charge left." + E.desc = "Use this to send crates and closets to cargo telepads. There is [E.rcharges] charge left." + return + else + E.rand_x = rand(50,200) + E.rand_y = rand(50,200) + var/L = locate(E.rand_x, E.rand_y, 6) + playsound(E.loc, 'sound/machines/click.ogg', 50, 1) + user << "\blue Teleporting [src.name]..." + E.teleporting = 1 + sleep(50) + E.teleporting = 0 + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + do_teleport(src, L) + E.rcharges-- + if(E.rcharges != 1) + user << "\blue Teleport successful. [E.rcharges] charges left." + E.desc = "Use this to send crates and closets to cargo telepads. There are [E.rcharges] charges left." + return + else + user << "\blue Teleport successful. [E.rcharges] charge left." + E.desc = "Use this to send crates and closets to cargo telepads. There is [E.rcharges] charge left." + return + else + user << "\red Out of charges." + return + if(opened) if(isrobot(user)) return diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 3629a1600e2..f5c859e2382 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -98,3 +98,7 @@ /obj/item/clothing/head/surgery/green desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs. This one is dark green." icon_state = "surgcap_green" + +/obj/item/clothing/head/surgery/black + desc = "A cap morticians wear during autopsies. Keeps their hair from falling into the cadavers. It is as dark than the mortician's humor." + icon_state = "surgcap_black" \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index dd3b2778aa4..00319350361 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -35,7 +35,13 @@ if(istype(I,/obj/item/weapon/modkit/tajaran)) user.drop_item() playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user." + if(helmet) + helmet.loc = get_turf(src) + src.helmet = null + user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user. You pop the helmet on the floor" + else + user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user." + new /obj/item/clothing/suit/space/rig/tajara(user.loc) del(I) del(src) @@ -43,7 +49,13 @@ if(istype(I,/obj/item/weapon/modkit/unathi)) user.drop_item() playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user." + if(helmet) + helmet.loc = get_turf(src) + src.helmet = null + user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user. You pop the helmet on the floor" + else + user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user." + new /obj/item/clothing/suit/space/rig/unathi(user.loc) del(I) del(src) diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 23a7f41dc15..aac293a4951 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -176,6 +176,17 @@ "Vox" = 'icons/mob/species/vox/uniform.dmi' ) +/obj/item/clothing/under/rank/medical/mortician + name = "mortician's scrubs" + desc = "It's made of a special fiber that provides minor protection against biohazards. This one is as dark as an emo's poetry." + icon_state = "scrubsblack" + _color = "scrubsblack" + flags = FPRINT | TABLEPASS | ONESIZEFITSALL + species_fit = list("Vox") + sprite_sheets = list( + "Vox" = 'icons/mob/species/vox/uniform.dmi' + ) + //paramedic /obj/item/clothing/under/rank/medical/paramedic desc = "It's made of a special fiber that provides minor protection against biohazards and radiation. It has a cross on the chest denoting that the wearer is trained medical personnel." diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index a8b99bd9d25..224db81235a 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -519,10 +519,9 @@ _color = "soldieruniform" body_parts_covered = UPPER_TORSO|LOWER_TORSO -/obj/item/clothing/under/sexyclown - name = "sexy-clown suit" - desc = "It makes you look HONKable!" +/obj/item/clothing/under/pennywise + name = "Pennywise Costume" + desc = "It's everything you ever were afraid of." icon_state = "pennywise" - item_state = "pennywise" _color = "pennywise" body_parts_covered = UPPER_TORSO|LOWER_TORSO diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm index 239629ca824..9927b6e5b85 100644 --- a/code/modules/mining/ore_datum.dm +++ b/code/modules/mining/ore_datum.dm @@ -49,3 +49,7 @@ smelts_to = /obj/item/stack/sheet/mineral/tritium compresses_to = /obj/item/stack/sheet/mineral/mhydrogen oretag = "hydrogen" + +/datum/ore/clown + smelts_to = /obj/item/stack/sheet/mineral/clown + oretag = "clown" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 47e2fe427f9..2a0021ba7f6 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -533,12 +533,18 @@ m_type = 1 else if (!muzzled) - message = "[src] screams!" - m_type = 2 - if (prob(5)) - playsound(src.loc, 'sound/voice/WilhelmScream.ogg', 100, 1, 10) + if (!(species.name == "Vox" || species.name == "Vox Armalis")) + message = "[src] screams!" + m_type = 2 + if (prob(5)) + playsound(src.loc, 'sound/voice/WilhelmScream.ogg', 100, 1, 10) + else + playsound(src.loc, 'sound/voice/scream2.ogg', 100, 1, 10) else - playsound(src.loc, 'sound/voice/scream2.ogg', 100, 1, 10) + message = "[src] shrieks!" + m_type = 2 + playsound(src.loc, 'sound/voice/shriek1.ogg', 100, 1, 10) + else message = "[src] makes a very loud noise." m_type = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index 26a733619f0..11f33dff1e7 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -27,6 +27,7 @@ max_co2 = 0 min_n2 = 0 max_n2 = 0 + var/dead = 0 unsuitable_atoms_damage = 15 faction = list("alien") status_flags = CANPUSH @@ -92,5 +93,7 @@ /mob/living/simple_animal/hostile/alien/Die() ..() - visible_message("[src] lets out a waning guttural screech, green blood bubbling from its maw...") - playsound(src, 'sound/voice/hiss6.ogg', 100, 1) + if(dead == 0) + dead = 1 + visible_message("[src] lets out a waning guttural screech, green blood bubbling from its maw...") + playsound(src, 'sound/voice/hiss6.ogg', 100, 1) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 0466235341e..d9d14e37579 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1115,11 +1115,25 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom - var/needs_update = M.mutations.len > 0 + var/needs_update = 1 //M.mutations.len > 0 + //Ryetalyn now cures by a random chance per on_mob_life call - Bone White + // 1 volume = ~2% chance + // 10 volume = ~17% chance + // 30 volume = ~38% chance + if (rand(0, 50+volume) > 50 && ishuman(M)) + for(var/block=1;block<=DNA_SE_LENGTH;block++) + M.dna.SetSEState(block,0) + genemutcheck(M,block,null,MUTCHK_FORCED) + M.update_mutations() + + M.dna.struc_enzymes = M.dna.struc_enzymes_original + + /* Old Code (non-functional) M.mutations = list() M.disabilities = 0 M.sdisabilities = 0 + */ // Might need to update appearance for hulk etc. if(needs_update && ishuman(M)) diff --git a/code/world.dm b/code/world.dm index dd9a05aa709..7f85089ea9c 100644 --- a/code/world.dm +++ b/code/world.dm @@ -323,7 +323,7 @@ var/world_topic_spam_protect_time = world.timeofday s += "[station_name()]"; s += " (" - s += "" //Change this to wherever you want the hub to link to. + s += "" //Change this to wherever you want the hub to link to. s += "[game_version]" s += "" s += ")" diff --git a/icons/effects/uristrunes.dmi b/icons/effects/uristrunes.dmi index 04519afc7e0..e6a90303b7f 100644 Binary files a/icons/effects/uristrunes.dmi and b/icons/effects/uristrunes.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 9c5b8e8070f..214c4285327 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 513791099e8..e0579a0a894 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 2689fb848c4..4e3c1972b69 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 71f855fd79c..1bb1b4d4d10 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index 4668447cca4..202f65bcd5f 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/interface/interface.dm b/interface/interface.dm index 3430388d599..2c96d47b994 100644 --- a/interface/interface.dm +++ b/interface/interface.dm @@ -13,7 +13,7 @@ src << "The wiki URL is not set in the server configuration." return -#define CHANGELOG "http://80.244.78.90/phpBB3/viewtopic.php?f=10&t=36" +#define CHANGELOG "http://nanotrasen.se/phpBB3/viewtopic.php?f=10&t=36" /client/verb/changes() set name = "Changelog" set desc = "Visit the forum to check out the changelog." @@ -45,7 +45,7 @@ src << browse(file(RULES_FILE), "window=rules;size=480x320") #undef RULES_FILE -#define DONATE "http://80.244.78.90/phpBB3/donate.php" +#define DONATE "http://nanotrasen.se/phpBB3/donate.php" /client/verb/donate() set name = "Donate" set desc = "Donate to help with development costs."