mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 04:27:35 +01:00
Merge branch 'master' of https://github.com/Baystation12/Baystation12
This commit is contained in:
@@ -84,3 +84,45 @@
|
||||
icon_state = icon_closed
|
||||
else
|
||||
icon_state = icon_opened
|
||||
|
||||
|
||||
/obj/item/bodybag/cryobag
|
||||
name = "stasis bag"
|
||||
desc = "A folded, non-reusable bag designed for the preservation of an occupant's brain by stasis."
|
||||
icon = 'icons/obj/cryobag.dmi'
|
||||
icon_state = "bodybag_folded"
|
||||
|
||||
|
||||
attack_self(mob/user)
|
||||
var/obj/structure/closet/body_bag/cryobag/R = new /obj/structure/closet/body_bag/cryobag(user.loc)
|
||||
R.add_fingerprint(user)
|
||||
del(src)
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/body_bag/cryobag
|
||||
name = "stasis bag"
|
||||
desc = "A non-reusable plastic bag designed for the preservation of an occupant's brain by stasis."
|
||||
icon = 'icons/obj/cryobag.dmi'
|
||||
icon_state = "bodybag_closed"
|
||||
icon_closed = "bodybag_closed"
|
||||
icon_opened = "bodybag_open"
|
||||
density = 0
|
||||
|
||||
var/used = 0
|
||||
|
||||
open()
|
||||
. = ..()
|
||||
if(used)
|
||||
var/obj/item/O = new/obj/item(src.loc)
|
||||
O.name = "used stasis bag"
|
||||
O.icon = src.icon
|
||||
O.icon_state = "bodybag_used"
|
||||
O.desc = "Pretty useless now.."
|
||||
del(src)
|
||||
|
||||
MouseDrop(over_object, src_location, over_location)
|
||||
if((over_object == usr && (in_range(src, usr) || usr.contents.Find(src))))
|
||||
if(!ishuman(usr)) return
|
||||
usr << "\red You can't fold that up anymore.."
|
||||
..()
|
||||
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Multitool -- A multitool is used for hacking electronic devices.
|
||||
* TO-DO -- Using it as a power measurement tool for cables etc. Nannek.
|
||||
*
|
||||
*/
|
||||
|
||||
/obj/item/device/debugger
|
||||
icon = 'icons/obj/hacktool.dmi'
|
||||
name = "debugger"
|
||||
desc = "Used to debug electronic equipment."
|
||||
icon_state = "hacktool-g"
|
||||
flags = FPRINT | TABLEPASS| CONDUCT
|
||||
force = 5.0
|
||||
w_class = 2.0
|
||||
throwforce = 5.0
|
||||
throw_range = 15
|
||||
throw_speed = 3
|
||||
desc = "You can use this on airlocks or APCs to try to hack them without cutting wires."
|
||||
m_amt = 50
|
||||
g_amt = 20
|
||||
origin_tech = "magnets=1;engineering=1"
|
||||
var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage
|
||||
|
||||
/obj/item/device/debugger/is_used_on(obj/O, mob/user)
|
||||
if(istype(O, /obj/machinery/power/apc))
|
||||
var/obj/machinery/power/apc/A = O
|
||||
if(A.emagged || A.malfhack)
|
||||
user << "\red There is a software error with the device."
|
||||
else
|
||||
user << "\blue The device's software appears to be fine."
|
||||
return 1
|
||||
if(istype(O, /obj/machinery/door))
|
||||
var/obj/machinery/door/D = O
|
||||
if(D.operating == -1)
|
||||
user << "\red There is a software error with the device."
|
||||
else
|
||||
user << "\blue The device's software appears to be fine."
|
||||
return 1
|
||||
else if(istype(O, /obj/machinery))
|
||||
var/obj/machinery/A = O
|
||||
if(A.emagged)
|
||||
user << "\red There is a software error with the device."
|
||||
else
|
||||
user << "\blue The device's software appears to be fine."
|
||||
return 1
|
||||
@@ -76,9 +76,9 @@
|
||||
|
||||
M.updatehealth()
|
||||
/obj/item/stack/medical/bruise_pack
|
||||
name = "bruise pack"
|
||||
singular_name = "bruise pack"
|
||||
desc = "A pack designed to treat blunt-force trauma."
|
||||
name = "roll of gauze"
|
||||
singular_name = "gauze length"
|
||||
desc = "Some sterile gauze to wrap around bloody stumps."
|
||||
icon_state = "brutepack"
|
||||
heal_brute = 60
|
||||
origin_tech = "biotech=1"
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
if (istype(M,/mob/living/silicon/robot)) //Repairing cyborgs
|
||||
var/mob/living/silicon/robot/R = M
|
||||
if (R.getBruteLoss() || R.getFireLoss() )
|
||||
R.adjustBruteLoss(-60)
|
||||
R.adjustFireLoss(-60)
|
||||
R.adjustBruteLoss(-15)
|
||||
R.adjustFireLoss(-15)
|
||||
R.updatehealth()
|
||||
use(1)
|
||||
user.visible_message("<span class='notice'>\The [user] applied some [src] at [R]'s damaged areas.</span>",\
|
||||
@@ -28,7 +28,7 @@
|
||||
var/datum/organ/external/S = H.get_organ(user.zone_sel.selecting)
|
||||
if (S && (S.status & ORGAN_ROBOT))
|
||||
if(S.get_damage())
|
||||
S.heal_damage(30, 30, robo_repair = 1)
|
||||
S.heal_damage(15, 15, robo_repair = 1)
|
||||
H.updatehealth()
|
||||
use(1)
|
||||
user.visible_message("<span class='notice'>\The [user] applies some nanite paste at[user != M ? " \the [M]'s" : " \the"][S.display_name] with \the [src].</span>",\
|
||||
|
||||
@@ -114,6 +114,33 @@ var/global/list/datum/stack_recipe/plasma_recipes = list ( \
|
||||
pixel_y = rand(0,4)-4
|
||||
..()
|
||||
|
||||
/obj/item/stack/sheet/mineral/plastic
|
||||
name = "Plastic"
|
||||
icon_state = "sheet-plastic"
|
||||
force = 5.0
|
||||
throwforce = 5
|
||||
w_class = 3.0
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
origin_tech = "materials=3"
|
||||
perunit = 2000
|
||||
sheettype = "plastic"
|
||||
|
||||
var/global/list/datum/stack_recipe/plastic_recipes = list ( \
|
||||
new/datum/stack_recipe("plastic crate", /obj/structure/closet/pcrate, 10, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("plastic ashtray", /obj/item/ashtray/plastic, 2, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("plastic fork", /obj/item/weapon/kitchen/utensil/pfork, 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("plastic spoon", /obj/item/weapon/kitchen/utensil/pspoon, 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("plastic knife", /obj/item/weapon/kitchen/utensil/pknife, 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("plastic bag", /obj/item/weapon/storage/bag/plasticbag, 3, on_floor = 1), \
|
||||
)
|
||||
|
||||
/obj/item/stack/sheet/mineral/plastic/New(var/loc, var/amount=null)
|
||||
recipes = plastic_recipes
|
||||
pixel_x = rand(0,4)-4
|
||||
pixel_y = rand(0,4)-4
|
||||
..()
|
||||
|
||||
/*
|
||||
* Gold
|
||||
*/
|
||||
|
||||
@@ -556,6 +556,7 @@
|
||||
name = "toy phazon"
|
||||
desc = "Mini-Mecha action figure! Collect them all! 11/11."
|
||||
icon_state = "phazonprize"
|
||||
|
||||
/obj/item/toy/katana
|
||||
name = "replica katana"
|
||||
desc = "Woefully underpowered in D20."
|
||||
@@ -575,4 +576,4 @@
|
||||
desc = "This baby looks almost real. Wait, did it just burp?"
|
||||
force = 5
|
||||
w_class = 4.0
|
||||
slot_flags = SLOT_BACK
|
||||
slot_flags = SLOT_BACK
|
||||
@@ -119,7 +119,7 @@
|
||||
|
||||
/obj/item/weapon/card/id/syndicate
|
||||
name = "agent card"
|
||||
access = list(access_maint_tunnels, access_syndicate)
|
||||
access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
|
||||
origin_tech = "syndicate=3"
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob)
|
||||
@@ -156,7 +156,7 @@
|
||||
desc = "An ID straight from the Syndicate."
|
||||
registered_name = "Syndicate"
|
||||
assignment = "Syndicate Overlord"
|
||||
access = list(access_syndicate)
|
||||
access = list(access_syndicate, access_external_airlocks)
|
||||
|
||||
/obj/item/weapon/card/id/captains_spare
|
||||
name = "captain's spare ID"
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
icon_state = "spoon"
|
||||
attack_verb = list("attacked", "poked")
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/pspoon
|
||||
name = "plastic spoon"
|
||||
desc = "Super dull action!"
|
||||
icon_state = "pspoon"
|
||||
attack_verb = list("attacked", "poked")
|
||||
|
||||
/*
|
||||
* Forks
|
||||
*/
|
||||
@@ -71,6 +77,34 @@
|
||||
M = user
|
||||
return eyestab(M,user)
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/pfork
|
||||
name = "plastic fork"
|
||||
desc = "Yay, no washing up to do."
|
||||
icon_state = "pfork"
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/pfork/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
|
||||
if(!istype(M))
|
||||
return ..()
|
||||
|
||||
if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head")
|
||||
return ..()
|
||||
|
||||
if (src.icon_state == "forkloaded") //This is a poor way of handling it, but a proper rewrite of the fork to allow for a more varied foodening can happen when I'm in the mood. --NEO
|
||||
if(M == user)
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\blue [] eats a delicious forkful of omelette!", user), 1)
|
||||
M.reagents.add_reagent("nutriment", 1)
|
||||
else
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\blue [] feeds [] a delicious forkful of omelette!", user, M), 1)
|
||||
M.reagents.add_reagent("nutriment", 1)
|
||||
src.icon_state = "fork"
|
||||
return
|
||||
else
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
M = user
|
||||
return eyestab(M,user)
|
||||
|
||||
/*
|
||||
* Knives
|
||||
*/
|
||||
@@ -95,6 +129,21 @@
|
||||
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/pknife
|
||||
name = "plastic knife"
|
||||
desc = "The bluntest of blades."
|
||||
icon_state = "pknife"
|
||||
force = 10.0
|
||||
throwforce = 10.0
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob)
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red You somehow managed to cut yourself with the [src]."
|
||||
user.take_organ_damage(20)
|
||||
return
|
||||
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
|
||||
return ..()
|
||||
|
||||
/*
|
||||
* Kitchen knives
|
||||
*/
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
can_hold = list() // any
|
||||
cant_hold = list("/obj/item/weapon/disk/nuclear")
|
||||
|
||||
|
||||
/obj/item/weapon/storage/bag/trash/update_icon()
|
||||
if(contents.len == 0)
|
||||
icon_state = "trashbag0"
|
||||
@@ -48,6 +47,24 @@
|
||||
icon_state = "trashbag2"
|
||||
else icon_state = "trashbag3"
|
||||
|
||||
|
||||
// -----------------------------
|
||||
// Plastic Bag
|
||||
// -----------------------------
|
||||
|
||||
/obj/item/weapon/storage/bag/plasticbag
|
||||
name = "plastic bag"
|
||||
desc = "It's a very flimsy, very noisy alternative to a bag."
|
||||
icon = 'icons/obj/trash.dmi'
|
||||
icon_state = "plasticbag"
|
||||
item_state = "plasticbag"
|
||||
|
||||
w_class = 4
|
||||
max_w_class = 2
|
||||
storage_slots = 21
|
||||
can_hold = list() // any
|
||||
cant_hold = list("/obj/item/weapon/disk/nuclear")
|
||||
|
||||
// -----------------------------
|
||||
// Mining Satchel
|
||||
// -----------------------------
|
||||
|
||||
@@ -106,6 +106,7 @@
|
||||
can_hold = list("/obj/item/weapon/reagent_containers/pill","/obj/item/weapon/dice")
|
||||
allow_quick_gather = 1
|
||||
use_to_pickup = 1
|
||||
storage_slots = 14
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/MouseDrop(obj/over_object as obj) //Quick pillbottle fix. -Agouri
|
||||
|
||||
|
||||
@@ -75,13 +75,13 @@
|
||||
else
|
||||
user.take_organ_damage(2*force)
|
||||
return
|
||||
/*this is already called in ..()
|
||||
src.add_fingerprint(user)
|
||||
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been attacked with [src.name] by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [src.name] to attack [M.name] ([M.ckey])</font>")
|
||||
|
||||
log_attack("<font color='red'>[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>")
|
||||
|
||||
*/
|
||||
if (user.a_intent == "hurt")
|
||||
if(!..()) return
|
||||
playsound(src.loc, "swing_hit", 50, 1, -1)
|
||||
@@ -90,13 +90,88 @@
|
||||
M.Stun(8)
|
||||
M.Weaken(8)
|
||||
for(var/mob/O in viewers(M))
|
||||
if (O.client) O.show_message("\red <B>[M] has been beaten with the police baton by [user]!</B>", 1, "\red You hear someone fall", 2)
|
||||
if (O.client) O.show_message("\red <B>[M] has been beaten with \the [src] by [user]!</B>", 1, "\red You hear someone fall", 2)
|
||||
else
|
||||
playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1, -1)
|
||||
M.Stun(5)
|
||||
M.Weaken(5)
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been attacked with [src.name] by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [src.name] to attack [M.name] ([M.ckey])</font>")
|
||||
log_attack("<font color='red'>[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>")
|
||||
src.add_fingerprint(user)
|
||||
|
||||
for(var/mob/O in viewers(M))
|
||||
if (O.client) O.show_message("\red <B>[M] has been stunned with the police baton by [user]!</B>", 1, "\red You hear someone fall", 2)
|
||||
if (O.client) O.show_message("\red <B>[M] has been stunned with \the [src] by [user]!</B>", 1, "\red You hear someone fall", 2)
|
||||
|
||||
//Telescopic baton
|
||||
/obj/item/weapon/melee/telebaton
|
||||
name = "telescopic baton"
|
||||
desc = "A compact yet robust personal defense weapon. Can be concealed when folded."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "telebaton_0"
|
||||
item_state = "telebaton_0"
|
||||
flags = FPRINT | TABLEPASS
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = 2
|
||||
force = 3
|
||||
var/on = 0
|
||||
|
||||
|
||||
/obj/item/weapon/melee/telebaton/attack_self(mob/user as mob)
|
||||
on = !on
|
||||
if(on)
|
||||
user.visible_message("\red With a flick of their wrist, [user] extends their telescopic baton.",\
|
||||
"\red You extend the baton.",\
|
||||
"You hear an ominous click.")
|
||||
icon_state = "telebaton_1"
|
||||
item_state = "telebaton_1"
|
||||
w_class = 4
|
||||
force = 15//quite robust
|
||||
attack_verb = list("smacked", "struck", "slapped")
|
||||
else
|
||||
user.visible_message("\blue [user] collapses their telescopic baton.",\
|
||||
"\blue You collapse the baton.",\
|
||||
"You hear a click.")
|
||||
icon_state = "telebaton_0"
|
||||
item_state = "telebaton_0"
|
||||
w_class = 2
|
||||
force = 3//not so robust now
|
||||
attack_verb = list("hit", "punched")
|
||||
playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1)
|
||||
add_fingerprint(user)
|
||||
|
||||
if(blood_overlay && (blood_DNA.len >= 1)) //updates blood overlay, if any
|
||||
overlays.Cut()//this might delete other item overlays as well but eeeeeeeh
|
||||
|
||||
var/icon/I = new /icon(src.icon, src.icon_state)
|
||||
I.Blend(new /icon('icons/effects/blood.dmi', rgb(255,255,255)),ICON_ADD)
|
||||
I.Blend(new /icon('icons/effects/blood.dmi', "itemblood"),ICON_MULTIPLY)
|
||||
blood_overlay = I
|
||||
|
||||
overlays += blood_overlay
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/melee/telebaton/attack(mob/target as mob, mob/living/user as mob)
|
||||
if(on)
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red You club yourself over the head."
|
||||
user.Weaken(3 * force)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.apply_damage(2*force, BRUTE, "head")
|
||||
else
|
||||
user.take_organ_damage(2*force)
|
||||
return
|
||||
|
||||
if(!..()) return
|
||||
playsound(src.loc, "swing_hit", 50, 1, -1)
|
||||
//target.Stun(4) //naaah
|
||||
target.Weaken(4)
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
/*
|
||||
*Energy Blade
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
var/damtype = "brute"
|
||||
var/force = 0
|
||||
|
||||
/obj/item/proc/is_used_on(obj/O, mob/user)
|
||||
|
||||
/obj/proc/process()
|
||||
processing_objects.Remove(src)
|
||||
return 0
|
||||
|
||||
@@ -12,6 +12,11 @@
|
||||
new /obj/item/clothing/under/shorts/red(src)
|
||||
new /obj/item/clothing/under/shorts/blue(src)
|
||||
new /obj/item/clothing/under/shorts/green(src)
|
||||
new /obj/item/clothing/under/swimsuit/red(src)
|
||||
new /obj/item/clothing/under/swimsuit/black(src)
|
||||
new /obj/item/clothing/under/swimsuit/blue(src)
|
||||
new /obj/item/clothing/under/swimsuit/green(src)
|
||||
new /obj/item/clothing/under/swimsuit/purple(src)
|
||||
|
||||
|
||||
/obj/structure/closet/boxinggloves
|
||||
|
||||
@@ -19,10 +19,12 @@
|
||||
sleep(2)
|
||||
new /obj/item/clothing/head/that(src)
|
||||
new /obj/item/clothing/head/that(src)
|
||||
new /obj/item/clothing/head/hairflower
|
||||
new /obj/item/clothing/under/sl_suit(src)
|
||||
new /obj/item/clothing/under/sl_suit(src)
|
||||
new /obj/item/clothing/under/rank/bartender(src)
|
||||
new /obj/item/clothing/under/rank/bartender(src)
|
||||
new /obj/item/clothing/under/dress/dress_saloon
|
||||
new /obj/item/clothing/suit/wcoat(src)
|
||||
new /obj/item/clothing/suit/wcoat(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
|
||||
@@ -91,7 +91,10 @@
|
||||
new /obj/item/clothing/under/rank/medical/purple(src)
|
||||
new /obj/item/clothing/head/surgery/purple(src)
|
||||
new /obj/item/clothing/under/rank/medical(src)
|
||||
new /obj/item/clothing/under/rank/nurse(src)
|
||||
new /obj/item/clothing/under/rank/orderly(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/clothing/suit/storage/fr_jacket(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
// new /obj/item/weapon/cartridge/medical(src)
|
||||
new /obj/item/device/radio/headset/headset_med(src)
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
else
|
||||
new /obj/item/weapon/storage/backpack/satchel_cap(src)
|
||||
new /obj/item/clothing/suit/captunic(src)
|
||||
new /obj/item/clothing/suit/captunic/capjacket(src)
|
||||
new /obj/item/clothing/head/helmet/cap(src)
|
||||
new /obj/item/clothing/under/rank/captain(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
@@ -26,6 +27,8 @@
|
||||
new /obj/item/clothing/gloves/captain(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/clothing/suit/armor/captain(src)
|
||||
new /obj/item/weapon/melee/telebaton(src)
|
||||
new /obj/item/clothing/under/dress/dress_cap(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -43,17 +46,41 @@
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/clothing/under/rank/head_of_personnel(src)
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
new /obj/item/weapon/cartridge/hop(src)
|
||||
new /obj/item/device/radio/headset/heads/hop(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/weapon/storage/box/ids(src)
|
||||
new /obj/item/weapon/storage/box/ids( src )
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/device/flash(src)
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/secure_closet/hop2
|
||||
name = "Head of Personnel's Attire"
|
||||
req_access = list(access_hop)
|
||||
icon_state = "hopsecure1"
|
||||
icon_closed = "hopsecure"
|
||||
icon_locked = "hopsecure1"
|
||||
icon_opened = "hopsecureopen"
|
||||
icon_broken = "hopsecurebroken"
|
||||
icon_off = "hopsecureoff"
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/clothing/under/rank/head_of_personnel(src)
|
||||
new /obj/item/clothing/under/dress/dress_hop(src)
|
||||
new /obj/item/clothing/under/dress/dress_hr(src)
|
||||
new /obj/item/clothing/under/lawyer/female(src)
|
||||
new /obj/item/clothing/under/lawyer/black(src)
|
||||
new /obj/item/clothing/under/lawyer/red(src)
|
||||
new /obj/item/clothing/under/lawyer/oldman(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/leather(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -75,6 +102,7 @@
|
||||
new /obj/item/weapon/storage/backpack/security(src)
|
||||
else
|
||||
new /obj/item/weapon/storage/backpack/satchel_sec(src)
|
||||
new /obj/item/clothing/head/helmet/HoS(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/under/rank/head_of_security/jensen(src)
|
||||
new /obj/item/clothing/suit/armor/hos/jensen(src)
|
||||
@@ -90,6 +118,7 @@
|
||||
new /obj/item/weapon/melee/baton(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/clothing/tie/holster/waist(src)
|
||||
new /obj/item/weapon/melee/telebaton(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
new /obj/item/clothing/under/rank/security2(src)
|
||||
new /obj/item/clothing/under/rank/security2(src)
|
||||
new /obj/item/clothing/under/rank/security2(src)
|
||||
new /obj/item/clothing/under/rank/dispatch(src)
|
||||
new /obj/item/clothing/under/rank/dispatch(src)
|
||||
new /obj/item/clothing/shoes/jackboots(src)
|
||||
new /obj/item/clothing/shoes/jackboots(src)
|
||||
new /obj/item/clothing/shoes/jackboots(src)
|
||||
@@ -84,6 +86,7 @@
|
||||
new /obj/item/clothing/suit/chaplain_hoodie(src)
|
||||
new /obj/item/clothing/head/chaplain_hood(src)
|
||||
new /obj/item/clothing/suit/holidaypriest(src)
|
||||
new /obj/item/clothing/under/wedding/bride_white(src)
|
||||
new /obj/item/weapon/storage/backpack/cultpack (src)
|
||||
new /obj/item/weapon/storage/fancy/candle_box(src)
|
||||
new /obj/item/weapon/storage/fancy/candle_box(src)
|
||||
@@ -104,6 +107,19 @@
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/xenos
|
||||
name = "xenos wardrobe"
|
||||
icon_state = "green"
|
||||
icon_closed = "green"
|
||||
|
||||
/obj/structure/closet/wardrobe/xenos/New()
|
||||
new /obj/item/clothing/suit/unathi/mantle(src)
|
||||
new /obj/item/clothing/suit/unathi/robe(src)
|
||||
new /obj/item/clothing/shoes/sandal(src)
|
||||
new /obj/item/clothing/shoes/sandal(src)
|
||||
new /obj/item/clothing/shoes/sandal(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/structure/closet/wardrobe/orange
|
||||
name = "prison wardrobe"
|
||||
@@ -328,13 +344,18 @@
|
||||
icon_closed = "mixed"
|
||||
|
||||
/obj/structure/closet/wardrobe/mixed/New()
|
||||
new /obj/item/clothing/under/color/white(src)
|
||||
new /obj/item/clothing/under/color/blue(src)
|
||||
new /obj/item/clothing/under/color/yellow(src)
|
||||
new /obj/item/clothing/under/color/green(src)
|
||||
new /obj/item/clothing/under/color/orange(src)
|
||||
new /obj/item/clothing/under/color/pink(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/under/dress/plaid_blue(src)
|
||||
new /obj/item/clothing/under/dress/plaid_red(src)
|
||||
new /obj/item/clothing/under/dress/plaid_purple(src)
|
||||
new /obj/item/clothing/shoes/blue(src)
|
||||
new /obj/item/clothing/shoes/yellow(src)
|
||||
new /obj/item/clothing/shoes/green(src)
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
new /obj/item/clothing/shoes/purple(src)
|
||||
new /obj/item/clothing/shoes/leather(src)
|
||||
return
|
||||
|
||||
@@ -14,6 +14,20 @@
|
||||
// mouse_drag_pointer = MOUSE_ACTIVE_POINTER //???
|
||||
var/rigged = 0
|
||||
|
||||
/obj/structure/closet/pcrate
|
||||
name = "plastic crate"
|
||||
desc = "A rectangular plastic crate."
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "plasticcrate"
|
||||
density = 1
|
||||
icon_opened = "plasticcrateopen"
|
||||
icon_closed = "plasticcrate"
|
||||
req_access = null
|
||||
opened = 0
|
||||
flags = FPRINT
|
||||
// mouse_drag_pointer = MOUSE_ACTIVE_POINTER //???
|
||||
var/rigged = 0
|
||||
|
||||
/obj/structure/closet/crate/internals
|
||||
desc = "A internals crate."
|
||||
name = "Internals crate"
|
||||
|
||||
@@ -349,7 +349,7 @@ obj/structure/door_assembly
|
||||
src.state = 0
|
||||
src.name = "Secured Airlock Assembly"
|
||||
|
||||
else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1 )
|
||||
else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1 && W:icon_state != "door_electronics_smoked")
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
|
||||
user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.")
|
||||
user.drop_item()
|
||||
|
||||
@@ -89,9 +89,16 @@
|
||||
|
||||
/obj/structure/lamarr/proc/Break()
|
||||
if(occupied)
|
||||
var/obj/item/clothing/mask/facehugger/A = new /obj/item/clothing/mask/facehugger( src.loc )
|
||||
A.sterile = 1
|
||||
A.name = "Lamarr"
|
||||
new /obj/item/clothing/mask/facehugger/lamarr(src.loc)
|
||||
occupied = 0
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/clothing/mask/facehugger/lamarr
|
||||
name = "Lamarr"
|
||||
desc = "The worst she might do is attempt to... couple with your head."//hope we don't get sued over a harmless reference, rite?
|
||||
sterile = 1
|
||||
gender = FEMALE
|
||||
|
||||
/obj/item/clothing/mask/facehugger/lamarr/New()//to prevent deleting it if aliums are disabled
|
||||
return
|
||||
@@ -150,6 +150,17 @@ obj/structure/ex_act(severity)
|
||||
pod_moving = 1
|
||||
close_animation()
|
||||
sleep(CLOSE_DURATION + 2)
|
||||
|
||||
//reverse directions for automated cycling
|
||||
var/turf/next_loc = get_step(loc, pod.dir)
|
||||
var/obj/structure/transit_tube/nexttube
|
||||
for(var/obj/structure/transit_tube/tube in next_loc)
|
||||
if(tube.has_entrance(pod.dir))
|
||||
nexttube = tube
|
||||
break
|
||||
if(!nexttube)
|
||||
pod.dir = turn(pod.dir, 180)
|
||||
|
||||
if(icon_state == "closed" && pod)
|
||||
pod.follow_tube()
|
||||
|
||||
|
||||
@@ -105,12 +105,12 @@
|
||||
if(reinf) new /obj/item/stack/rods(loc)
|
||||
del(src)
|
||||
else if (usr.a_intent == "hurt")
|
||||
playsound(src.loc, 'Glassknock.ogg', 80, 1)
|
||||
playsound(src.loc, 'glassknock.ogg', 80, 1)
|
||||
usr.visible_message("\red [usr.name] bangs against the [src.name]!", \
|
||||
"\red You bang against the [src.name]!", \
|
||||
"You hear a banging sound.")
|
||||
else
|
||||
playsound(src.loc, 'Glassknock.ogg', 80, 1)
|
||||
playsound(src.loc, 'glassknock.ogg', 80, 1)
|
||||
usr.visible_message("[usr.name] knocks on the [src.name].", \
|
||||
"You knock on the [src.name].", \
|
||||
"You hear a knocking sound.")
|
||||
|
||||
Reference in New Issue
Block a user