Point Verdant Delivery Points + Long Range Holopad in Cells + Konyang Police Fax + Police Speedloader fix + L + Ratio (#18531)

* Point Verdant Deliveries

* Holopad Police

* Refactor code

* Variables applied

* Spawn Limits

* nicer

* Fix bug (hopefully)

* Document

* Maptweaks + bugfix

* spell

* typo

* Bugfix

* no spaces

* Extra Document

* oops

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
This commit is contained in:
Ben
2024-02-29 17:39:10 +00:00
committed by GitHub
co-authored by Ben10083
parent 59c9f88655
commit 2977912fbe
8 changed files with 150 additions and 24 deletions
+14 -6
View File
@@ -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: <b>[delivery_site]</b> | COORD: <b>[delivery_point_coordinates]</b> | ID: <b>[delivery_point_id]</b>")
. += SPAN_NOTICE("The price tag on the package reads: <b>[pay_amount]电</b>.")
@@ -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)
. = ..()
+10 -2
View File
@@ -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)
+6 -3
View File
@@ -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()
+5 -3
View File
@@ -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 //
@@ -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."
@@ -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
@@ -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
@@ -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" = (