mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
Merge branch 'master' of git://github.com/Abi79/tgstation13-git
Conflicts: baystation12.dme code/defines/mob/mob.dm code/defines/obj/vending.dm code/game/atom_procs.dm code/game/dna.dm code/game/machinery/computer/aifixer.dm code/game/vote.dm code/modules/chemical/Chemistry-Machinery.dm code/modules/chemical/Chemistry-Reagents.dm code/modules/mob/living/carbon/metroid/life.dm html/changelog.html icons/obj/stationobjs.dmi interface/skin.dmf maps/tgstation.2.0.8.dmm
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
// if (src.loc != usr)
|
||||
// return
|
||||
// if ((istype(usr, /mob/living/carbon/human) || (ticker && ticker.mode.name == "monkey")))
|
||||
if (ishuman(usr) || ismonkey(usr)) //so monkies can take off their backpacks -- Urist
|
||||
if (ishuman(usr) || ismonkey(usr)) //so monkeys can take off their backpacks -- Urist
|
||||
var/mob/M = usr
|
||||
if (!( istype(over_object, /obj/screen) ))
|
||||
return ..()
|
||||
@@ -38,6 +38,8 @@
|
||||
desc = "A backpack that opens into a localized pocket of Blue Space."
|
||||
origin_tech = "bluespace=4"
|
||||
icon_state = "holdingpack"
|
||||
max_w_class = 4
|
||||
max_combined_w_class = 28
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -50,7 +52,8 @@
|
||||
if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail)
|
||||
user << "\red The Bluespace interfaces of the two devices catastrophically malfunction!"
|
||||
del(W)
|
||||
new /obj/machinery/singularity (get_turf(src))
|
||||
var/obj/machinery/singularity/singulo = new /obj/machinery/singularity (get_turf(src))
|
||||
singulo.energy = 300 //should make it a bit bigger~
|
||||
message_admins("[key_name_admin(user)] detonated a bag of holding")
|
||||
log_game("[key_name(user)] detonated a bag of holding")
|
||||
del(src)
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
playsound(src.loc, "punch", 25, 1, -1)
|
||||
else
|
||||
if(ishuman(M) && !istype(M:head, /obj/item/clothing/head/helmet))
|
||||
M.brainloss += 10
|
||||
M.adjustBrainLoss(10)
|
||||
M << "\red You feel dumber."
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\red <B>[] beats [] over the head with []!</B>", user, M, src), 1)
|
||||
|
||||
@@ -1,150 +1,148 @@
|
||||
/obj/structure/crate
|
||||
/obj/structure/closet/crate
|
||||
desc = "A crate."
|
||||
name = "Crate"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "crate"
|
||||
density = 1
|
||||
var/openicon = "crateopen"
|
||||
var/closedicon = "crate"
|
||||
icon_opened = "crateopen"
|
||||
icon_closed = "crate"
|
||||
req_access = null
|
||||
var/opened = 0
|
||||
var/locked = 0
|
||||
opened = 0
|
||||
flags = FPRINT
|
||||
m_amt = 7500
|
||||
mouse_drag_pointer = MOUSE_ACTIVE_POINTER
|
||||
// mouse_drag_pointer = MOUSE_ACTIVE_POINTER //???
|
||||
|
||||
/obj/structure/crate/internals
|
||||
/obj/structure/closet/crate/internals
|
||||
desc = "A internals crate."
|
||||
name = "Internals crate"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "o2crate"
|
||||
density = 1
|
||||
openicon = "o2crateopen"
|
||||
closedicon = "o2crate"
|
||||
icon_opened = "o2crateopen"
|
||||
icon_closed = "o2crate"
|
||||
|
||||
/obj/structure/crate/trashcart
|
||||
/obj/structure/closet/crate/trashcart
|
||||
desc = "A heavy, metal trashcart with wheels."
|
||||
name = "Trash Cart"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "trashcart"
|
||||
density = 1
|
||||
openicon = "trashcartopen"
|
||||
closedicon = "trashcart"
|
||||
icon_opened = "trashcartopen"
|
||||
icon_closed = "trashcart"
|
||||
|
||||
/obj/structure/crate/hat
|
||||
/obj/structure/closet/crate/hat
|
||||
desc = "A crate filled with Valuable Collector's Hats!."
|
||||
name = "Hat Crate"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "crate"
|
||||
density = 1
|
||||
openicon = "crateopen"
|
||||
closedicon = "crate"
|
||||
icon_opened = "crateopen"
|
||||
icon_closed = "crate"
|
||||
|
||||
/obj/structure/crate/medical
|
||||
/obj/structure/closet/crate/medical
|
||||
desc = "A medical crate."
|
||||
name = "Medical crate"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "medicalcrate"
|
||||
density = 1
|
||||
openicon = "medicalcrateopen"
|
||||
closedicon = "medicalcrate"
|
||||
icon_opened = "medicalcrateopen"
|
||||
icon_closed = "medicalcrate"
|
||||
|
||||
/obj/structure/crate/rcd
|
||||
/obj/structure/closet/crate/rcd
|
||||
desc = "A crate for the storage of the RCD."
|
||||
name = "RCD crate"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "crate"
|
||||
density = 1
|
||||
openicon = "crateopen"
|
||||
closedicon = "crate"
|
||||
icon_opened = "crateopen"
|
||||
icon_closed = "crate"
|
||||
|
||||
/obj/structure/crate/freezer
|
||||
/obj/structure/closet/crate/freezer
|
||||
desc = "A freezer."
|
||||
name = "Freezer"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "freezer"
|
||||
density = 1
|
||||
openicon = "freezeropen"
|
||||
closedicon = "freezer"
|
||||
icon_opened = "freezeropen"
|
||||
icon_closed = "freezer"
|
||||
|
||||
/obj/structure/crate/bin
|
||||
/obj/structure/closet/crate/bin
|
||||
desc = "A large bin."
|
||||
name = "Large bin"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "largebin"
|
||||
density = 1
|
||||
openicon = "largebinopen"
|
||||
closedicon = "largebin"
|
||||
icon_opened = "largebinopen"
|
||||
icon_closed = "largebin"
|
||||
|
||||
/obj/structure/crate/radiation
|
||||
/obj/structure/closet/crate/radiation
|
||||
desc = "A crate with a radiation sign on it."
|
||||
name = "Radioactive gear crate"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "radiation"
|
||||
density = 1
|
||||
openicon = "radiationopen"
|
||||
closedicon = "radiation"
|
||||
icon_opened = "radiationopen"
|
||||
icon_closed = "radiation"
|
||||
|
||||
/obj/item/clothing/suit/radiation
|
||||
|
||||
/obj/structure/crate/secure/weapon
|
||||
/obj/structure/closet/crate/secure/weapon
|
||||
desc = "A secure weapons crate."
|
||||
name = "Weapons crate"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "weaponcrate"
|
||||
density = 1
|
||||
openicon = "weaponcrateopen"
|
||||
closedicon = "weaponcrate"
|
||||
icon_opened = "weaponcrateopen"
|
||||
icon_closed = "weaponcrate"
|
||||
|
||||
/obj/structure/crate/secure/plasma
|
||||
/obj/structure/closet/crate/secure/plasma
|
||||
desc = "A secure plasma crate."
|
||||
name = "Plasma crate"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "plasmacrate"
|
||||
density = 1
|
||||
openicon = "plasmacrateopen"
|
||||
closedicon = "plasmacrate"
|
||||
icon_opened = "plasmacrateopen"
|
||||
icon_closed = "plasmacrate"
|
||||
|
||||
/obj/structure/crate/secure/gear
|
||||
/obj/structure/closet/crate/secure/gear
|
||||
desc = "A secure gear crate."
|
||||
name = "Gear crate"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "secgearcrate"
|
||||
density = 1
|
||||
openicon = "secgearcrateopen"
|
||||
closedicon = "secgearcrate"
|
||||
icon_opened = "secgearcrateopen"
|
||||
icon_closed = "secgearcrate"
|
||||
|
||||
/obj/structure/crate/secure/bin
|
||||
/obj/structure/closet/crate/secure/bin
|
||||
desc = "A secure bin."
|
||||
name = "Secure bin"
|
||||
icon_state = "largebins"
|
||||
openicon = "largebinsopen"
|
||||
closedicon = "largebins"
|
||||
icon_opened = "largebinsopen"
|
||||
icon_closed = "largebins"
|
||||
redlight = "largebinr"
|
||||
greenlight = "largebing"
|
||||
sparks = "largebinsparks"
|
||||
emag = "largebinemag"
|
||||
|
||||
/obj/structure/crate/secure
|
||||
/obj/structure/closet/crate/secure
|
||||
desc = "A secure crate."
|
||||
name = "Secure crate"
|
||||
icon_state = "securecrate"
|
||||
openicon = "securecrateopen"
|
||||
closedicon = "securecrate"
|
||||
icon_opened = "securecrateopen"
|
||||
icon_closed = "securecrate"
|
||||
var/redlight = "securecrater"
|
||||
var/greenlight = "securecrateg"
|
||||
var/sparks = "securecratesparks"
|
||||
var/emag = "securecrateemag"
|
||||
var/broken = 0
|
||||
locked = 1
|
||||
var/locked = 1
|
||||
|
||||
/obj/structure/crate/hydroponics
|
||||
/obj/structure/closet/crate/hydroponics
|
||||
name = "Hydroponics crate"
|
||||
desc = "All you need to destroy those pesky weeds and pests."
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "hydrocrate"
|
||||
openicon = "hydrocrateopen"
|
||||
closedicon = "hydrocrate"
|
||||
icon_opened = "hydrocrateopen"
|
||||
icon_closed = "hydrocrate"
|
||||
density = 1
|
||||
/* New() // This stuff shouldn't be here, it should be in /datum/supply_packs/hydroponics
|
||||
..()
|
||||
@@ -158,14 +156,14 @@
|
||||
new /obj/item/weapon/pestspray(src)
|
||||
new /obj/item/weapon/pestspray(src) */
|
||||
|
||||
/obj/structure/crate/hydroponics/prespawned
|
||||
/obj/structure/closet/crate/hydroponics/prespawned
|
||||
//This exists so the prespawned hydro crates spawn with their contents.
|
||||
/* name = "Hydroponics crate"
|
||||
desc = "All you need to destroy those pesky weeds and pests."
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "hydrocrate"
|
||||
openicon = "hydrocrateopen"
|
||||
closedicon = "hydrocrate"
|
||||
icon_opened = "hydrocrateopen"
|
||||
icon_closed = "hydrocrate"
|
||||
density = 1*/
|
||||
New()
|
||||
..()
|
||||
@@ -179,7 +177,7 @@
|
||||
// new /obj/item/weapon/pestspray(src)
|
||||
// new /obj/item/weapon/pestspray(src)
|
||||
|
||||
/obj/structure/crate/New()
|
||||
/obj/structure/closet/crate/New()
|
||||
..()
|
||||
spawn(1)
|
||||
if(!opened) // if closed, any item at the crate's loc is put in the contents
|
||||
@@ -187,7 +185,7 @@
|
||||
if(I.density || I.anchored || I == src) continue
|
||||
I.loc = src
|
||||
|
||||
/obj/structure/crate/secure/New()
|
||||
/obj/structure/closet/crate/secure/New()
|
||||
..()
|
||||
if(locked)
|
||||
overlays = null
|
||||
@@ -196,14 +194,14 @@
|
||||
overlays = null
|
||||
overlays += greenlight
|
||||
|
||||
/obj/structure/crate/rcd/New()
|
||||
/obj/structure/closet/crate/rcd/New()
|
||||
..()
|
||||
new /obj/item/weapon/rcd_ammo(src)
|
||||
new /obj/item/weapon/rcd_ammo(src)
|
||||
new /obj/item/weapon/rcd_ammo(src)
|
||||
new /obj/item/weapon/rcd(src)
|
||||
|
||||
/obj/structure/crate/radiation/New()
|
||||
/obj/structure/closet/crate/radiation/New()
|
||||
..()
|
||||
new /obj/item/clothing/suit/radiation(src)
|
||||
new /obj/item/clothing/head/radiation(src)
|
||||
@@ -214,7 +212,7 @@
|
||||
new /obj/item/clothing/suit/radiation(src)
|
||||
new /obj/item/clothing/head/radiation(src)
|
||||
|
||||
/obj/structure/crate/proc/open()
|
||||
/obj/structure/closet/crate/open()
|
||||
playsound(src.loc, 'click.ogg', 15, 1, -3)
|
||||
|
||||
for(var/obj/O in src)
|
||||
@@ -222,34 +220,37 @@
|
||||
for(var/mob/M in src)
|
||||
M.loc = get_turf(src)
|
||||
|
||||
icon_state = openicon
|
||||
icon_state = icon_opened
|
||||
src.opened = 1
|
||||
|
||||
/obj/structure/crate/proc/close()
|
||||
/obj/structure/closet/crate/close()
|
||||
playsound(src.loc, 'click.ogg', 15, 1, -3)
|
||||
for(var/obj/O in get_turf(src))
|
||||
if(O.density || O.anchored || O == src) continue
|
||||
O.loc = src
|
||||
icon_state = closedicon
|
||||
icon_state = icon_closed
|
||||
src.opened = 0
|
||||
|
||||
/obj/structure/crate/attack_hand(mob/user as mob)
|
||||
if(!locked)
|
||||
if(opened) close()
|
||||
else open()
|
||||
else
|
||||
user << "\red It's locked."
|
||||
/obj/structure/closet/crate/attack_hand(mob/user as mob)
|
||||
if(opened) close()
|
||||
else open()
|
||||
return
|
||||
|
||||
/obj/structure/crate/secure/attack_hand(mob/user as mob)
|
||||
if(locked && allowed(user) && !broken)
|
||||
user << "\blue You unlock the [src]."
|
||||
src.locked = 0
|
||||
overlays = null
|
||||
overlays += greenlight
|
||||
return ..()
|
||||
/obj/structure/closet/crate/secure/attack_hand(mob/user as mob)
|
||||
if(locked && !broken)
|
||||
if (allowed(user))
|
||||
user << "\blue You unlock the [src]."
|
||||
src.locked = 0
|
||||
overlays = null
|
||||
overlays += greenlight
|
||||
return
|
||||
else
|
||||
user << "\red It's locked."
|
||||
return
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/structure/crate/secure/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
/obj/structure/closet/crate/secure/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/card) && src.allowed(user) && !locked && !opened && !broken)
|
||||
user << "\red You lock the [src]."
|
||||
src.locked = 1
|
||||
@@ -269,10 +270,10 @@
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/structure/crate/attack_paw(mob/user as mob)
|
||||
/obj/structure/closet/crate/attack_paw(mob/user as mob)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/structure/crate/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
/obj/structure/closet/crate/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/weapon/packageWrap))
|
||||
var/obj/item/weapon/packageWrap/O = W
|
||||
if (O.amount > 3)
|
||||
@@ -288,7 +289,7 @@
|
||||
W.loc = src.loc
|
||||
else return attack_hand(user)
|
||||
|
||||
/obj/structure/crate/secure/emp_act(severity)
|
||||
/obj/structure/closet/crate/secure/emp_act(severity)
|
||||
for(var/obj/O in src)
|
||||
O.emp_act(severity)
|
||||
if(!broken && !opened && prob(50/severity))
|
||||
@@ -312,7 +313,7 @@
|
||||
..()
|
||||
|
||||
|
||||
/obj/structure/crate/ex_act(severity)
|
||||
/obj/structure/closet/crate/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
for(var/obj/O in src.contents)
|
||||
|
||||
@@ -150,9 +150,10 @@
|
||||
user << "\red The [src] is full, make some space."
|
||||
return
|
||||
|
||||
if ( W.w_class >= src.w_class && (istype(W, /obj/item/weapon/storage)))
|
||||
user << "\red The [src] cannot hold [W] as it's a storage item of the same size."
|
||||
return //To prevent the stacking of the same sized items.
|
||||
if(W.w_class >= src.w_class && (istype(W, /obj/item/weapon/storage)))
|
||||
if(!istype(src, /obj/item/weapon/storage/backpack/holding)) //bohs should be able to hold backpacks again. The override for putting a boh in a boh is in backpack.dm.
|
||||
user << "\red The [src] cannot hold [W] as it's a storage item of the same size."
|
||||
return //To prevent the stacking of the same sized items.
|
||||
|
||||
user.u_equip(W)
|
||||
W.loc = src
|
||||
|
||||
Reference in New Issue
Block a user