diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index cdefe3a2614..8b3c9d43ba7 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -83,7 +83,6 @@ /datum/outfit/job/scientist/xenoarcheologist name = "Xenoarcheologist" - uniform = /obj/item/clothing/under/rank/xenoarcheologist /datum/job/xenobiologist @@ -107,12 +106,17 @@ minimal_player_age = 14 outfit = /datum/outfit/job/scientist/xenobiologist + alt_outfits = list("Xenobotanist"=/datum/outfit/job/scientist/xenobotanist) /datum/outfit/job/scientist/xenobiologist name = "Xenobiologist" jobtype = /datum/job/xenobiologist pda = /obj/item/device/pda/xenobio +/datum/outfit/job/scientist/xenobotanist + name = "Xenobotanist" + uniform = /obj/item/clothing/under/rank/scientist/botany + /datum/job/roboticist title = "Roboticist" flag = ROBOTICIST diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 043b4e1edc1..0b6994bd66b 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -64,7 +64,7 @@ def_zone = H.zone_sel.selecting H.setMoveCooldown(fire_time) P.launch_projectile(target, def_zone, user, params) - playsound(chassis, fire_sound, fire_volume, 1, 5, 0.9, 1) + playsound(chassis, fire_sound, fire_volume, 1, 3, 0.5, 1) /obj/item/mecha_parts/mecha_equipment/weapon/proc/reset_fire() set_ready_state(1) diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 0e07bacf73d..35c4635fde9 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -55,6 +55,9 @@ name = "plate" icon_state = "plate" +/obj/item/trash/plate/steak + icon_state = "steak" + /obj/item/trash/snack_bowl name = "snack bowl" icon_state = "snack_bowl" diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 6b681f01289..459be3d8085 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -32,7 +32,7 @@ S.icon_state = "shield0" to_chat(M, "BANG") - playsound(src.loc, 'sound/weapons/flashbang.ogg', 50, 1, 5, 0.9, 1) + playsound(src.loc, 'sound/weapons/flashbang.ogg', 50, 1, 3, 0.5, 1) //Checking for protections var/eye_safety = 0 diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index bd9fae3270a..3d9a18ef579 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -409,7 +409,7 @@ var/const/enterloopsanity = 100 L.Add(t) return L - +// CRAWLING + MOVING STUFF /turf/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) var/turf/T = get_turf(user) var/area/A = T.loc @@ -417,7 +417,7 @@ var/const/enterloopsanity = 100 return if(istype(O, /obj/screen)) return - if(user.restrained() || user.stat || user.stunned || user.paralysis || !user.lying) + if(user.restrained() || user.stat || user.incapacitated(INCAPACITATION_KNOCKOUT) || !user.lying) return if((!(istype(O, /atom/movable)) || O.anchored || !Adjacent(user) || !Adjacent(O) || !user.Adjacent(O))) return @@ -425,15 +425,40 @@ var/const/enterloopsanity = 100 return if(isanimal(user) && O != user) return + + var/tally = 0 + if(ishuman(user)) var/mob/living/carbon/human/H = user - var/has_right_hand = TRUE + var/obj/item/organ/external/rhand = H.organs_by_name["r_hand"] - if(!rhand || rhand.is_stump()) - has_right_hand = FALSE + tally += limbCheck(rhand) + var/obj/item/organ/external/lhand = H.organs_by_name["l_hand"] - if(!lhand || lhand.is_stump()) - if(!has_right_hand) - return - if (do_after(user, 25 + (5 * user.weakened)) && !(user.stat)) + tally += limbCheck(lhand) + + var/obj/item/organ/external/rfoot = H.organs_by_name["r_foot"] + tally += limbCheck(rfoot) + + var/obj/item/organ/external/lfoot = H.organs_by_name["l_foot"] + tally += limbCheck(lfoot) + + if(tally >= 120) + to_chat(user, span("notice", "You're too injured to do this!")) + return + + var/finaltime = 25 + (5 * (user.weakened * 1.5)) + if(tally >= 45) // If you have this much missing, you'll crawl slower. + finaltime += tally + + if(do_after(user, finaltime) && !user.stat) step_towards(O, src) + +// Checks status of limb, returns an amount to +/turf/proc/limbCheck(var/obj/item/organ/external/limb) + if(!limb) // Limb is null, thus missing. Add 3 seconds. + return 30 + else if(!limb.is_usable() || limb.is_broken()) // You can't use the limb, but it's still there to manoevre yourself + return 15 + else + return 0 \ No newline at end of file diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 8926979805f..e59a3f35040 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -141,7 +141,7 @@ var/burst_time = (min_burst_delay + max_burst_delay)/2 + 2*(burst_shots-1) var/power_per_shot = active_power_usage * (burst_time/10) / burst_shots - playsound(src.loc, 'sound/weapons/emitter.ogg', 25, 1) + playsound(src.loc, 'sound/weapons/emitter.ogg', 25, 1, 3, 0.5, 1) if(prob(35)) spark_system.queue() diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 301839802dd..93e4d7fa86b 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -335,7 +335,7 @@ if(silenced) playsound(src, fire_sound, 10, 1) else - playsound(src, fire_sound, 75, 1, 5, 0.9, 1) + playsound(src, fire_sound, 75, 1, 3, 0.5, 1) if (muzzle_flash) set_light(muzzle_flash) @@ -378,7 +378,7 @@ if(silenced) playsound(user, fire_sound, 10, 1) else - playsound(user, fire_sound, 75, 1, 5, 0.9, 1) + playsound(user, fire_sound, 75, 1, 3, 0.5, 1) if (playemote) if(reflex) @@ -490,7 +490,7 @@ if(silenced) playsound(user, fire_sound, 10, 1) else - playsound(user, fire_sound, 75, 1, 5, 0.9, 1) + playsound(user, fire_sound, 75, 1, 3, 0.5, 1) in_chamber.on_hit(M) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index c18f1343bb5..fb0ba594eb2 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -428,6 +428,10 @@ if (reagents) on_consume(user) +/obj/item/weapon/reagent_containers/food/snacks/on_reagent_change() + update_icon() + return + ////////////////////////////////////////////////// ////////////////////////////////////////////Snacks ////////////////////////////////////////////////// @@ -1701,8 +1705,8 @@ /obj/item/weapon/reagent_containers/food/snacks/meatsteak name = "meat steak" desc = "A piece of hot spicy meat." - icon_state = "meatstake" - trash = /obj/item/trash/plate + icon_state = "steak" + trash = /obj/item/trash/plate/steak filling_color = "#7A3D11" center_of_mass = list("x"=16, "y"=13) bitesize = 2 @@ -1714,6 +1718,22 @@ reagents.add_reagent("sodiumchloride", 1) reagents.add_reagent("blackpepper", 1) +/obj/item/weapon/reagent_containers/food/snacks/meatsteak/update_icon() + var/percent = round((reagents.total_volume / 10) * 100) + switch(percent) + if(0 to 10) + icon_state = "steak_10" + if(11 to 25) + icon_state = "steak_25" + if(26 to 40) + icon_state = "steak_40" + if(41 to 60) + icon_state = "steak_60" + if(61 to 75) + icon_state = "steak_75" + if(76 to INFINITY) + icon_state = "steak" + /obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff name = "spacy liberty duff" desc = "Jello gelatin, from Alfred Hubbard's cookbook." diff --git a/html/changelog.html b/html/changelog.html index 86a7005ee97..a23a450adfd 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -36,10 +36,23 @@

13 November 2019

+

Alberyk, BRAINOS updated:

+

Doxxmedearly updated:

+

Ferner updated:

+ +

Geeves updated:

+

12 November 2019

BRAINOS updated:

diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 24a89223a3e..5f0827cea38 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -9976,6 +9976,15 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. bars. - tweak: Fixes Koko related grammar. 2019-11-13: + Alberyk, BRAINOS: + - imageadd: Added a new meat steak sprite. Doxxmedearly: - tweak: Adds a sound effect to decompiler when used on a mob, and enables it to decompile slightly larger pests. + Ferner: + - tweak: Tweaked the range and heightened the dropoff of some sounds, particularly + gunfire. Emitters are also audible through walls again. + - bugfix: Xenobotanists will now spawn with the correct uniform. + Geeves: + - rscadd: You can now crawl under a lot more circumstances, if you click drag yourself + while laying down. diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 8e011c9bf30..93a9ffd2c10 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/trash.dmi b/icons/obj/trash.dmi index 30dcd266ec4..d0df02207bc 100644 Binary files a/icons/obj/trash.dmi and b/icons/obj/trash.dmi differ