Bedsheet inhands and other fixes (#7559)

Adds more bedsheet inhands, because immersion.
Penlight has an inhand now.
Lanterns have new inhands.
Ashtray cigarette extinguish now properly plays the sound.
You can put cigarette butts in cigarette packets

also some more stupid drop sounds
This commit is contained in:
Wowzewow (Wezzy)
2019-12-06 05:43:49 +08:00
committed by Erki
parent b56629f846
commit a6688878a4
25 changed files with 139 additions and 19 deletions
@@ -14,6 +14,7 @@
var/produce_heat = 1500
light_wedge = LIGHT_OMNI
activation_sound = 'sound/items/flare.ogg'
drop_sound = 'sound/items/drop/gloves.ogg'
/obj/item/device/flashlight/flare/New()
fuel = rand(800, 1000) // Sorry for changing this so much but I keep under-estimating how long X number of ticks last in seconds.
@@ -100,7 +100,7 @@
name = "penlight"
desc = "A pen-sized light, used by medical staff."
icon_state = "penlight"
item_state = ""
item_state = "pen"
drop_sound = 'sound/items/drop/accessory.ogg'
flags = CONDUCT
slot_flags = SLOT_EARS
+10 -10
View File
@@ -11,7 +11,7 @@ BREATH ANALYZER
name = "health analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
icon_state = "health"
item_state = "analyzer"
item_state = "healthanalyzer"
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 3
@@ -74,12 +74,12 @@ BREATH ANALYZER
return
var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.getToxLoss() + M.getFireLoss() + M.getBruteLoss())))
var/OX = 0
var/TX = 0
var/BU = 0
var/BR = 0
if (adv == TRUE)
OX = M.getOxyLoss()
TX = M.getToxLoss()
@@ -90,7 +90,7 @@ BREATH ANALYZER
TX = calcDamage(M.getToxLoss())
BU = calcDamage(M.getFireLoss())
BR = calcDamage(M.getBruteLoss())
if(M.status_flags & FAKEDEATH)
if (adv == TRUE)
OX = fake_oxy
@@ -164,12 +164,12 @@ BREATH ANALYZER
var/datum/record/virus/V = SSrecords.find_record("id", "[ID]", RECORD_VIRUS)
if(istype(V))
user.show_message("<span class='warning'>Warning: Pathogen [V.name] detected in subject's blood. Known antigen : [V.antigen]</span>")
if(M.nutrition / M.max_nutrition <= CREW_NUTRITION_VERYHUNGRY)
user.show_message("<span class='warning'>Subject malnourished. Food intake recommended.</span>")
if(M.hydration / M.max_hydration <= CREW_HYDRATION_VERYTHIRSTY)
user.show_message("<span class='warning'>Subject dehydrated. Fluid intake recommended.</span>")
if (M.getCloneLoss())
user.show_message("<span class='warning'>Subject appears to have been imperfectly cloned.</span>")
for(var/datum/disease/D in M.viruses)
@@ -226,7 +226,7 @@ BREATH ANALYZER
else
user.show_message("<span class='notice'>Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]</span>")
user.show_message("<span class='notice'>Subject's pulse: <font color='[H.pulse() == PULSE_THREADY || H.pulse() == PULSE_NONE ? "red" : "blue"]'>[H.get_pulse(GETPULSE_TOOL)] bpm.</font></span>")
/obj/item/device/healthanalyzer/verb/toggle_mode()
set name = "Switch Verbosity"
set category = "Object"
@@ -237,19 +237,19 @@ BREATH ANALYZER
to_chat(usr, "The scanner now shows specific limb damage.")
else
to_chat(usr, "The scanner no longer shows limb damage.")
/obj/item/device/healthanalyzer/adv
name = "advanced health analyzer"
desc = "An advanced hand-held body scanner able to accurately distinguish vital signs of the subject. Now in gold!"
icon_state = "advhealth"
matter = list(DEFAULT_WALL_MATERIAL = 250)
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
/obj/item/device/healthanalyzer/adv/attack(mob/living/M as mob, mob/living/user as mob)
health_scan_mob(M, user, TRUE)
src.add_fingerprint(user)
return
/obj/item/device/healthanalyzer/adv/attack_self(mob/user)
health_scan_mob(user, user, TRUE)
src.add_fingerprint(user)
+1
View File
@@ -27,6 +27,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list(
max_amount = 60
attack_verb = list("hit", "bludgeoned", "whacked")
lock_picking_level = 3
drop_sound = 'sound/items/drop/sword.ogg'
/obj/item/stack/rods/cyborg
name = "metal rod synthesizer"
@@ -45,7 +45,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
origin_tech = list(TECH_MATERIAL = 1)
slot_flags = SLOT_EARS
attack_verb = list("burnt", "singed")
drop_sound = null
drop_sound = 'sound/items/drop/food.ogg'
/obj/item/flame/match/process()
if(isliving(loc))
@@ -100,7 +100,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/ignitermes = "USER lights NAME with FLAME"
var/initial_volume = 0
var/burn_rate = 0
drop_sound = 'sound/items/cigs_lighters/cig_snuff.ogg'
drop_sound = 'sound/items/drop/food.ogg'
/obj/item/clothing/mask/smokable/Initialize()
. = ..()
@@ -337,6 +337,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
zippomes = "<span class='notice'>With a flick of their wrist, USER lights their NAME with their FLAME.</span>"
weldermes = "<span class='notice'>USER insults NAME by lighting it with FLAME.</span>"
ignitermes = "<span class='notice'>USER fiddles with FLAME, and manages to light their NAME with the power of science.</span>"
drop_sound = 'sound/items/drop/gloves.ogg'
/obj/item/clothing/mask/smokable/cigarette/cigar/Initialize()
. = ..()
@@ -383,6 +384,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
w_class = 1
slot_flags = SLOT_EARS
throwforce = 1
drop_sound = 'sound/items/cigs_lighters/cig_snuff.ogg'
/obj/item/cigbutt/Initialize()
. = ..()
@@ -418,6 +420,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
zippomes = "<span class='notice'>With much care, USER lights their NAME with their FLAME.</span>"
weldermes = "<span class='notice'>USER recklessly lights NAME with FLAME.</span>"
ignitermes = "<span class='notice'>USER fiddles with FLAME, and manages to light their NAME with the power of science.</span>"
drop_sound = 'sound/items/drop/accessory.ogg'
/obj/item/clothing/mask/smokable/pipe/Initialize()
. = ..()
@@ -523,6 +526,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
'sound/items/cigs_lighters/cheap_on3.ogg',
)
var/deactivation_sound = 'sound/items/cigs_lighters/cheap_off.ogg'
drop_sound = 'sound/items/drop/card.ogg'
/obj/item/flame/lighter/zippo
name = "\improper Zippo lighter"
@@ -531,6 +535,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
item_state = "zippo"
activation_sound = 'sound/items/cigs_lighters/zippo_on.ogg'
deactivation_sound = 'sound/items/cigs_lighters/zippo_off.ogg'
drop_sound = 'sound/items/drop/accessory.ogg'
/obj/item/flame/lighter/random
New()
@@ -52,6 +52,7 @@
var/obj/item/clothing/mask/smokable/cigarette/cig = W
if (cig.lit == 1)
src.visible_message("[user] crushes [cig] in \the [src], putting it out.")
playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
STOP_PROCESSING(SSprocessing, cig)
var/obj/item/butt = new cig.type_butt(src)
cig.transfer_fingerprints_to(butt)
@@ -5,6 +5,7 @@
* Utensils
*/
/obj/item/material/kitchen/utensil
drop_sound = 'sound/items/drop/knife.ogg'
w_class = 1
thrown_force_divisor = 1
origin_tech = list(TECH_MATERIAL = 1)
@@ -30,6 +30,7 @@
action_button_name = "Wield two-handed weapon"
icon = 'icons/obj/weapons.dmi'
hitsound = "swing_hit"
drop_sound = 'sound/items/drop/sword.ogg'
/obj/item/material/twohanded/proc/unwield()
wielded = 0
@@ -344,6 +345,7 @@
var/cutting = 0 //Ignore
var/powered = 0 //Ignore
drop_sound = 'sound/items/drop/metalshield.ogg'
/obj/item/material/twohanded/chainsaw/Initialize()
. = ..()
@@ -535,6 +537,7 @@
reach = 2
applies_material_colour = 0
can_embed = 0
drop_sound = 'sound/items/drop/woodweapon.ogg'
/obj/item/material/twohanded/pike/halberd
icon_state = "halberd0"
@@ -162,7 +162,7 @@
slot_flags = SLOT_BELT
storage_slots = 6
var/cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette
can_hold = list(/obj/item/clothing/mask/smokable/cigarette, /obj/item/flame/lighter)
can_hold = list(/obj/item/clothing/mask/smokable/cigarette, /obj/item/flame/lighter, /obj/item/cigbutt)
icon_type = "cigarette"
/obj/item/storage/fancy/cigarettes/Initialize()
+54 -2
View File
@@ -7,9 +7,15 @@ LINEN BINS
/obj/item/bedsheet
name = "bedsheet"
desc = "A surprisingly soft linen bedsheet."
description_info = "Click to roll and unroll. Alt-click to fold and unfold. Drag and drop to pick up."
description_fluff = "It seems like you can equip it in your backpack slot..."
icon = 'icons/obj/bedsheets.dmi'
icon_state = "bedsheet"
item_state = "bedsheet"
icon_state = "sheetwhite"
item_state = "sheetwhite"
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_bedsheet.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_bedsheet.dmi',
)
slot_flags = SLOT_BACK
layer = 4.0
throwforce = 1
@@ -189,6 +195,11 @@ LINEN BINS
qdel(src)
return
..()
/obj/item/bedsheet/grey
icon_state = "sheetgrey"
item_state = "sheetgrey"
/obj/item/bedsheet/red
icon_state = "sheetred"
item_state = "sheetred"
@@ -316,6 +327,47 @@ LINEN BINS
item_state = "sheetcostume"
slot_flags = SLOT_OCLOTHING
/obj/item/bedsheet/random
name = "random bedsheet"
icon_state = "sheetrandom"
item_state = "sheetrainbow"
desc = "If you're reading this description ingame, something has gone wrong! Honk!"
/obj/item/bedsheet/random/Initialize()
..()
var/type = pick(typesof(/obj/item/bedsheet) - /obj/item/bedsheet/random)
new type(loc)
return INITIALIZE_HINT_QDEL
/obj/item/bedsheet/dorms
name = "random dorms bedsheet"
icon_state = "sheetrandom"
item_state = "sheetrainbow"
desc = "If you're reading this description ingame, something has gone wrong! Honk!"
/obj/item/bedsheet/dorms/Initialize()
..()
var/type = pickweight(list("Colors" = 80, "Special" = 20))
switch(type)
if("Colors")
type = pick(list(/obj/item/bedsheet,
/obj/item/bedsheet/blue,
/obj/item/bedsheet/green,
/obj/item/bedsheet/grey,
/obj/item/bedsheet/orange,
/obj/item/bedsheet/purple,
/obj/item/bedsheet/red,
/obj/item/bedsheet/yellow,
/obj/item/bedsheet/brown,
/obj/item/bedsheet/black))
if("Special")
type = pick(list(/obj/item/bedsheet/rainbow,
/obj/item/bedsheet/ian,
/obj/item/bedsheet/nanotrasen))
new type(loc)
return INITIALIZE_HINT_QDEL
/obj/structure/bedsheetbin
name = "linen bin"
desc = "A linen bin. It looks rather cosy."
@@ -207,6 +207,7 @@
desc = "A collapsed roller bed that can be carried around."
icon = 'icons/obj/rollerbed.dmi'
icon_state = "folded"
drop_sound = 'sound/items/drop/axe.ogg'
center_of_mass = list("x" = 17,"y" = 7)
w_class = 4.0 // Can't be put in backpacks. Oh well.