mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-21 20:14:31 +01:00
Merge branch 'master' into protRig
This commit is contained in:
@@ -34,3 +34,5 @@
|
||||
/obj/effect/decal/cleanable/chemcoating/update_icon()
|
||||
..()
|
||||
color = reagents.get_color()
|
||||
cut_overlays()
|
||||
add_janitor_hud_overlay()
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
|
||||
/obj/effect/decal/cleanable/blood/gibs/xeno/update_icon()
|
||||
color = "#FFFFFF"
|
||||
cut_overlays()
|
||||
add_janitor_hud_overlay()
|
||||
|
||||
/obj/effect/decal/cleanable/blood/gibs/xeno/up
|
||||
random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibup1","xgibup1","xgibup1")
|
||||
@@ -30,4 +32,4 @@
|
||||
random_icon_states = list("xgibmid1", "xgibmid2", "xgibmid3")
|
||||
|
||||
/obj/effect/decal/cleanable/blood/xtracks
|
||||
basecolor = "#05EE05"
|
||||
basecolor = "#05EE05"
|
||||
|
||||
@@ -70,6 +70,8 @@ var/global/list/image/splatter_cache=list()
|
||||
else
|
||||
name = initial(name)
|
||||
desc = initial(desc)
|
||||
cut_overlays()
|
||||
add_janitor_hud_overlay()
|
||||
|
||||
/obj/effect/decal/cleanable/blood/Crossed(mob/living/carbon/human/perp)
|
||||
if(perp.is_incorporeal())
|
||||
@@ -210,6 +212,7 @@ var/global/list/image/splatter_cache=list()
|
||||
icon = blood
|
||||
cut_overlays()
|
||||
add_overlay(giblets)
|
||||
add_janitor_hud_overlay()
|
||||
|
||||
/obj/effect/decal/cleanable/blood/gibs/up
|
||||
random_icon_states = list("gib1", "gib2", "gib3", "gib5", "gib6","gibup1","gibup1","gibup1")
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
|
||||
/obj/effect/decal/cleanable/blood/gibs/robot/update_icon()
|
||||
color = "#FFFFFF"
|
||||
cut_overlays()
|
||||
add_janitor_hud_overlay()
|
||||
|
||||
/obj/effect/decal/cleanable/blood/gibs/robot/dry() //pieces of robots do not dry up like
|
||||
return
|
||||
@@ -49,4 +51,4 @@
|
||||
|
||||
/obj/effect/decal/cleanable/blood/oil/streak
|
||||
random_icon_states = list("mgibbl1", "mgibbl2", "mgibbl3", "mgibbl4", "mgibbl5")
|
||||
amount = 2
|
||||
amount = 2
|
||||
|
||||
@@ -142,6 +142,7 @@ var/global/list/image/fluidtrack_cache=list()
|
||||
stack[stack_idx]=track
|
||||
add_overlay(I)
|
||||
updatedtracks=0 // Clear our memory of updated tracks.
|
||||
add_janitor_hud_overlay()
|
||||
|
||||
/obj/effect/decal/cleanable/blood/tracks/footprints
|
||||
name = "wet footprints"
|
||||
|
||||
@@ -12,7 +12,6 @@ generic_filth = TRUE means when the decal is saved, it will be switched out for
|
||||
var/generic_filth = FALSE
|
||||
var/age = 0
|
||||
var/list/random_icon_states = list()
|
||||
var/obj/effect/decal/jan_hud/jan_icon = null
|
||||
|
||||
/obj/effect/decal/cleanable/Initialize(var/mapload, var/_age)
|
||||
if(!isnull(_age))
|
||||
@@ -21,12 +20,11 @@ generic_filth = TRUE means when the decal is saved, it will be switched out for
|
||||
src.icon_state = pick(src.random_icon_states)
|
||||
if(!mapload || !CONFIG_GET(flag/persistence_ignore_mapload))
|
||||
SSpersistence.track_value(src, /datum/persistent/filth)
|
||||
jan_icon = new/obj/effect/decal/jan_hud(src.loc)
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/effect/decal/cleanable/Destroy()
|
||||
SSpersistence.forget_value(src, /datum/persistent/filth)
|
||||
QDEL_NULL(jan_icon)
|
||||
. = ..()
|
||||
|
||||
/obj/effect/decal/cleanable/clean_blood(var/ignore = 0)
|
||||
@@ -40,13 +38,25 @@ generic_filth = TRUE means when the decal is saved, it will be switched out for
|
||||
src.icon_state = pick(src.random_icon_states)
|
||||
..()
|
||||
|
||||
/obj/effect/decal/jan_hud
|
||||
plane = PLANE_JANHUD
|
||||
layer = BELOW_MOB_LAYER
|
||||
vis_flags = VIS_HIDE
|
||||
persist_storable = FALSE
|
||||
icon = 'icons/mob/hud.dmi'
|
||||
mouse_opacity = 0
|
||||
|
||||
/obj/effect/decal/jan_hud/Initialize()
|
||||
src.icon_state = "janhud[rand(1,9)]"
|
||||
/obj/effect/decal/cleanable/update_icon()
|
||||
// Overrides should not inheret from this, and instead replace it entirely to match this in some form.
|
||||
// add_janitor_hud_overlay() does not pre-cut overlays, so cut_overlays() must be called first.
|
||||
// This is so it may be used with update_icon() overrides that use overlays, while adding the janitor overlay at the end.
|
||||
cut_overlays()
|
||||
add_janitor_hud_overlay()
|
||||
|
||||
|
||||
/obj/effect/decal/cleanable/proc/add_janitor_hud_overlay()
|
||||
// This was original a seperate object that followed the grime, it got stuck in everything you can imagine!
|
||||
// It also likely doubled the memory use of every cleanable decal on station...
|
||||
var/image/hud = image('icons/mob/hud.dmi', src, "janhud[rand(1,9)]")
|
||||
hud.appearance_flags = (RESET_COLOR|PIXEL_SCALE|KEEP_APART)
|
||||
hud.plane = PLANE_JANHUD
|
||||
hud.layer = BELOW_MOB_LAYER
|
||||
hud.mouse_opacity = 0
|
||||
//HUD VARIANT: Allows the hud to show up with it's normal alpha, even if the 'dirty thing' it's attached to has a low alpha (ex: dirt). If you want to disable it, simply comment out the lines between the 'HUD VARIANT' tag!
|
||||
hud.appearance_flags = RESET_ALPHA
|
||||
hud.alpha = 255
|
||||
//HUD VARIANT end
|
||||
add_overlay(hud)
|
||||
|
||||
@@ -6,26 +6,39 @@
|
||||
layer = DIRTY_LAYER
|
||||
anchored = TRUE
|
||||
|
||||
/obj/effect/decal/cleanable/crayon/New(location,main = "#FFFFFF",shade = "#000000",var/type = "rune")
|
||||
..()
|
||||
loc = location
|
||||
var/art_type
|
||||
var/art_color
|
||||
var/art_shade
|
||||
|
||||
/obj/effect/decal/cleanable/crayon/Initialize(var/ml, main = "#FFFFFF",shade = "#000000",var/type = "rune", new_age = 0)
|
||||
name = type
|
||||
desc = "A [type] drawn in crayon."
|
||||
|
||||
// Persistence vars. Unused here but used downstream. If someone updates the persistance code, it's here.
|
||||
art_type = type
|
||||
art_color = main
|
||||
art_shade = shade
|
||||
|
||||
switch(type)
|
||||
if("rune")
|
||||
type = "rune[rand(1,6)]"
|
||||
if("graffiti")
|
||||
type = pick("amyjon","face","matt","revolution","engie","guy","end","dwarf","uboa")
|
||||
|
||||
var/icon/mainOverlay = new/icon('icons/effects/crayondecal.dmi',"[type]",2.1)
|
||||
var/icon/shadeOverlay = new/icon('icons/effects/crayondecal.dmi',"[type]s",2.1)
|
||||
. = ..(ml, new_age) // mapload, age
|
||||
|
||||
mainOverlay.Blend(main,ICON_ADD)
|
||||
shadeOverlay.Blend(shade,ICON_ADD)
|
||||
/obj/effect/decal/cleanable/crayon/update_icon()
|
||||
cut_overlays()
|
||||
var/icon/mainOverlay = new/icon('icons/effects/crayondecal.dmi',"[art_type]",2.1)
|
||||
var/icon/shadeOverlay = new/icon('icons/effects/crayondecal.dmi',"[art_type]s",2.1)
|
||||
|
||||
add_overlay(mainOverlay)
|
||||
add_overlay(shadeOverlay)
|
||||
if(mainOverlay && shadeOverlay)
|
||||
mainOverlay.Blend(art_color,ICON_ADD)
|
||||
shadeOverlay.Blend(art_shade,ICON_ADD)
|
||||
|
||||
add_hiddenprint(usr)
|
||||
add_overlay(mainOverlay)
|
||||
add_overlay(shadeOverlay)
|
||||
|
||||
add_janitor_hud_overlay()
|
||||
return
|
||||
// CHOMPEdit End
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
// Special case to prevent us from being part of a zone during the first air master tick.
|
||||
// We must merge ourselves into a zone on next tick. This will cause a bit of lag on
|
||||
// startup, but it can't really be helped you know?
|
||||
if(air_master && air_master.current_cycle == 0)
|
||||
if(SSair && SSair.current_cycle == 0)
|
||||
spawn(1)
|
||||
air_master.mark_for_update(get_turf(src))
|
||||
SSair.mark_for_update(get_turf(src))
|
||||
return FALSE
|
||||
return is_zone ? FALSE : TRUE // Anything except zones can pass
|
||||
|
||||
@@ -118,7 +118,6 @@
|
||||
to speak with your team, and learn what their plan is for today."))
|
||||
|
||||
R.key = C.key
|
||||
// R.Namepick() // Apparnetly making someone a merc lets them pick a name, so this isn't needed.
|
||||
|
||||
spawn(1)
|
||||
mercs.add_antagonist(R.mind, FALSE, TRUE, FALSE, FALSE, FALSE)
|
||||
|
||||
@@ -251,9 +251,9 @@
|
||||
if (!isturf(NT) || (NT in found) || (NT in pending))
|
||||
continue
|
||||
// We ask ZAS to determine if its airtight. Thats what matters anyway right?
|
||||
if(air_master.air_blocked(T, NT))
|
||||
if(SSair.air_blocked(T, NT))
|
||||
// Okay thats the edge of the room
|
||||
if(get_area_type(NT.loc) == AREA_SPACE && air_master.air_blocked(NT, NT))
|
||||
if(get_area_type(NT.loc) == AREA_SPACE && SSair.air_blocked(NT, NT))
|
||||
found += NT // So we include walls/doors not already in any area
|
||||
continue
|
||||
if (istype(NT, /turf/space))
|
||||
|
||||
@@ -678,9 +678,9 @@
|
||||
if(!visual && forbiddenAreas[NT.loc.type])
|
||||
return ROOM_ERR_FORBIDDEN
|
||||
// We ask ZAS to determine if its airtight. Thats what matters anyway right?
|
||||
if(air_master.air_blocked(T, NT))
|
||||
if(SSair.air_blocked(T, NT))
|
||||
// Okay thats the edge of the room
|
||||
if(get_area_type(NT.loc) == AREA_SPACE && air_master.air_blocked(NT, NT))
|
||||
if(get_area_type(NT.loc) == AREA_SPACE && SSair.air_blocked(NT, NT))
|
||||
found += NT // So we include walls/doors not already in any area
|
||||
continue
|
||||
if (istype(NT, /turf/space))
|
||||
@@ -835,9 +835,9 @@
|
||||
if(!get_new_area_type(NT.loc) == 1) //The contains somewhere that is NOT a buildable area.
|
||||
return 3 //NOT A BUILDABLE AREA
|
||||
|
||||
if(air_master.air_blocked(T, NT)) //Is the room airtight?
|
||||
if(SSair.air_blocked(T, NT)) //Is the room airtight?
|
||||
// Okay thats the edge of the room
|
||||
if(get_new_area_type(NT.loc) == 1 && air_master.air_blocked(NT, NT))
|
||||
if(get_new_area_type(NT.loc) == 1 && SSair.air_blocked(NT, NT))
|
||||
found += NT // So we include walls/doors not already in any area
|
||||
continue
|
||||
if (istype(NT, /turf/space))
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
if(D.visibility_flags & HIDDEN_SCANNER)
|
||||
continue
|
||||
else
|
||||
dat += span_bold("Viral Infection") + " - Inform a Virologist or the Chief Medical Officer and administer antiviral chemicals such as Spaceacilin. Limit exposure to other personnel.<br>"
|
||||
dat += span_bold("Viral Infection") + " - Inform a Virologist or the Chief Medical Officer and administer antiviral chemicals such as Spaceacillin. Limit exposure to other personnel.<br>"
|
||||
if(robotparts)
|
||||
dat += span_bold("Robotic body parts") + " - Should not be repaired by medical personnel, refer to robotics if damaged."
|
||||
|
||||
|
||||
@@ -225,7 +225,6 @@
|
||||
|
||||
feedback_inc("cyborg_birth",1)
|
||||
callHook("borgify", list(O))
|
||||
O.namepick()
|
||||
|
||||
qdel(src)
|
||||
else
|
||||
|
||||
@@ -556,35 +556,6 @@
|
||||
/obj/item/toy/AI/proc/cooldownreset()
|
||||
cooldown = 0
|
||||
|
||||
/*
|
||||
* Hand buzzer
|
||||
*/
|
||||
/obj/item/clothing/gloves/ring/buzzer/toy
|
||||
name = "steel ring"
|
||||
desc = "Torus shaped finger decoration. It has a small piece of metal on the palm-side."
|
||||
icon_state = "seal-signet"
|
||||
drop_sound = 'sound/items/drop/ring.ogg'
|
||||
|
||||
/obj/item/clothing/gloves/ring/buzzer/toy/Touch(var/atom/A, var/proximity)
|
||||
if(proximity && istype(usr, /mob/living/carbon/human))
|
||||
|
||||
return zap(usr, A, proximity)
|
||||
return 0
|
||||
|
||||
/obj/item/clothing/gloves/ring/buzzer/toy/zap(var/mob/living/carbon/human/user, var/atom/movable/target, var/proximity)
|
||||
. = FALSE
|
||||
if(user.a_intent == I_HELP && battery.percent() >= 50)
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
|
||||
to_chat(L, span_warning("You feel a powerful shock!"))
|
||||
if(!.)
|
||||
playsound(L, 'sound/effects/sparks7.ogg', 40, 1)
|
||||
L.electrocute_act(battery.percent() * 0, src)
|
||||
return .
|
||||
|
||||
return 0
|
||||
|
||||
/*
|
||||
* Toy cuffs
|
||||
*/
|
||||
|
||||
@@ -115,6 +115,12 @@
|
||||
drop_sound = 'sound/items/drop/food.ogg'
|
||||
pickup_sound = 'sound/items/pickup/food.ogg'
|
||||
|
||||
/obj/item/trash/turkeybones
|
||||
name = "turkey bones"
|
||||
icon_state = "turkeybones"
|
||||
drop_sound = 'sound/items/drop/food.ogg'
|
||||
pickup_sound = 'sound/items/pickup/food.ogg'
|
||||
|
||||
/obj/item/trash/pistachios
|
||||
name = "pistachios packet"
|
||||
icon_state = "pistachios_pack"
|
||||
|
||||
@@ -65,8 +65,7 @@
|
||||
var/light_glove_d = rand(2, 4)
|
||||
var/no_glove_d = rand(4, 6)
|
||||
var/list/forbidden_gloves = list(
|
||||
/obj/item/clothing/gloves/sterile,
|
||||
/obj/item/clothing/gloves/knuckledusters
|
||||
/obj/item/clothing/gloves/sterile
|
||||
)
|
||||
|
||||
if(src == user.l_hand)
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
to_chat(user, span_notice("\the [src] is too full to possibly fit anything else inside of it."))
|
||||
return
|
||||
|
||||
if (istype(W, /obj/item/ore))
|
||||
if (istype(W, /obj/item/ore) && !istype(W, /obj/item/ore/slag))
|
||||
var/obj/item/ore/ore = W
|
||||
stored_ore[ore.material]++
|
||||
current_capacity++
|
||||
@@ -178,6 +178,8 @@
|
||||
if(current_pickup >= max_pickup)
|
||||
max_pickup_reached = 1
|
||||
break
|
||||
if(istype(O, /obj/item/ore/slag))
|
||||
continue
|
||||
var/obj/item/ore/ore = O
|
||||
stored_ore[ore.material]++
|
||||
current_capacity++
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
|
||||
/obj/item/storage/firstaid/surgery
|
||||
can_hold = list(
|
||||
/obj/item/surgical/bone_clamp,
|
||||
/obj/item/surgical/bonesetter,
|
||||
/obj/item/surgical/cautery,
|
||||
/obj/item/surgical/circular_saw,
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
prob(6);/obj/item/material/butterflyblade,
|
||||
prob(6);/obj/item/material/butterflyhandle,
|
||||
prob(2);/obj/item/material/butterfly/switchblade,
|
||||
prob(2);/obj/item/clothing/gloves/knuckledusters,
|
||||
prob(2);/obj/item/clothing/accessory/knuckledusters,
|
||||
prob(1);/obj/item/material/knife/tacknife,
|
||||
prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc,
|
||||
prob(1);/obj/item/beartrap,
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
prob(4);/obj/item/storage/pill_bottle/zoom,
|
||||
prob(4);/obj/item/material/butterfly,
|
||||
prob(2);/obj/item/material/butterfly/switchblade,
|
||||
prob(2);/obj/item/clothing/gloves/knuckledusters,
|
||||
prob(2);/obj/item/clothing/accessory/knuckledusters,
|
||||
prob(2);/obj/item/reagent_containers/syringe/drugs,
|
||||
prob(1);/obj/item/material/knife/tacknife,
|
||||
prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc,
|
||||
|
||||
@@ -39,6 +39,23 @@ LINEN BINS
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/bedsheet/verb/turn_around()
|
||||
set name = "Turn Around"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
if(!usr || !isturf(usr.loc))
|
||||
return
|
||||
if(usr.stat || usr.restrained())
|
||||
return
|
||||
if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction)))
|
||||
return
|
||||
|
||||
if(dir >= 2)
|
||||
src.set_dir(1)
|
||||
else
|
||||
src.set_dir(2)
|
||||
|
||||
/obj/item/bedsheet/blue
|
||||
icon_state = "sheetblue"
|
||||
|
||||
|
||||
@@ -211,7 +211,7 @@
|
||||
/obj/item/radio,
|
||||
/obj/item/gps/explorer,
|
||||
/obj/item/gun/energy/gun/protector/pilotgun/locked,
|
||||
/obj/item/clothing/gloves/watch/survival,
|
||||
/obj/item/clothing/accessory/watch/survival,
|
||||
/obj/item/clothing/accessory/storage/webbing/pilot1,
|
||||
/obj/item/clothing/accessory/storage/webbing/pilot2,
|
||||
/obj/item/emergency_beacon
|
||||
|
||||
@@ -127,6 +127,10 @@
|
||||
name = "chicken crate"
|
||||
starts_with = list(/mob/living/simple_mob/animal/passive/chick = 5)
|
||||
|
||||
/obj/structure/largecrate/animal/turkey
|
||||
name = "turkey crate"
|
||||
starts_with = list(/mob/living/simple_mob/vore/turkey)
|
||||
|
||||
/obj/structure/largecrate/animal/catslug
|
||||
name = "catslug carrier"
|
||||
starts_with = list(/mob/living/simple_mob/vore/alienanimals/catslug)
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
from the pod is not a crewmember."))
|
||||
R.ckey = M.ckey
|
||||
visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated."))
|
||||
R.namepick()
|
||||
log_and_message_admins("successfully opened \a [src] and got a Lost Drone.")
|
||||
..()
|
||||
|
||||
@@ -57,7 +56,6 @@
|
||||
definiton of 'your gravesite' is where your pod is."))
|
||||
R.ckey = M.ckey
|
||||
visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated."))
|
||||
R.namepick()
|
||||
..()
|
||||
|
||||
/obj/structure/ghost_pod/ghost_activated/swarm_drone
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
from the pod is not a crewmember."))
|
||||
R.ckey = M.ckey
|
||||
visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated."))
|
||||
R.namepick()
|
||||
log_and_message_admins("successfully opened \a [src] and got a Lost Drone.")
|
||||
used = TRUE
|
||||
return TRUE
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
icon_state = "pillowpile_large_pink"
|
||||
var/pillowpilefront = "/obj/structure/bed/pillowpilefront"
|
||||
var/sourcepillow = "/obj/item/bedsheet/pillow"
|
||||
flippable = FALSE
|
||||
|
||||
/obj/structure/bed/pillowpilefront
|
||||
name = "pillow pile"
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
icon_state = "nest"
|
||||
var/health = 100
|
||||
unacidable = TRUE
|
||||
flippable = FALSE
|
||||
|
||||
/obj/structure/bed/nest/update_icon()
|
||||
return
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
var/datum/material/padding_material
|
||||
var/base_icon = "bed"
|
||||
var/applies_material_colour = 1
|
||||
var/flippable = TRUE
|
||||
|
||||
/obj/structure/bed/New(var/newloc, var/new_material, var/new_padding_material)
|
||||
..(newloc)
|
||||
@@ -168,6 +169,30 @@
|
||||
if(padding_material)
|
||||
padding_material.place_sheet(get_turf(src), 1)
|
||||
|
||||
/obj/structure/bed/verb/turn_around()
|
||||
set name = "Turn Around"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
if(!flippable)
|
||||
to_chat(usr,span_notice("\The [src] can't face the other direction."))
|
||||
return
|
||||
|
||||
if(!usr || !isturf(usr.loc))
|
||||
return
|
||||
if(usr.stat || usr.restrained())
|
||||
return
|
||||
if(ismouse(usr) || (isobserver(usr) && !CONFIG_GET(flag/ghost_interaction)))
|
||||
return
|
||||
if(dir == 2)
|
||||
src.set_dir(1)
|
||||
else if(dir == 1)
|
||||
src.set_dir(2)
|
||||
else if(dir == 4)
|
||||
src.set_dir(8)
|
||||
else if(dir == 8)
|
||||
src.set_dir(4)
|
||||
|
||||
/obj/structure/bed/psych
|
||||
name = "psychiatrist's couch"
|
||||
desc = "For prime comfort during psychiatric evaluations."
|
||||
@@ -208,6 +233,7 @@
|
||||
surgery_odds = 50 //VOREStation Edit
|
||||
var/bedtype = /obj/structure/bed/roller
|
||||
var/rollertype = /obj/item/roller
|
||||
flippable = FALSE
|
||||
|
||||
/obj/structure/bed/roller/adv
|
||||
name = "advanced roller bed"
|
||||
@@ -347,6 +373,7 @@
|
||||
catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_bed)
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "bed"
|
||||
flippable = FALSE
|
||||
|
||||
/obj/structure/bed/alien/update_icon()
|
||||
return // Doesn't care about material or anything else.
|
||||
|
||||
@@ -292,7 +292,7 @@
|
||||
prob(3);/obj/item/cracker,
|
||||
prob(3);/obj/item/material/butterfly,
|
||||
prob(3);/obj/item/material/butterfly/switchblade,
|
||||
prob(3);/obj/item/clothing/gloves/knuckledusters,
|
||||
prob(3);/obj/item/clothing/accessory/knuckledusters,
|
||||
prob(3);/obj/item/clothing/gloves/heavy_engineer,
|
||||
prob(3);/obj/item/reagent_containers/syringe/drugs,
|
||||
prob(2);/obj/item/implanter/sizecontrol,
|
||||
|
||||
Reference in New Issue
Block a user