everything but mob stuff
This commit is contained in:
@@ -174,7 +174,6 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
|
||||
landing_zone.width = base_dock.width
|
||||
landing_zone.height = base_dock.height
|
||||
landing_zone.setDir(base_dock.dir)
|
||||
landing_zone.turf_type = T.type
|
||||
landing_zone.area_type = A.type
|
||||
|
||||
possible_destinations += "[landing_zone.id];"
|
||||
@@ -320,7 +319,6 @@ obj/docking_port/stationary/public_mining_dock
|
||||
Mport.width = SM.width
|
||||
Mport.height = SM.height
|
||||
Mport.setDir(dir)
|
||||
Mport.turf_type = landing_spot.type
|
||||
Mport.area_type = A.type
|
||||
|
||||
break
|
||||
|
||||
@@ -63,8 +63,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
|
||||
to_chat(user, "<span class='notice'>You attach the pack to [A] and activate it.</span>")
|
||||
if(loc == user && istype(user.back, /obj/item/storage/backpack))
|
||||
var/obj/item/storage/backpack/B = user.back
|
||||
if(B.can_be_inserted(src,stop_messages = 1))
|
||||
B.handle_item_insertion(src)
|
||||
B.SendSignal(COMSIG_TRY_STORAGE_INSERT, src, user, FALSE, FALSE)
|
||||
uses_left--
|
||||
if(uses_left <= 0)
|
||||
user.transferItemToLoc(src, A, TRUE)
|
||||
|
||||
@@ -433,25 +433,13 @@
|
||||
|
||||
//Shared Bag
|
||||
|
||||
//Internal
|
||||
|
||||
/obj/item/storage/backpack/shared
|
||||
name = "paradox bag"
|
||||
desc = "Somehow, it's in two places at once."
|
||||
max_combined_w_class = 60
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
|
||||
//External
|
||||
|
||||
/obj/item/device/shared_storage
|
||||
name = "paradox bag"
|
||||
desc = "Somehow, it's in two places at once."
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "cultpack"
|
||||
slot_flags = SLOT_BACK
|
||||
var/obj/item/storage/backpack/shared/bag
|
||||
|
||||
resistance_flags = INDESTRUCTIBLE
|
||||
|
||||
/obj/item/device/shared_storage/red
|
||||
name = "paradox bag"
|
||||
@@ -459,53 +447,20 @@
|
||||
|
||||
/obj/item/device/shared_storage/red/Initialize()
|
||||
. = ..()
|
||||
if(!bag)
|
||||
var/obj/item/storage/backpack/shared/S = new(src)
|
||||
var/obj/item/device/shared_storage/blue = new(src.loc)
|
||||
|
||||
src.bag = S
|
||||
blue.bag = S
|
||||
|
||||
|
||||
/obj/item/device/shared_storage/attackby(obj/item/W, mob/user, params)
|
||||
if(bag)
|
||||
bag.forceMove(user)
|
||||
bag.attackby(W, user, params)
|
||||
|
||||
|
||||
/obj/item/device/shared_storage/attack_hand(mob/living/carbon/user)
|
||||
if(!iscarbon(user))
|
||||
return
|
||||
if(loc == user && user.back && user.back == src)
|
||||
if(bag)
|
||||
bag.forceMove(user)
|
||||
bag.attack_hand(user)
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/device/shared_storage/MouseDrop(atom/over_object)
|
||||
if(iscarbon(usr) || isdrone(usr))
|
||||
var/mob/M = usr
|
||||
|
||||
if(!over_object)
|
||||
return
|
||||
|
||||
if(ismecha(usr.loc))
|
||||
return
|
||||
|
||||
if(!M.incapacitated())
|
||||
playsound(loc, "rustle", 50, 1, -5)
|
||||
|
||||
|
||||
if(istype(over_object, /obj/screen/inventory/hand))
|
||||
var/obj/screen/inventory/hand/H = over_object
|
||||
M.putItemFromInventoryInHandIfPossible(src, H.held_index)
|
||||
|
||||
add_fingerprint(usr)
|
||||
|
||||
|
||||
var/datum/component/storage/STR = AddComponent(/datum/component/storage/concrete)
|
||||
STR.max_w_class = WEIGHT_CLASS_NORMAL
|
||||
STR.max_combined_w_class = 60
|
||||
STR.max_items = 21
|
||||
new /obj/item/device/shared_storage/blue(drop_location(), STR)
|
||||
|
||||
/obj/item/device/shared_storage/blue/Initialize(mapload, datum/component/storage/concrete/master)
|
||||
. = ..()
|
||||
if(!istype(master))
|
||||
return INITIALIZE_HINT_QDEL
|
||||
var/datum/component/storage/STR = AddComponent(/datum/component/storage, master)
|
||||
STR.max_w_class = WEIGHT_CLASS_NORMAL
|
||||
STR.max_combined_w_class = 60
|
||||
STR.max_items = 21
|
||||
|
||||
//Book of Babel
|
||||
|
||||
|
||||
@@ -8,14 +8,16 @@
|
||||
resistance_flags = FLAMMABLE
|
||||
max_integrity = 100
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
storage_slots = 80
|
||||
max_combined_w_class = 40
|
||||
can_hold = list(/obj/item/coin, /obj/item/stack/spacecash)
|
||||
|
||||
|
||||
/obj/item/storage/bag/money/vault/Initialize()
|
||||
/obj/item/storage/bag/money/Initialize()
|
||||
. = ..()
|
||||
GET_COMPONENT(STR, /datum/component/storage)
|
||||
STR.max_w_class = WEIGHT_CLASS_NORMAL
|
||||
STR.max_items = 40
|
||||
STR.max_combined_w_class = 40
|
||||
STR.can_hold = typecacheof(list(/obj/item/coin, /obj/item/stack/spacecash))
|
||||
|
||||
/obj/item/storage/bag/money/vault/PopulateContents()
|
||||
new /obj/item/coin/silver(src)
|
||||
new /obj/item/coin/silver(src)
|
||||
new /obj/item/coin/silver(src)
|
||||
|
||||
@@ -9,14 +9,12 @@
|
||||
density = TRUE
|
||||
pressure_resistance = 5*ONE_ATMOSPHERE
|
||||
|
||||
/obj/structure/ore_box/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/ore))
|
||||
user.transferItemToLoc(I, src)
|
||||
else if(istype(I, /obj/item/storage))
|
||||
var/obj/item/storage/S = I
|
||||
for(var/obj/item/stack/ore/O in S.contents)
|
||||
S.remove_from_storage(O, src) //This will move the item to this item's contents
|
||||
to_chat(user, "<span class='notice'>You empty the ore in [S] into \the [src].</span>")
|
||||
/obj/structure/ore_box/attackby(obj/item/W, mob/user, params)
|
||||
if (istype(W, /obj/item/stack/ore))
|
||||
user.transferItemToLoc(W, src)
|
||||
else if(W.SendSignal(COMSIG_CONTAINS_STORAGE))
|
||||
W.SendSignal(COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/stack/ore, src)
|
||||
to_chat(user, "<span class='notice'>You empty the ore in [W] into \the [src].</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user