diff --git a/code/modules/cargo/delivery/package.dm b/code/modules/cargo/delivery/package.dm index b559d499ef2..91ac379322d 100644 --- a/code/modules/cargo/delivery/package.dm +++ b/code/modules/cargo/delivery/package.dm @@ -13,11 +13,14 @@ var/delivery_point_id = "" var/datum/weakref/delivery_point_sector + /// Site name displayed to player when examining the package. This should clearly state where the player should go, and be lore accurate. This is typically overridden by either sectorname or one set by receptacle + var/delivery_site = "Unknown" var/delivery_point_coordinates = "" var/datum/weakref/associated_delivery_point var/pay_amount = 69420 + /// If true, pay_amount goes into Operations Account var/pays_horizon_account = TRUE /obj/item/cargo_package/Initialize(mapload, obj/structure/cargo_receptacle/delivery_point) @@ -33,16 +36,20 @@ associated_delivery_point = WEAKREF(delivery_point) delivery_point_id = delivery_point.delivery_id delivery_point_sector = delivery_point.delivery_sector + if(delivery_point.override_name) + delivery_site = delivery_point.override_name delivery_point_coordinates = "[delivery_point.x]-[delivery_point.y]" + pay_amount = pay_amount * delivery_point.payment_modifier /obj/item/cargo_package/get_examine_text(mob/user, distance, is_adjacent, infix, suffix) . = ..() if(delivery_point_id) - var/delivery_site = "Unknown" - if(delivery_point_sector) - var/obj/effect/overmap/visitable/delivery_sector = delivery_point_sector.resolve() - if(delivery_sector) - delivery_site = delivery_sector.name + // if name not already set by cargo receptacle, acquire the sector name instead + if(delivery_site == "Unknown") + if(delivery_point_sector) + var/obj/effect/overmap/visitable/delivery_sector = delivery_point_sector.resolve() + if(delivery_sector) + delivery_site = delivery_sector.name . += 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]电.") @@ -99,7 +106,8 @@ /obj/item/cargo_package/offship pays_horizon_account = FALSE - var/horizon_delivery = FALSE // whether this package is guaranteed to deliver to the horizon or not + /// Whether this package is guaranteed to deliver to the horizon or not + var/horizon_delivery = FALSE /obj/item/cargo_package/offship/Initialize(mapload, obj/structure/cargo_receptacle/delivery_point) . = ..() diff --git a/code/modules/cargo/delivery/receptacle.dm b/code/modules/cargo/delivery/receptacle.dm index 4010a41c769..4092838e783 100644 --- a/code/modules/cargo/delivery/receptacle.dm +++ b/code/modules/cargo/delivery/receptacle.dm @@ -9,8 +9,16 @@ var/global/list/all_cargo_receptacles = list() var/delivery_id = "" var/datum/weakref/delivery_sector - + /// If set, will be displayed as the site name on inbound packages (delivery_site) + var/override_name = "" + /// Used to adjust the reward for delivering to this point + var/payment_modifier = 1.0 + /// Set to true to have a chance for packages to spawn with var/spawns_packages = TRUE + /// Minimum amount of packages that can spawn for this receptacle. INTEGER + var/min_spawn = 2 + /// Maximum amount of packages that can spawn for this receptacle. INTEGER + var/max_spawn = 4 /obj/structure/cargo_receptacle/Initialize(mapload) ..() @@ -41,7 +49,7 @@ var/global/list/all_cargo_receptacles = list() if(!turf_contains_dense_objects(T)) warehouse_turfs += T - var/package_amount = rand(2, 4) + var/package_amount = rand(min_spawn, max_spawn) for(var/i = 1 to package_amount) var/turf/random_turf = pick_n_take(warehouse_turfs) if(random_turf) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 691957871c6..1bb1ffed362 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -108,15 +108,18 @@ var/caliber = "357" var/max_ammo = 7 - var/ammo_type = /obj/item/ammo_casing //ammo type that is initially loaded + /// Ammo type that is initially loaded + var/ammo_type = /obj/item/ammo_casing var/initial_ammo = null - var/multiple_sprites = 0 + var/multiple_sprites = FALSE //because BYOND doesn't support numbers as keys in associative lists var/list/icon_keys = list() //keys var/list/ammo_states = list() //values - var/insert_sound = /singleton/sound_category/metal_slide_reload //sound it plays when it gets inserted into a gun. + /// sound item plays when it is inserted into a gun. + var/insert_sound = /singleton/sound_category/metal_slide_reload + /// sound item plays when it is ejected from a gun. var/eject_sound = 'sound/weapons/magazine_eject.ogg' /obj/item/ammo_magazine/Initialize() diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index ea463081ea7..cf88685d342 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -7,7 +7,7 @@ ammo_type = /obj/item/ammo_casing/a357 matter = list(DEFAULT_WALL_MATERIAL = 1260) max_ammo = 8 - multiple_sprites = 1 + multiple_sprites = TRUE /obj/item/ammo_magazine/a454 name = "speed loader (.454)" @@ -17,7 +17,7 @@ ammo_type = /obj/item/ammo_casing/a454 matter = list(DEFAULT_WALL_MATERIAL = 1260) max_ammo = 7 - multiple_sprites = 1 + multiple_sprites = TRUE /obj/item/ammo_magazine/c38 name = "speed loader (.38)" @@ -27,7 +27,7 @@ matter = list(DEFAULT_WALL_MATERIAL = 360) ammo_type = /obj/item/ammo_casing/c38 max_ammo = 6 - multiple_sprites = 1 + multiple_sprites = TRUE /obj/item/ammo_magazine/c38/rubber name = "speed loader (.38 rubber)" @@ -43,6 +43,8 @@ icon_state = "a454" caliber = ".45" ammo_type = /obj/item/ammo_casing/c45/revolver + max_ammo = 6 + multiple_sprites = TRUE // End of Revolvos // diff --git a/html/changelogs/Ben10083 - PV Deliveries.yml b/html/changelogs/Ben10083 - PV Deliveries.yml new file mode 100644 index 00000000000..1270c0a15e7 --- /dev/null +++ b/html/changelogs/Ben10083 - PV Deliveries.yml @@ -0,0 +1,45 @@ +################################ +# 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 +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Ben10083 + +# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - maptweak: "Additional cargo delivery points added to Point Verdant, examples include Up!Burger, Corporate Docks, and the Hotel." + - maptweak: "Long range holopad added to Point Verdant near the holding cells." + - maptweak: "Fax machine added to Point Verdant Superintendent Office." + - refactor: "Added naming, spawn limits, and payment functionality to cargo receptacles, to allow for specific adjustments for inbound cargo packages by receptacle. Only utilized by Point Verdant at the moment." + - bugfix: "Konyang Service Revolver speedloader now has properly set ammo count, and sprite now updates." diff --git a/maps/away/away_site/konyang/point_verdant/point_verdant-1.dmm b/maps/away/away_site/konyang/point_verdant/point_verdant-1.dmm index 6502ad45343..d56fd57465e 100644 --- a/maps/away/away_site/konyang/point_verdant/point_verdant-1.dmm +++ b/maps/away/away_site/konyang/point_verdant/point_verdant-1.dmm @@ -6382,6 +6382,10 @@ /obj/random/dirt_75, /obj/random/dirt_75, /obj/random/dirt_75, +/obj/item/reagent_containers/glass/bucket{ + pixel_x = 5; + pixel_y = 3 + }, /turf/simulated/floor/tiled, /area/point_verdant/interior/police) "sK" = ( @@ -7212,13 +7216,14 @@ /area/point_verdant/interior/tunnels) "vx" = ( /obj/structure/table/wood, -/obj/item/storage/secure/briefcase{ - pixel_x = -1; - pixel_y = 3 - }, /obj/effect/floor_decal/spline/fancy/wood{ dir = 9 }, +/obj/machinery/photocopier/faxmachine{ + department = "Konyang, Point Verdant Corporate District, National Police Precinct 302"; + pixel_y = 4; + req_one_access = list(218) + }, /turf/simulated/floor/wood, /area/point_verdant/interior/police) "vy" = ( @@ -8698,6 +8703,10 @@ /obj/machinery/light/small{ dir = 8 }, +/obj/item/storage/secure/briefcase{ + pixel_x = -1; + pixel_y = 3 + }, /turf/simulated/floor/tiled/full, /area/point_verdant/interior/police) "Ak" = ( @@ -10293,6 +10302,10 @@ /obj/item/mop, /obj/random/dirt_75, /obj/random/dirt_75, +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, /turf/simulated/floor/tiled, /area/point_verdant/interior/police) "EV" = ( @@ -10521,6 +10534,10 @@ /obj/item/clothing/suit/storage/vest/konyang, /obj/item/clothing/suit/storage/vest/konyang, /obj/item/clothing/suit/storage/vest/konyang, +/obj/item/taperoll/police, +/obj/item/taperoll/police, +/obj/item/taperoll/police, +/obj/item/taperoll/police, /turf/simulated/floor/tiled/dark, /area/point_verdant/interior/police) "FE" = ( @@ -10578,6 +10595,12 @@ "FP" = ( /obj/structure/table/rack, /obj/item/device/camera_film, +/obj/item/device/camera_film, +/obj/item/device/camera{ + desc = "A one use - polaroid camera. 30 photos left."; + name = "detectives camera"; + pictures_left = 30 + }, /obj/item/device/camera{ desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; @@ -10709,8 +10732,11 @@ "Gj" = ( /obj/random/dirt_75, /obj/random/dirt_75, -/obj/structure/closet/crate/bin/urban, -/obj/random/junk, +/obj/structure/cargo_receptacle{ + override_name = "Konyang - Point Verdant - Corporate District Docks"; + payment_modifier = 0.5; + min_spawn = 1 + }, /turf/simulated/floor/sidewalk, /area/point_verdant/interior) "Gk" = ( @@ -12487,6 +12513,11 @@ /obj/random/dirt_75, /turf/simulated/floor/wood, /area/point_verdant/interior/spaceport) +"Lj" = ( +/obj/random/dirt_75, +/obj/machinery/hologram/holopad/long_range, +/turf/simulated/floor/tiled/full, +/area/point_verdant/interior/police) "Lk" = ( /obj/structure/table/glass, /obj/item/device/healthanalyzer{ @@ -30008,7 +30039,7 @@ lC lC wp mO -wr +Lj mO mO Yn diff --git a/maps/away/away_site/konyang/point_verdant/point_verdant-2.dmm b/maps/away/away_site/konyang/point_verdant/point_verdant-2.dmm index c1d5f26dcb2..4c352171371 100644 --- a/maps/away/away_site/konyang/point_verdant/point_verdant-2.dmm +++ b/maps/away/away_site/konyang/point_verdant/point_verdant-2.dmm @@ -426,6 +426,18 @@ }, /turf/simulated/floor/asphalt, /area/point_verdant/interior/parking) +"be" = ( +/obj/effect/decal/curb{ + dir = 4 + }, +/obj/structure/cargo_receptacle{ + override_name = "Konyang - Point Verdant - Up!Burger"; + payment_modifier = 0.4; + min_spawn = 1; + max_spawn = 2 + }, +/turf/simulated/floor/asphalt, +/area/point_verdant/outdoors) "bf" = ( /obj/structure/bed/stool/chair/office/dark{ dir = 4 @@ -11843,6 +11855,18 @@ /obj/structure/lattice/catwalk/indoor/planks, /turf/simulated/floor/exoplanet/konyang, /area/point_verdant/outdoors) +"EB" = ( +/obj/structure/ledge/quarter{ + dir = 8 + }, +/obj/structure/cargo_receptacle{ + override_name = "Konyang - Point Verdant - The One Aoyama Lodging"; + payment_modifier = 0.4; + max_spawn = 2; + min_spawn = 1 + }, +/turf/simulated/floor/sidewalk/blocks, +/area/point_verdant/outdoors) "EC" = ( /obj/structure/utility_pole/street/on{ dir = 4 @@ -35023,7 +35047,7 @@ Ga Ga sT mN -Fx +EB Fx We cG @@ -51407,7 +51431,7 @@ sJ ai ai vD -sJ +be MK Os BT diff --git a/maps/away/away_site/konyang/point_verdant/point_verdant-3.dmm b/maps/away/away_site/konyang/point_verdant/point_verdant-3.dmm index e9352f3687a..a315c544c3d 100644 --- a/maps/away/away_site/konyang/point_verdant/point_verdant-3.dmm +++ b/maps/away/away_site/konyang/point_verdant/point_verdant-3.dmm @@ -3170,7 +3170,12 @@ /turf/simulated/floor/asphalt, /area/point_verdant/interior/shallow) "zd" = ( -/obj/structure/cargo_receptacle, +/obj/structure/cargo_receptacle{ + override_name = "Konyang - Point Verdant - Sakae Towers"; + payment_modifier = 0.6; + min_spawn = 1; + max_spawn = 3 + }, /turf/simulated/floor/wood, /area/point_verdant/interior/offices) "zi" = (