diff --git a/code/datums/components/commissaryShop.dm b/code/datums/components/commissaryShop.dm index 6227cdcea27..692a748e5db 100644 --- a/code/datums/components/commissaryShop.dm +++ b/code/datums/components/commissaryShop.dm @@ -183,6 +183,8 @@ if(transaction_amount <= E.worth) SSeconomy.charge_to_account(SSeconomy.get_department_account(destinationact)?.account_number, E.owner_name, transaction_purpose, transaction_terminal, transaction_amount) E.worth -= transaction_amount + if(istype(E, /obj/item/spacecash/ewallet/persistent_charge_card)) + log_and_message_admins("[E] used for a transaction at [src] with amount [transaction_amount]. Remaining balance: [E.worth]", user, get_turf(src)) end_transaction(user) else if (transaction_amount > E.worth) diff --git a/code/game/machinery/computer/slotmachine.dm b/code/game/machinery/computer/slotmachine.dm index 152c1d09659..6c0ec3b19c6 100644 --- a/code/game/machinery/computer/slotmachine.dm +++ b/code/game/machinery/computer/slotmachine.dm @@ -98,6 +98,9 @@ return TRUE else if(istype(attacking_item, /obj/item/spacecash)) if(paymode == CREDITCHIP) + if(istype(attacking_item, /obj/item/spacecash/ewallet/persistent_charge_card)) + to_chat(user, SPAN_WARNING("This machine does not accept this kind of card!")) + return TRUE var/obj/item/spacecash/H = attacking_item to_chat(user, SPAN_NOTICE("You insert [H.worth]电 into [src]'s slot!")) playsound(loc, 'sound/arcade/sloto_token.ogg', 10, 1, extrarange = -3, falloff_distance = 10, required_asfx_toggles = ASFX_ARCADE) diff --git a/code/game/machinery/vending/_vending.dm b/code/game/machinery/vending/_vending.dm index 36e64ce7199..03df64f8a1c 100644 --- a/code/game/machinery/vending/_vending.dm +++ b/code/game/machinery/vending/_vending.dm @@ -402,7 +402,7 @@ handled = 1 else if (istype(attacking_item, /obj/item/spacecash/ewallet)) var/obj/item/spacecash/ewallet/C = attacking_item - paid = pay_with_ewallet(C) + paid = pay_with_ewallet(C, user) handled = 1 else if (istype(attacking_item, /obj/item/spacecash)) var/obj/item/spacecash/C = attacking_item @@ -535,7 +535,7 @@ * Takes payment for whatever is the currently_vending item. Returns 1 if * successful, 0 if failed. */ -/obj/machinery/vending/proc/pay_with_ewallet(var/obj/item/spacecash/ewallet/wallet) +/obj/machinery/vending/proc/pay_with_ewallet(var/obj/item/spacecash/ewallet/wallet, var/mob/user) visible_message("\The [usr] swipes \the [wallet] through \the [src].") playsound(src.loc, 'sound/machines/id_swipe.ogg', 50, 1) if(currently_vending.price > wallet.worth) @@ -544,6 +544,8 @@ return 0 else wallet.worth -= currently_vending.price + if(istype(wallet, /obj/item/spacecash/ewallet/persistent_charge_card)) + log_and_message_admins("[wallet] used for a transaction at [src] with amount [currently_vending.price]. Remaining balance: [wallet.worth]", user, get_turf(src)) credit_purchase("[wallet.owner_name] (chargecard)") return 1 diff --git a/code/modules/cargo/delivery/backpack.dm b/code/modules/cargo/delivery/backpack.dm index 5bc144e1562..e10739d2d7d 100644 --- a/code/modules/cargo/delivery/backpack.dm +++ b/code/modules/cargo/delivery/backpack.dm @@ -1,7 +1,7 @@ /obj/item/cargo_backpack name = "cargo pack" desc = "A robust set of rigs and buckles that allows the wearer to carry two additional Orion Express delivery packages on their back." - icon = 'icons/obj/orion_delivery.dmi' + icon = 'icons/obj/package.dmi' icon_state = "package_pack" item_state = "package_pack" contained_sprite = TRUE @@ -41,7 +41,7 @@ var/list/data = list() data["cargo_pack_details"] = list() - for(var/obj/item/cargo_package/package in contained_packages) + for(var/obj/item/package/delivery/package in contained_packages) var/delivery_site = "Unknown" if(package.delivery_point_sector) var/obj/effect/overmap/visitable/delivery_sector = package.delivery_point_sector.resolve() @@ -82,7 +82,7 @@ return for(var/package_index = 1 to length(contained_packages)) - var/obj/item/cargo_package/package = contained_packages[package_index] + var/obj/item/package/delivery/package = contained_packages[package_index] var/image/package_tag = image(icon, icon_state = "package_pack_[package_index]_tag") package_tag.color = package.accent_color mob_overlay.AddOverlays(package_tag) @@ -110,7 +110,7 @@ to_chat(user, SPAN_WARNING("Your other hand is occupied!")) return user.visible_message("[user] unloads a package from \the [src]!", SPAN_NOTICE("You unload a package from \the [src]!")) - var/obj/item/cargo_package/package = contained_packages[1] + var/obj/item/package/delivery/package = contained_packages[1] user.put_in_hands(package) if(user.species.mob_size < 12) package.wield(user) @@ -121,11 +121,11 @@ if(!ishuman(user)) return ..() if(user.back != src) - if(istype(attacking_item, /obj/item/cargo_package)) + if(istype(attacking_item, /obj/item/package/delivery)) to_chat(user, SPAN_WARNING("Put \the [src] on your back before you load packages onto it!")) return return ..() - if(!istype(attacking_item, /obj/item/cargo_package)) + if(!istype(attacking_item, /obj/item/package/delivery)) return ..() if(LAZYLEN(contained_packages) >= 2) diff --git a/code/modules/cargo/delivery/package.dm b/code/modules/cargo/delivery/package.dm index 6b4b3717352..0ce4be6998b 100644 --- a/code/modules/cargo/delivery/package.dm +++ b/code/modules/cargo/delivery/package.dm @@ -1,4 +1,42 @@ -/obj/item/cargo_package +ABSTRACT_TYPE(/obj/item/package) + name = "package" + icon = 'icons/obj/package.dmi' + contained_sprite = TRUE + update_icon_on_init = TRUE + has_accents = TRUE + w_class = WEIGHT_CLASS_HUGE + force = 15 + slowdown = 0.5 + +/obj/item/package/proc/wield(var/mob/living/carbon/human/user) + var/obj/A = user.get_inactive_hand() + if(A) + to_chat(user, SPAN_WARNING("Your other hand is occupied!")) + return + item_state += "_wielded" + var/obj/item/offhand/O = new(user) + O.name = "[initial(name)] - offhand" + O.desc = "Your second grip on \the [initial(name)]." + user.put_in_inactive_hand(O) + +/obj/item/package/dropped(mob/user) + ..() + item_state = initial(item_state) + if(user) + var/obj/item/offhand/O = user.get_inactive_hand() + if(istype(O)) + O.unwield() + +/obj/item/package/can_swap_hands(var/mob/user) + var/obj/item/offhand/O = user.get_inactive_hand() + if(istype(O)) + return FALSE + return TRUE + +/obj/item/package/too_heavy_to_throw() + return TRUE + +/obj/item/package/delivery name = "cargo package" desc = "\ An Orion Express cargo package. \ @@ -8,17 +46,8 @@ This package makes use of the small-scale shipping network of Orion Express. \ It is a common sight all over the Spur, where Orion Express services depend on ordinary people and ships picking up and delivering packages for each other, \ with Orion Express only delivering to automated stations and other distribution points." - icon = 'icons/obj/orion_delivery.dmi' icon_state = "express_package" item_state = "express_package" - contained_sprite = TRUE - update_icon_on_init = TRUE - has_accents = TRUE - - w_class = WEIGHT_CLASS_HUGE - force = 15 - - slowdown = 0.5 var/delivery_point_id = "" var/datum/weakref/delivery_point_sector @@ -32,12 +61,12 @@ /// If true, pay_amount goes into Operations Account var/pays_horizon_account = TRUE -/obj/item/cargo_package/mechanics_hints(mob/user, distance, is_adjacent) +/obj/item/package/delivery/mechanics_hints(mob/user, distance, is_adjacent) . += ..() . += "You can deliver this package to a cargo delivery point." . += "An additional 2% is added to your account on delivery, or paid to you directly. Can be loaded into a cargo pack." -/obj/item/cargo_package/feedback_hints(mob/user, distance, is_adjacent) +/obj/item/package/delivery/feedback_hints(mob/user, distance, is_adjacent) . += ..() if(delivery_point_id) // if name not already set by cargo receptacle, acquire the sector name instead @@ -49,7 +78,7 @@ . += SPAN_NOTICE("The label on the package reads: SITE: [delivery_site] | COORD: [delivery_point_coordinates] | ID: [delivery_point_id]") . += SPAN_NOTICE("The price tag on the package reads: [pay_amount]电.") -/obj/item/cargo_package/Initialize(mapload, obj/structure/cargo_receptacle/delivery_point) +/obj/item/package/delivery/Initialize(mapload, obj/structure/cargo_receptacle/delivery_point) . = ..() pay_amount = rand(4, 7) * 100 if(prob(3)) @@ -58,7 +87,7 @@ setup_delivery_point(delivery_point) accent_color = pick(COLOR_RED, COLOR_AMBER, COLOR_PINK, COLOR_YELLOW, COLOR_LIME) -/obj/item/cargo_package/proc/setup_delivery_point(var/obj/structure/cargo_receptacle/delivery_point) +/obj/item/package/delivery/proc/setup_delivery_point(var/obj/structure/cargo_receptacle/delivery_point) associated_delivery_point = WEAKREF(delivery_point) delivery_point_id = delivery_point.delivery_id delivery_point_sector = delivery_point.delivery_sector @@ -67,7 +96,7 @@ delivery_point_coordinates = "[delivery_point.x]-[delivery_point.y]" pay_amount = pay_amount * delivery_point.payment_modifier -/obj/item/cargo_package/do_additional_pickup_checks(var/mob/living/carbon/human/user) +/obj/item/package/delivery/do_additional_pickup_checks(var/mob/living/carbon/human/user) if(!ishuman(user)) return FALSE @@ -92,58 +121,57 @@ return TRUE return FALSE -/obj/item/cargo_package/proc/wield(var/mob/living/carbon/human/user) - var/obj/A = user.get_inactive_hand() - if(A) - to_chat(user, SPAN_WARNING("Your other hand is occupied!")) - return - item_state += "_wielded" - var/obj/item/offhand/O = new(user) - O.name = "[initial(name)] - offhand" - O.desc = "Your second grip on \the [initial(name)]." - user.put_in_inactive_hand(O) - -/obj/item/cargo_package/dropped(mob/user) - ..() - item_state = initial(item_state) - if(user) - var/obj/item/offhand/O = user.get_inactive_hand() - if(istype(O)) - O.unwield() - -/obj/item/cargo_package/can_swap_hands(var/mob/user) - var/obj/item/offhand/O = user.get_inactive_hand() - if(istype(O)) - return FALSE - return TRUE - -/obj/item/cargo_package/too_heavy_to_throw() - return TRUE - - -/obj/item/cargo_package/offship +/obj/item/package/delivery/offship pays_horizon_account = FALSE /// Whether this package is guaranteed to deliver to the horizon or not var/horizon_delivery = FALSE -/obj/item/cargo_package/offship/feedback_hints(mob/user, distance, is_adjacent) +/obj/item/package/delivery/offship/feedback_hints(mob/user, distance, is_adjacent) . += ..() if(!delivery_point_id) . += SPAN_NOTICE("Delivery site still being calculated, please check back later!") -/obj/item/cargo_package/offship/Initialize(mapload, obj/structure/cargo_receptacle/delivery_point) +/obj/item/package/delivery/offship/Initialize(mapload, obj/structure/cargo_receptacle/delivery_point) . = ..() if(!delivery_point) // add a timer before we pick the delivery point, in case any ships or ruins still need to load addtimer(CALLBACK(src, PROC_REF(get_delivery_point)), 3 MINUTES) -/obj/item/cargo_package/offship/proc/get_delivery_point() +/obj/item/package/delivery/offship/proc/get_delivery_point() var/obj/structure/cargo_receptacle/selected_delivery_point = get_cargo_package_delivery_point(src, horizon_delivery) if(!selected_delivery_point) qdel(src) return setup_delivery_point(selected_delivery_point) -/obj/item/cargo_package/offship/to_horizon +/obj/item/package/delivery/offship/to_horizon horizon_delivery = TRUE + +// Persistent supply packages. These are meant to be spawned by admins and feature no mechanics like the orion deliveries. +/obj/item/package/persistent_supply + name = "supply package" + desc = "A supply package. Doesn't qualify for deliveries." + desc_extended = "\ + Usually each package contains a different set of things one might need as supplies. \ + Unlike the Orion deliveries, these packages are not tied to a specific delivery network and are not eligible for deliveries. \ + Probably more expensive then it should be." + icon_state = "supply_package" + item_state = "supply_package" + persistant_objects_expiration_time_days = 360 + +/obj/item/package/persistent_supply/Initialize() + . = ..() + SSpersistence.objectsRegisterTrack(src) + +/obj/item/package/persistent_supply/persistent_objects_get_content() + return list() + +/obj/item/package/persistent_supply/persistent_objects_apply_content(content, x, y, z) + src.x = x + src.y = y + src.z = z + +/obj/item/package/persistent_supply/Destroy() + log_and_message_admins("Persistent supply package at [src] was destroyed!", null, get_turf(src)) + . = ..() diff --git a/code/modules/cargo/delivery/receptacle.dm b/code/modules/cargo/delivery/receptacle.dm index a5b4df0d777..7775f47bfd4 100644 --- a/code/modules/cargo/delivery/receptacle.dm +++ b/code/modules/cargo/delivery/receptacle.dm @@ -10,7 +10,7 @@ GLOBAL_LIST_INIT_TYPED(all_cargo_receptacles, /obj/structure/cargo_receptacle, l These are set up by Orion to expand its small-scale shipping network, especially in more remote areas, like outer edges of the Frontier or Coalition. \ It is a common sight all over the Spur, however, where Orion Express services depend on ordinary people and ships picking up and delivering packages for each other, \ with Orion Express only delivering to automated stations and other distribution points." - icon = 'icons/obj/orion_delivery.dmi' + icon = 'icons/obj/package.dmi' icon_state = "delivery_point" density = TRUE @@ -86,7 +86,7 @@ GLOBAL_LIST_INIT_TYPED(all_cargo_receptacles, /obj/structure/cargo_receptacle, l for(var/i = 1 to package_amount) var/turf/random_turf = pick_n_take(warehouse_turfs) if(random_turf) - new /obj/item/cargo_package(random_turf, src) + new /obj/item/package/delivery(random_turf, src) if(late_spawner) playsound(pick(warehouse_turfs), 'sound/machines/twobeep.ogg', 50, 1) GLOB.global_announcer.autosay(announcement_message, capitalize_first_letters(announcer_name), channel) @@ -96,8 +96,8 @@ GLOBAL_LIST_INIT_TYPED(all_cargo_receptacles, /obj/structure/cargo_receptacle, l return ..() /obj/structure/cargo_receptacle/attackby(obj/item/attacking_item, mob/user) - if(istype(attacking_item, /obj/item/cargo_package)) - var/obj/item/cargo_package/package = attacking_item + if(istype(attacking_item, /obj/item/package/delivery)) + var/obj/item/package/delivery/package = attacking_item if(!package.associated_delivery_point) to_chat(user, SPAN_WARNING("Something's wrong with the cargo package, submit a bug report. ERRCODE: 0")) return @@ -120,14 +120,14 @@ GLOBAL_LIST_INIT_TYPED(all_cargo_receptacles, /obj/structure/cargo_receptacle, l visible_message("\The [src] beeps, \"[SPAN_NOTICE("New package available for delivery.")]\"") playsound(src, SFX_PRINT, 50, TRUE) - var/obj/item/cargo_package/printed_package = new /obj/item/cargo_package/offship(get_turf(user), selected_delivery_point) + var/obj/item/package/delivery/printed_package = new /obj/item/package/delivery/offship(get_turf(user), selected_delivery_point) printed_package.pays_horizon_account = pays_horizon_account animate(printed_package, alpha = 0, alpha = 255, time = 1 SECOND) // Makes them fade in return return ..() -/obj/structure/cargo_receptacle/proc/pay_account(var/mob/living/carbon/human/courier, var/obj/item/cargo_package/package) +/obj/structure/cargo_receptacle/proc/pay_account(var/mob/living/carbon/human/courier, var/obj/item/package/delivery/package) if(package.pays_horizon_account) var/datum/money_account/supply_account = SScargo.supply_account if(supply_account && !supply_account.suspended) diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index 6ff33b518ae..78adb41a03b 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -104,6 +104,9 @@ update_icon() else if(authenticated_account) if(istype(attacking_item,/obj/item/spacecash)) + if(istype(attacking_item, /obj/item/spacecash/ewallet/persistent_charge_card)) + to_chat(user, SPAN_WARNING("You insert the [attacking_item] into [src], but the machine immediately rejects it!")) + return var/obj/item/spacecash/cash = attacking_item //consume the money authenticated_account.money += cash.worth diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm index a05857e51b8..50656b51a9d 100644 --- a/code/modules/economy/EFTPOS.dm +++ b/code/modules/economy/EFTPOS.dm @@ -133,6 +133,8 @@ //transfer the money E.worth -= transaction_amount + if(istype(E, /obj/item/spacecash/ewallet/persistent_charge_card)) + log_and_message_admins("[E] used for a transaction at [src] with amount [transaction_amount]. Remaining balance: [E.worth]", user, get_turf(src)) linked_account.money += transaction_amount //create entry in the EFTPOS linked account transaction log diff --git a/code/modules/economy/cash.dm b/code/modules/economy/cash.dm index 3348dded99f..606bc56496f 100644 --- a/code/modules/economy/cash.dm +++ b/code/modules/economy/cash.dm @@ -297,7 +297,7 @@ name = "charge card" icon_state = "efundcard" desc = "A card that holds an amount of money." - var/owner_name = "" //So the ATM can set it so the EFTPOS can put a valid name on transactions. + var/owner_name = "unknown" //So the ATM can set it so the EFTPOS can put a valid name on transactions. drop_sound = 'sound/items/drop/card.ogg' pickup_sound = 'sound/items/pickup/card.ogg' @@ -305,7 +305,8 @@ . = ..() if(distance > 2 && user != loc) return - . += SPAN_NOTICE("The charge card's owner is [src.owner_name].") + if(src.owner_name) + . += SPAN_NOTICE("The charge card's owner is [src.owner_name].") . += SPAN_NOTICE("It has [src.worth]电 left.") /obj/item/spacecash/ewallet/c2000 @@ -316,3 +317,37 @@ /obj/item/spacecash/ewallet/c10000 worth = 10000 + +// Persistent ewallet that keeps it's value across rounds. +// When spawned, using VV, set "worth", "initial_worth", "owner_name" and "name". +/obj/item/spacecash/ewallet/persistent_charge_card + name = "specialized charge card" + desc = "A specialized charge card that holds a certain amount of money. This type of charge card is in use for special purposes and not generally available." + icon_state = "efundcard_special" + var/initial_worth = 0 // Used for calculating how much cash was spend, needs to be set using VV after spawning it. + persistant_objects_expiration_time_days = 360 + +/obj/item/spacecash/ewallet/persistent_charge_card/Initialize() + . = ..() + SSpersistence.objectsRegisterTrack(src) + +/obj/item/spacecash/ewallet/persistent_charge_card/persistent_objects_get_content() + var/list/content = list() + content["name"] = src.name + content["initial_worth"] = src.initial_worth + content["worth"] = src.worth + content["owner_name"] = src.owner_name + return content + +/obj/item/spacecash/ewallet/persistent_charge_card/persistent_objects_apply_content(content, x, y, z) + name = isnull(content["name"]) ? src.name : content["name"] + initial_worth = isnull(content["initial_worth"]) ? 0 : content["initial_worth"] + worth = isnull(content["worth"]) ? 0 : content["worth"] + owner_name = isnull(content["owner_name"]) ? src.owner_name : content["owner_name"] + src.x = x + src.y = y + src.z = z + +/obj/item/spacecash/ewallet/persistent_charge_card/Destroy() + log_and_message_admins("Persistent charge card ([src.name]) at [src] was destroyed!", null, get_turf(src)) + . = ..() diff --git a/code/modules/modular_computers/file_system/programs/civilian/cargo_delivery.dm b/code/modules/modular_computers/file_system/programs/civilian/cargo_delivery.dm index 2c3a44ad65b..9f1fdb58f86 100644 --- a/code/modules/modular_computers/file_system/programs/civilian/cargo_delivery.dm +++ b/code/modules/modular_computers/file_system/programs/civilian/cargo_delivery.dm @@ -107,9 +107,10 @@ return TRUE var/obj/item/spacecash/ewallet/charge_card + var/mob/living/L if(!using_id) if(isliving(usr)) - var/mob/living/L = usr + L = usr charge_card = L.get_active_hand() if(!istype(charge_card)) return TRUE @@ -137,6 +138,8 @@ status_message = "Account Error: Failed to Deposit Credits into Cargo Account" return TRUE charge_card.worth -= transaction_amount + if(istype(charge_card, /obj/item/spacecash/ewallet/persistent_charge_card)) + log_and_message_admins("[charge_card] used for a transaction at [src] with amount [transaction_amount]. Remaining balance: [charge_card.worth]", L, get_turf(src)) playsound(computer, 'sound/machines/chime.ogg', 50, TRUE) status_message = co.set_paid(GetNameAndAssignmentFromId(id_card), usr.character_id, destinationact) diff --git a/html/changelogs/fabiank3-arc-feature-persistent-supply.yml b/html/changelogs/fabiank3-arc-feature-persistent-supply.yml new file mode 100644 index 00000000000..7327f450252 --- /dev/null +++ b/html/changelogs/fabiank3-arc-feature-persistent-supply.yml @@ -0,0 +1,7 @@ +author: FabianK3 + +delete-after: True + +changes: + - rscadd: "Added a persistent version of charge cards - Arc feature / Admin spawn only." + - rscadd: "Added a persistent version of cargo packages, called supply package - Arc feature / Admin spawn only." diff --git a/icons/obj/cash.dmi b/icons/obj/cash.dmi index 73399e656be..d8ae968dbc5 100644 Binary files a/icons/obj/cash.dmi and b/icons/obj/cash.dmi differ diff --git a/icons/obj/orion_delivery.dmi b/icons/obj/orion_delivery.dmi deleted file mode 100644 index c21e11f3619..00000000000 Binary files a/icons/obj/orion_delivery.dmi and /dev/null differ diff --git a/icons/obj/package.dmi b/icons/obj/package.dmi new file mode 100644 index 00000000000..89305c2c177 Binary files /dev/null and b/icons/obj/package.dmi differ diff --git a/maps/away/away_site/orion/orion_automated_station.dmm b/maps/away/away_site/orion/orion_automated_station.dmm index e94a282a57d..11477cdee35 100644 --- a/maps/away/away_site/orion/orion_automated_station.dmm +++ b/maps/away/away_site/orion/orion_automated_station.dmm @@ -62,7 +62,7 @@ /area/orion_automated_station/west) "bt" = ( /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /turf/simulated/floor/tiled/dark, /area/orion_automated_station/packages) "bu" = ( @@ -792,10 +792,10 @@ /area/orion_automated_station/east) "nB" = ( /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/cargo_package{ +/obj/item/package/delivery{ pixel_y = 12 }, -/obj/item/cargo_package, +/obj/item/package/delivery, /turf/simulated/floor/tiled/dark, /area/orion_automated_station/packages) "nH" = ( @@ -931,10 +931,10 @@ /area/orion_automated_station/engineering) "qB" = ( /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/cargo_package{ +/obj/item/package/delivery{ pixel_y = 12 }, -/obj/item/cargo_package, +/obj/item/package/delivery, /obj/machinery/light{ dir = 1 }, @@ -1253,10 +1253,10 @@ /area/orion_automated_station/east) "xw" = ( /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = 12 }, -/obj/item/cargo_package/offship/to_horizon, +/obj/item/package/delivery/offship/to_horizon, /obj/machinery/light{ dir = 8 }, @@ -1575,10 +1575,10 @@ /area/orion_automated_station/west) "Do" = ( /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = 12 }, -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /turf/simulated/floor/tiled/dark, /area/orion_automated_station/packages) "DA" = ( @@ -1783,7 +1783,7 @@ /area/orion_automated_station/exterior) "FT" = ( /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/cargo_package{ +/obj/item/package/delivery{ pixel_y = 12 }, /obj/machinery/light, @@ -1897,7 +1897,7 @@ /area/orion_automated_station/west) "HV" = ( /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = 12 }, /turf/simulated/floor/tiled/dark, @@ -2870,7 +2870,7 @@ /area/orion_automated_station/west) "Wg" = ( /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/cargo_package, +/obj/item/package/delivery, /turf/simulated/floor/tiled/dark, /area/orion_automated_station/packages) "Wh" = ( diff --git a/maps/away/away_site/uueoaesa/tret/tret_industrial_complex.dmm b/maps/away/away_site/uueoaesa/tret/tret_industrial_complex.dmm index df77e9ffac2..69c9115985b 100644 --- a/maps/away/away_site/uueoaesa/tret/tret_industrial_complex.dmm +++ b/maps/away/away_site/uueoaesa/tret/tret_industrial_complex.dmm @@ -8939,15 +8939,15 @@ icon_state = "1-2" }, /obj/random/dirt_75, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = 10; pixel_x = -3 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 3 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = 7 }, /turf/simulated/floor/plating, diff --git a/maps/away/ships/golden_deep/golden_deep.dmm b/maps/away/ships/golden_deep/golden_deep.dmm index d8cf23f6481..326d6f4b347 100644 --- a/maps/away/ships/golden_deep/golden_deep.dmm +++ b/maps/away/ships/golden_deep/golden_deep.dmm @@ -7751,11 +7751,11 @@ /area/golden_deep/owned_lounge) "Ga" = ( /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = 10; pixel_x = -1 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 3 }, @@ -8241,11 +8241,11 @@ dir = 8 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = 10; pixel_x = -1 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 3 }, @@ -11555,11 +11555,11 @@ dir = 4 }, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = 10; pixel_x = -2 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 3 }, diff --git a/maps/away/ships/himeo/himeo_patrol_ship_submaps.dmm b/maps/away/ships/himeo/himeo_patrol_ship_submaps.dmm index 04d0fed1e47..8b2c4571126 100644 --- a/maps/away/ships/himeo/himeo_patrol_ship_submaps.dmm +++ b/maps/away/ships/himeo/himeo_patrol_ship_submaps.dmm @@ -607,8 +607,8 @@ "DX" = ( /obj/effect/map_effect/marker/mapmanip/submap/extract/himeo_patrol_ship/storage_1, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/cargo_package/offship, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship, +/obj/item/package/delivery/offship{ pixel_x = 3; pixel_y = 9 }, @@ -776,8 +776,8 @@ "Oe" = ( /obj/effect/map_effect/marker/mapmanip/submap/extract/himeo_patrol_ship/storage_2, /obj/effect/floor_decal/industrial/outline/grey, -/obj/item/cargo_package/offship, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship, +/obj/item/package/delivery/offship{ pixel_x = 3; pixel_y = 9 }, diff --git a/maps/away/ships/lone_spacer/lone_spacer.dmm b/maps/away/ships/lone_spacer/lone_spacer.dmm index ef872611dc0..753fd0f77e4 100644 --- a/maps/away/ships/lone_spacer/lone_spacer.dmm +++ b/maps/away/ships/lone_spacer/lone_spacer.dmm @@ -151,11 +151,11 @@ /turf/simulated/floor/tiled/dark/full, /area/shuttle/lone_spacer/port_nacelle) "aT" = ( -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = 10; pixel_x = -1 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 1 }, @@ -2435,11 +2435,11 @@ /turf/simulated/floor/tiled/dark/full, /area/shuttle/lone_spacer/storage) "Mz" = ( -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = 11; pixel_x = 1 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 3 }, diff --git a/maps/away/ships/lone_spacer/lone_spacer_submaps.dmm b/maps/away/ships/lone_spacer/lone_spacer_submaps.dmm index 69c181898a4..ab453d8bb0b 100644 --- a/maps/away/ships/lone_spacer/lone_spacer_submaps.dmm +++ b/maps/away/ships/lone_spacer/lone_spacer_submaps.dmm @@ -284,11 +284,11 @@ /area/shuttle/lone_spacer/storage) "G" = ( /obj/effect/floor_decal/industrial/outline/operations, -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = 10; pixel_x = -1 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 1 }, diff --git a/maps/away/ships/orion/orion_express_ship/orion_express_ship.dmm b/maps/away/ships/orion/orion_express_ship/orion_express_ship.dmm index 5a757234ed0..2f08b11e213 100644 --- a/maps/away/ships/orion/orion_express_ship/orion_express_ship.dmm +++ b/maps/away/ships/orion/orion_express_ship/orion_express_ship.dmm @@ -991,7 +991,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled/dark, /area/ship/orion/cargo) @@ -1988,7 +1988,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled/dark, /area/ship/orion/cargo) @@ -2058,7 +2058,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled/dark, /area/ship/orion/cargo) @@ -3408,7 +3408,7 @@ /turf/simulated/floor/wood, /area/ship/orion/crew) "lQT" = ( -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled/dark, /area/ship/orion/cargo) @@ -3662,7 +3662,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled/dark, /area/ship/orion/cargo) @@ -3884,7 +3884,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled/dark, /area/ship/orion/cargo) @@ -6847,7 +6847,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled/dark, /area/ship/orion/cargo) @@ -7211,7 +7211,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled/dark, /area/ship/orion/cargo) @@ -7659,7 +7659,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/cargo_package/offship, +/obj/item/package/delivery/offship, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled/dark, /area/ship/orion/cargo) diff --git a/maps/away/ships/orion/orion_miner/orion_miner.dmm b/maps/away/ships/orion/orion_miner/orion_miner.dmm index 95cf88037c6..5e09eddb807 100644 --- a/maps/away/ships/orion/orion_miner/orion_miner.dmm +++ b/maps/away/ships/orion/orion_miner/orion_miner.dmm @@ -573,8 +573,8 @@ /area/shuttle/orion_miner/cargo_bay) "dY" = ( /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/cargo_package/offship/to_horizon, -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon, +/obj/item/package/delivery/offship/to_horizon{ pixel_x = -1; pixel_y = 11 }, @@ -4363,8 +4363,8 @@ /area/shuttle/orion_miner/tech_storage) "Oc" = ( /obj/effect/floor_decal/industrial/outline/yellow, -/obj/item/cargo_package/offship, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship, +/obj/item/package/delivery/offship{ pixel_x = 1; pixel_y = 10 }, diff --git a/maps/away/ships/scc/scc_scout_ship.dmm b/maps/away/ships/scc/scc_scout_ship.dmm index ddee8636899..602257bfdf2 100644 --- a/maps/away/ships/scc/scc_scout_ship.dmm +++ b/maps/away/ships/scc/scc_scout_ship.dmm @@ -3874,11 +3874,11 @@ /area/ship/scc_scout_ship/medbay) "wI" = ( /obj/random/dirt_75, -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = 10; pixel_x = -3 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 3 }, @@ -4916,11 +4916,11 @@ /area/ship/scc_scout_ship/exterior) "DX" = ( /obj/random/dirt_75, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = 10; pixel_x = -3 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 3 }, @@ -5690,11 +5690,11 @@ }, /obj/random/dirt_75, /obj/random/dirt_75, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = 10; pixel_x = -3 }, -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = -2; pixel_x = 3 }, diff --git a/maps/away/ships/tramp_freighter/tramp_freighter.dmm b/maps/away/ships/tramp_freighter/tramp_freighter.dmm index ef27708d011..74cb7308193 100644 --- a/maps/away/ships/tramp_freighter/tramp_freighter.dmm +++ b/maps/away/ships/tramp_freighter/tramp_freighter.dmm @@ -2091,11 +2091,11 @@ /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/industrial/outline/operations, /obj/effect/decal/cleanable/dirt, -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = 10; pixel_x = -1 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 1 }, @@ -2714,11 +2714,11 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/industrial/outline/operations, /obj/effect/decal/cleanable/dirt, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = 10; pixel_x = -2 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 3 }, @@ -4884,11 +4884,11 @@ "ys" = ( /obj/effect/floor_decal/industrial/outline/operations, /obj/effect/decal/cleanable/dirt, -/obj/item/cargo_package/offship/to_horizon{ +/obj/item/package/delivery/offship/to_horizon{ pixel_y = 10; pixel_x = -1 }, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = -2; pixel_x = 3 }, diff --git a/maps/random_ruins/exoplanets/delivery/delivery_site.dmm b/maps/random_ruins/exoplanets/delivery/delivery_site.dmm index dd6406d3c31..66beb02b72a 100644 --- a/maps/random_ruins/exoplanets/delivery/delivery_site.dmm +++ b/maps/random_ruins/exoplanets/delivery/delivery_site.dmm @@ -101,7 +101,7 @@ /obj/effect/floor_decal/industrial/outline/yellow, /obj/random/dirt_75, /obj/random/dirt_75, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = 3 }, /turf/simulated/floor/exoplanet/concrete, @@ -109,7 +109,7 @@ "te" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/random/dirt_75, -/obj/item/cargo_package/offship{ +/obj/item/package/delivery/offship{ pixel_y = 3 }, /turf/simulated/floor/exoplanet/concrete,