mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-24 12:36:22 +01:00
Conflicts: baystation12.dme code/__HELPERS/global_lists.dm code/controllers/master_controller.dm code/game/gamemodes/events/ninja_equipment.dm code/game/gamemodes/events/space_ninja.dm code/game/gamemodes/wizard/rightandwrong.dm code/game/hud.dm code/game/jobs/job/captain.dm code/game/jobs/job/job.dm code/game/jobs/job/medical.dm code/game/jobs/job/science.dm code/game/jobs/job/security.dm code/game/machinery/computer/cloning.dm code/game/objects/items/blueprints.dm code/game/objects/items/weapons/gift_wrappaper.dm code/game/objects/items/weapons/implants/implantnanoaug.dm code/game/objects/items/weapons/storage/uplink_kits.dm code/game/objects/items/weapons/stunbaton.dm code/game/turfs/turf.dm code/modules/client/client defines.dm code/modules/client/client procs.dm code/modules/clothing/masks/miscellaneous.dm code/modules/clothing/shoes/miscellaneous.dm code/modules/clothing/under/ties.dm code/modules/mob/living/carbon/human/human_attackhand.dm code/modules/mob/living/carbon/human/life.dm code/modules/mob/living/carbon/human/say.dm code/modules/mob/living/silicon/say.dm code/modules/mob/mob_defines.dm code/modules/paperwork/clipboard.dm code/modules/paperwork/pen.dm code/modules/paperwork/stamps.dm code/modules/projectiles/projectile.dm code/modules/reagents/Chemistry-Holder.dm code/modules/reagents/reagent_containers/glass.dm code/setup.dm config/config.txt html/changelog.html icons/effects/effects.dmi icons/mob/feet.dmi icons/mob/head.dmi icons/mob/items_lefthand.dmi icons/mob/items_righthand.dmi icons/mob/mask.dmi icons/mob/suit.dmi icons/mob/ties.dmi icons/mob/uniform.dmi icons/obj/clothing/hats.dmi icons/obj/clothing/masks.dmi icons/obj/clothing/shoes.dmi icons/obj/clothing/suits.dmi icons/obj/clothing/ties.dmi maps/tgstation.2.1.0.dmm Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
123 lines
3.3 KiB
Plaintext
123 lines
3.3 KiB
Plaintext
/obj/structure/stool/bed/chair //YES, chairs are a type of bed, which are a type of stool. This works, believe me. -Pete
|
|
name = "chair"
|
|
desc = "You sit in this. Either by will or force."
|
|
icon_state = "chair"
|
|
|
|
/obj/structure/stool/MouseDrop(atom/over_object)
|
|
return
|
|
|
|
/obj/structure/stool/bed/chair/New()
|
|
if(anchored)
|
|
src.verbs -= /atom/movable/verb/pull
|
|
..()
|
|
spawn(3) //sorry. i don't think there's a better way to do this.
|
|
handle_rotation()
|
|
return
|
|
|
|
/obj/structure/stool/bed/chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
..()
|
|
if(istype(W, /obj/item/assembly/shock_kit))
|
|
var/obj/item/assembly/shock_kit/SK = W
|
|
if(!SK.status)
|
|
user << "<span class='notice'>[SK] is not ready to be attached!</span>"
|
|
return
|
|
user.drop_item()
|
|
var/obj/structure/stool/bed/chair/e_chair/E = new /obj/structure/stool/bed/chair/e_chair(src.loc)
|
|
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
|
E.dir = dir
|
|
E.part = SK
|
|
SK.loc = E
|
|
SK.master = E
|
|
del(src)
|
|
|
|
/obj/structure/stool/bed/chair/proc/handle_rotation() //making this into a seperate proc so office chairs can call it on Move()
|
|
if(src.dir == NORTH)
|
|
src.layer = FLY_LAYER
|
|
else
|
|
src.layer = OBJ_LAYER
|
|
|
|
if(buckled_mob)
|
|
if(buckled_mob.loc != src.loc)
|
|
buckled_mob.buckled = null //Temporary, so Move() succeeds.
|
|
if(!buckled_mob.Move(loc))
|
|
unbuckle()
|
|
buckled_mob = null
|
|
else
|
|
buckled_mob.buckled = src //Restoring
|
|
if(buckled_mob)
|
|
buckled_mob.dir = dir
|
|
|
|
/obj/structure/stool/bed/chair/verb/rotate()
|
|
set name = "Rotate Chair"
|
|
set category = "Object"
|
|
set src in oview(1)
|
|
|
|
if(config.ghost_interaction)
|
|
src.dir = turn(src.dir, 90)
|
|
handle_rotation()
|
|
return
|
|
else
|
|
if(!usr || !isturf(usr.loc))
|
|
return
|
|
if(usr.stat || usr.restrained())
|
|
return
|
|
|
|
src.dir = turn(src.dir, 90)
|
|
handle_rotation()
|
|
return
|
|
|
|
/obj/structure/stool/bed/chair/MouseDrop_T(mob/M as mob, mob/user as mob)
|
|
if(!istype(M)) return
|
|
buckle_mob(M, user)
|
|
return
|
|
|
|
// Chair types
|
|
/obj/structure/stool/bed/chair/wood/normal
|
|
icon_state = "wooden_chair"
|
|
name = "wooden chair"
|
|
desc = "Old is never too old to not be in fashion."
|
|
|
|
/obj/structure/stool/bed/chair/wood/wings
|
|
icon_state = "wooden_chair_wings"
|
|
name = "wooden chair"
|
|
desc = "Old is never too old to not be in fashion."
|
|
|
|
/obj/structure/stool/bed/chair/wood/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
if(istype(W, /obj/item/weapon/wrench))
|
|
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
|
new /obj/item/stack/sheet/wood(src.loc)
|
|
del(src)
|
|
else
|
|
..()
|
|
|
|
/obj/structure/stool/bed/chair/comfy
|
|
name = "comfy chair"
|
|
desc = "It looks comfy."
|
|
|
|
/obj/structure/stool/bed/chair/comfy/brown
|
|
icon_state = "comfychair_brown"
|
|
|
|
/obj/structure/stool/bed/chair/comfy/beige
|
|
icon_state = "comfychair_beige"
|
|
|
|
/obj/structure/stool/bed/chair/comfy/teal
|
|
icon_state = "comfychair_teal"
|
|
|
|
/obj/structure/stool/bed/chair/office
|
|
anchored = 0
|
|
|
|
/obj/structure/stool/bed/chair/comfy/black
|
|
icon_state = "comfychair_black"
|
|
|
|
/obj/structure/stool/bed/chair/comfy/lime
|
|
icon_state = "comfychair_lime"
|
|
|
|
/obj/structure/stool/bed/chair/office/Move()
|
|
..()
|
|
handle_rotation()
|
|
|
|
/obj/structure/stool/bed/chair/office/light
|
|
icon_state = "officechair_white"
|
|
|
|
/obj/structure/stool/bed/chair/office/dark
|
|
icon_state = "officechair_dark" |