Merge pull request #11018 from Core0verload/hammerspace

New traitor item: storage implant
This commit is contained in:
Remie Richards
2015-08-12 14:45:23 +01:00
12 changed files with 172 additions and 14 deletions
+8 -2
View File
@@ -271,7 +271,7 @@ var/list/uplink_items = list()
/datum/uplink_item/ammo/ammobag
name = "Ammo Duffelbag - Shotgun Ammo Grab Bag"
desc = "A duffelbag filled with Bulldog ammo to kit out an entire team, at a discounted price."
item = /obj/item/weapon/storage/backpack/dufflebag/syndieammo/loaded
item = /obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/loaded
cost = 10 //bulk buyer's discount. Very useful if you're buying a mech and dont have TC left to buy people non-shotgun guns
gamemodes = list(/datum/game_mode/nuclear)
@@ -511,7 +511,7 @@ var/list/uplink_items = list()
/datum/uplink_item/device_tools/surgerybag
name = "Syndicate Surgery Dufflebag"
desc = "The Syndicate surgery dufflebag is a toolkit containing all surgery tools, surgical drapes, a Syndicate brand MMI, a straitjacket, and a muzzle."
item = /obj/item/weapon/storage/backpack/dufflebag/syndiesurgery
item = /obj/item/weapon/storage/backpack/dufflebag/syndie/surgery
cost = 4
/datum/uplink_item/device_tools/medkit
@@ -669,6 +669,12 @@ var/list/uplink_items = list()
item = /obj/item/weapon/storage/box/syndie_kit/imp_adrenal
cost = 8
/datum/uplink_item/implants/storage
name = "Storage Implant"
desc = "An implant injected into the body and later used to store up to two big items in a subspace pocket."
item = /obj/item/weapon/storage/box/syndie_kit/imp_storage
cost = 8
/datum/uplink_item/implants/microbomb
name = "Microbomb Implant"
desc = "An implant injected into the body, and later activated either manually or automatically upon death. The more implants inside of you, the higher the explosive power. \
@@ -0,0 +1,51 @@
/obj/item/weapon/storage/internal/implant
name = "bluespace pocket"
max_w_class = 3
max_combined_w_class = 6
cant_hold = list(/obj/item/weapon/disk/nuclear)
silent = 1
/obj/item/weapon/implant/storage
name = "storage implant"
desc = "Stores up to two big items in a bluespace pocket."
icon_state = "storage"
origin_tech = "materials=2;magnets=4;bluespace=4;syndicate=4"
item_color = "r"
var/obj/item/weapon/storage/internal/implant/storage
/obj/item/weapon/implant/storage/New()
..()
storage = new /obj/item/weapon/storage/internal/implant(src)
/obj/item/weapon/implant/storage/activate()
storage.MouseDrop(imp_in)
/obj/item/weapon/implant/storage/removed(source)
if(..())
storage.close_all()
for(var/obj/item/I in storage)
storage.remove_from_storage(I, get_turf(source))
return 1
/obj/item/weapon/implant/storage/implant(mob/source)
var/obj/item/weapon/implant/storage/imp_e = locate(src.type) in source
if(imp_e)
imp_e.storage.storage_slots += storage.storage_slots
imp_e.storage.max_combined_w_class += storage.max_combined_w_class
imp_e.storage.contents += storage.contents
storage.close_all()
storage.show_to(source)
qdel(src)
return 1
return ..()
/obj/item/weapon/implanter/storage
name = "implanter (storage)"
/obj/item/weapon/implanter/storage/New()
imp = new /obj/item/weapon/implant/storage(src)
..()
@@ -299,24 +299,31 @@
slowdown = 1
max_combined_w_class = 27
/obj/item/weapon/storage/backpack/dufflebag/syndiemed
/obj/item/weapon/storage/backpack/dufflebag/syndie
name = "suspicious looking dufflebag"
desc = "A large dufflebag for holding extra tactical supplies."
icon_state = "duffle-syndie"
item_state = "duffle-syndiemed"
origin_tech = "syndicate=1"
silent = 1
slowdown = 0
/obj/item/weapon/storage/backpack/dufflebag/syndie/med
name = "medical dufflebag"
desc = "A large dufflebag for holding extra tactical medical supplies."
icon_state = "duffle-syndiemed"
item_state = "duffle-syndiemed"
slowdown = 0
/obj/item/weapon/storage/backpack/dufflebag/syndieammo
/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo
name = "ammunition dufflebag"
desc = "A large dufflebag for holding extra weapons ammunition and supplies."
icon_state = "duffle-syndieammo"
item_state = "duffle-syndieammo"
slowdown = 0
/obj/item/weapon/storage/backpack/dufflebag/syndieammo/loaded
/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/loaded
desc = "A large dufflebag, packed to the brim with Bulldog shotgun ammo."
/obj/item/weapon/storage/backpack/dufflebag/syndieammo/loaded/New()
/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/loaded/New()
..()
contents = list()
new /obj/item/ammo_box/magazine/m12g(src)
@@ -330,14 +337,14 @@
new /obj/item/ammo_box/magazine/m12g/dragon(src)
return
/obj/item/weapon/storage/backpack/dufflebag/syndiesurgery
name = "Syndicate surgery dufflebag"
desc = "A menacingly looking dufflebag for holding surgery tools."
/obj/item/weapon/storage/backpack/dufflebag/syndie/surgery
name = "surgery dufflebag"
desc = "A suspicious looking dufflebag for holding surgery tools."
icon_state = "duffle-syndiemed"
item_state = "duffle-syndiemed"
storage_slots = 10
/obj/item/weapon/storage/backpack/dufflebag/syndiesurgery/New()
/obj/item/weapon/storage/backpack/dufflebag/syndie/surgery/New()
..()
contents = list()
new /obj/item/weapon/scalpel(src)
@@ -0,0 +1,42 @@
/obj/item/weapon/storage/internal
storage_slots = 2
max_w_class = 2
max_combined_w_class = 4
w_class = 4
var/priority = 1
/*obj/item/weapon/storage/internal/pocket/New()
..()
if(loc) name = loc.name
/obj/item/weapon/storage/internal/pocket/big
max_w_class = 3
max_combined_w_class = 6
/obj/item/weapon/storage/internal/pocket/small
storage_slots = 1
max_combined_w_class = 2
priority = 0
/obj/item/weapon/storage/internal/pocket/tiny
storage_slots = 1
max_w_class = 1
max_combined_w_class = 1
priority = 0
/obj/item/weapon/storage/internal/pocket/small/detective
priority = 1
/obj/item/weapon/storage/internal/pocket/small/detective/New()
..()
new /obj/item/weapon/reagent_containers/food/drinks/flask/det(src)
proc/isstorage(var/atom/A)
if(istype(A, /obj/item/weapon/storage))
return 1
if(istype(A, /obj/item/clothing))
var/obj/item/clothing/C = A
if(C.pockets) return 1*/
@@ -9,6 +9,7 @@
name = "storage"
icon = 'icons/obj/storage.dmi'
w_class = 3.0
var/silent = 0 // No message on putting items in
var/list/can_hold = new/list() //List of objects which this item can store (if set, it can't store anything else)
var/list/cant_hold = new/list() //List of objects which this item can't store (in effect only if can_hold isn't set)
var/list/is_seeing = new/list() //List of mobs which are currently seeing the contents of this item's storage
@@ -292,6 +293,8 @@
if(usr)
if(!usr.unEquip(W))
return 0
if(silent)
prevent_warning = 1
W.loc = src
W.on_enter_storage(src)
if(usr)
@@ -71,6 +71,7 @@
icon_state = "syndicate"
item_state = "toolbox_syndi"
origin_tech = "combat=1;syndicate=1"
silent = 1
force = 15
throwforce = 18
@@ -82,7 +83,7 @@
new /obj/item/weapon/crowbar/red(src)
new /obj/item/weapon/wirecutters(src, "red")
new /obj/item/device/multitool(src)
new /obj/item/clothing/gloves/color/red/insulated(src)
new /obj/item/clothing/gloves/combat(src)
/obj/item/weapon/storage/toolbox/drone
name = "mechanical toolbox"
@@ -58,6 +58,7 @@
new /obj/item/weapon/implanter/emp(src)
new /obj/item/weapon/implanter/adrenalin(src)
new /obj/item/weapon/implanter/explosive(src)
new /obj/item/weapon/implanter/storage(src)
return
if("hacker")
@@ -148,6 +149,15 @@
return
/obj/item/weapon/storage/box/syndie_kit/imp_storage
name = "boxed storage implant (with injector)"
/obj/item/weapon/storage/box/syndie_kit/imp_storage/New()
..()
new /obj/item/weapon/implanter/storage(src)
return
/obj/item/weapon/storage/box/syndie_kit/space
name = "boxed space suit and helmet"
can_hold = list(/obj/item/clothing/suit/space/syndicate, /obj/item/clothing/head/helmet/space/syndicate)
@@ -30,7 +30,7 @@
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/weapon/storage/box/teargas(src)
new /obj/item/weapon/storage/backpack/dufflebag/syndiemed(src)
new /obj/item/weapon/storage/backpack/dufflebag/syndie/med(src)
new /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog(src)
@@ -0,0 +1,36 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# spellcheck (typo fixes)
# experiment
# tgs (TG-ported fixes?)
#################################
# Your name.
author: CoreOverload
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Added a new 8TC traitor item: subspace storage implant. It allows you to store two box-sized items in (almost) undetectable storage. "
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

+2
View File
@@ -679,6 +679,7 @@
#include "code\game\objects\items\weapons\implants\implant_explosive.dm"
#include "code\game\objects\items\weapons\implants\implant_freedom.dm"
#include "code\game\objects\items\weapons\implants\implant_loyality.dm"
#include "code\game\objects\items\weapons\implants\implant_storage.dm"
#include "code\game\objects\items\weapons\implants\implantcase.dm"
#include "code\game\objects\items\weapons\implants\implantchair.dm"
#include "code\game\objects\items\weapons\implants\implanter.dm"
@@ -694,6 +695,7 @@
#include "code\game\objects\items\weapons\storage\briefcase.dm"
#include "code\game\objects\items\weapons\storage\fancy.dm"
#include "code\game\objects\items\weapons\storage\firstaid.dm"
#include "code\game\objects\items\weapons\storage\internal.dm"
#include "code\game\objects\items\weapons\storage\lockbox.dm"
#include "code\game\objects\items\weapons\storage\secure.dm"
#include "code\game\objects\items\weapons\storage\storage.dm"