Skip to content

Commit

Permalink
Merge branch 'master' into the-pennening-ground-zero
Browse files Browse the repository at this point in the history
  • Loading branch information
monsterlord59 authored Oct 7, 2024
2 parents ba08285 + 290c770 commit 923a487
Show file tree
Hide file tree
Showing 38 changed files with 127 additions and 30 deletions.
2 changes: 2 additions & 0 deletions _maps/configs/nanotrasen_cheyenne.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
"map_id": "nanotrasen_cheyenne",
"description": "The Cheyenne-Class is a state-of-the-art Flotilla style vessel, designed and constructed by NanoTrasen to serve as a central hub for frontier operations. Built with versatility and durability in mind, the Frontier Voyager combines the functionality of a large, stationary space station with the mobility of a capital-class starship. Its vast interior is equipped with all the necessary facilities to support a variety of operations, from scientific research and mineral extraction to security and medical response.",
"limit": 1,
"ship_icon": "cheyenne",
"empty_space_icon": "cheyenne_space",
"tags": [
"RP Focus",
"Generalist",
Expand Down
2 changes: 2 additions & 0 deletions _maps/shuttles/independent/independent_mudskipper.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1833,7 +1833,9 @@
/obj/structure/table/reinforced{
color = "#c1b6a5"
},

/obj/item/pen/collectible/pencil,

Check failure on line 1837 in _maps/shuttles/independent/independent_mudskipper.dmm

View workflow job for this annotation

GitHub Actions / Run Linters

DMM Linter

Pops ended too early, expected a newline in between.
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/tech/grid,
/area/ship/bridge)
"OB" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/independent/independent_rigger.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3387,6 +3387,7 @@
pixel_y = -20
},
/obj/item/pen/collectible/mechanicalpencil,
/obj/item/areaeditor/shuttle,
/turf/open/floor/carpet/blue,
/area/ship/bridge)
"OW" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/independent/independent_shetland.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2604,6 +2604,7 @@
pixel_y = -4
},
/obj/item/pen/collectible/bicred,
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/dark,
/area/ship/bridge)
"wz" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/independent/independent_sunskipper.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -616,6 +616,7 @@
pixel_y = -4
},
/obj/item/pen/collectible/bicblue,
/obj/item/areaeditor/shuttle,
/turf/open/floor/carpet/nanoweave/beige,
/area/ship/bridge)
"hW" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/independent/independent_wyvern.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3594,6 +3594,7 @@
},
/obj/item/folder/blue,
/obj/item/pen/collectible/quill,
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/dark,
/area/ship/bridge)
"OW" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/inteq/inteq_valor.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1325,6 +1325,7 @@
icon_state = "0-2"
},
/obj/item/pen/collectible/corporatewar,
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/dark,
/area/ship/bridge)
"ma" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/inteq/inteq_vaquero.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,7 @@
/obj/effect/turf_decal/corner/opaque/yellow{
dir = 1
},
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/dark,
/area/ship/bridge)
"hn" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/nanotrasen/nanotrasen_meta.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1525,6 +1525,7 @@
pixel_y = 5
},
/obj/item/pen/collectible/bluespace,
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/dark,
/area/ship/bridge)
"fb" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/nanotrasen/nanotrasen_ranger.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2378,6 +2378,7 @@
pixel_x = 7
},
/obj/item/pen/collectible/ntpencil,
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/dark,
/area/ship/bridge)
"yi" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/nanotrasen/nanotrasen_skipper.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2757,6 +2757,7 @@
/obj/machinery/atmospherics/pipe/layer_manifold{
dir = 4
},
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/mono/dark,
/area/ship/bridge)
"vp" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/pgf/pgf_crying_sun.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2248,6 +2248,7 @@
pixel_x = -19;
pixel_y = 9
},
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/mono/dark,
/area/ship/bridge)
"tK" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/pirate/pirate_noderider.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1499,6 +1499,7 @@
/obj/item/clothing/mask/gas/atmos,
/obj/item/clothing/mask/whistle,
/obj/item/radio/intercom/directional/south,
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/telecomms_floor,
/area/ship/bridge)
"xy" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/pirate/pirate_tortuga.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3751,6 +3751,7 @@
pixel_y = 7
},
/obj/item/pen/collectible/pencil,
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/tech,
/area/ship/bridge)
"VO" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/roumain/srm_elder.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3998,6 +3998,7 @@
},
/obj/effect/turf_decal/spline/fancy/wood,
/obj/item/pen/collectible/paradiselost,
/obj/item/areaeditor/shuttle,
/turf/open/floor/wood/mahogany,
/area/ship/bridge)
"XW" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1661,6 +1661,7 @@
pixel_y = -2
},
/obj/item/radio/intercom/directional/south,
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/mono/dark,
/area/ship/bridge)
"Ri" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1922,6 +1922,7 @@
/obj/effect/turf_decal/borderfloorblack{
dir = 1
},
/obj/item/areaeditor/shuttle,
/turf/open/floor/plasteel/tech/grid,
/area/ship/bridge)
"Ge" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/syndicate/syndicate_twinkleshine.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1702,6 +1702,7 @@
pixel_x = -4
},
/obj/machinery/light/directional/west,
/obj/item/areaeditor/shuttle,
/turf/open/floor/mineral/plastitanium,
/area/ship/bridge)
"jT" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/terragov/terragov_chronicle.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3554,6 +3554,7 @@
/obj/item/pen/terragov{
pixel_x = -5
},
/obj/item/areaeditor/shuttle,
/turf/open/floor/wood/walnut,
/area/ship/bridge)
"Ja" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/terragov/terragov_inkwell.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -7120,6 +7120,7 @@
/obj/item/pen/terragov{
pixel_x = 2
},
/obj/item/areaeditor/shuttle,
/turf/open/floor/wood/maple,
/area/ship/bridge)
"Vo" = (
Expand Down
1 change: 1 addition & 0 deletions _maps/shuttles/terragov/terragov_paracelsus.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1876,6 +1876,7 @@
},
/obj/machinery/fax/terragov,
/obj/item/pen/collectible/xeno,
/obj/item/areaeditor/shuttle,
/turf/open/floor/wood/mahogany,
/area/ship/bridge)
"sp" = (
Expand Down
5 changes: 4 additions & 1 deletion code/controllers/subsystem/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,10 @@ SUBSYSTEM_DEF(mapping)
CHECK_LIST_EXISTS("job_slots")
var/datum/map_template/shuttle/S = new(data["map_path"], data["map_name"], TRUE)
S.file_name = data["map_path"]

if(istext(data["ship_icon"]))
S.ship_icon = data["ship_icon"]
if(istext(data["empty_space_icon"]))
S.empty_space_icon = data["empty_space_icon"]
if(istext(data["map_short_name"]))
S.short_name = data["map_short_name"]
else
Expand Down
5 changes: 4 additions & 1 deletion code/datums/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
var/port_y_offset
var/port_dir

var/ship_icon
var/empty_space_icon

var/limit = 2
var/enabled
var/short_name
Expand Down Expand Up @@ -219,7 +222,6 @@
.["templateSpawnCoeff"] = spawn_time_coeff
.["templateOfficerCoeff"] = officer_time_coeff
.["templateEnabled"] = enabled

.["templateJobs"] = list()
for(var/datum/job/job as anything in job_slots)
var/list/jobdetails = list()
Expand Down Expand Up @@ -328,6 +330,7 @@

/datum/map_template/shuttle/subshuttles
category = "subshuttles"
ship_icon = "shuttle"
starting_funds = 0

/datum/map_template/shuttle/subshuttles/pill
Expand Down
34 changes: 34 additions & 0 deletions code/game/objects/items/robot/robot_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -894,6 +894,40 @@
RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, TYPE_PROC_REF(/atom, update_icon))
update_appearance()

///Apparatus to allow Engineering/Sabo borgs to manipulate any material sheets.
/obj/item/borg/apparatus/sheet_manipulator
name = "material manipulation apparatus"
desc = "An apparatus for carrying, deploying, and manipulating sheets of material. The device can also carry custom floor tiles."
icon_state = "borg_stack_apparatus"
storable = list(/obj/item/stack/sheet,
/obj/item/stack/tile)

/obj/item/borg/apparatus/sheet_manipulator/Initialize(mapload)
update_appearance()
return ..()

/obj/item/borg/apparatus/sheet_manipulator/update_overlays()
. = ..()
var/mutable_appearance/arm = mutable_appearance(icon, "borg_stack_apparatus_arm1")
if(stored)
stored.pixel_x = 0
stored.pixel_y = 0
arm.icon_state = "borg_stack_apparatus_arm2"
var/mutable_appearance/stored_copy = new /mutable_appearance(stored)
var/underscore = findtext(stored_copy.icon_state, "_")
if(underscore)
stored_copy.icon_state = initial(stored.icon_state) //how we use the icon_state of single sheets, even with full stacks
stored_copy.layer = FLOAT_LAYER
stored_copy.plane = FLOAT_PLANE
. += stored_copy
. += arm

/obj/item/borg/apparatus/sheet_manipulator/examine()
. = ..()
if(stored)
. += "The apparatus currently has [stored] secured."
. += span_notice(" <i>Right click/i> has an option to drop the stored sheets. ")

////////////////////
//engi part holder//
////////////////////
Expand Down
19 changes: 1 addition & 18 deletions code/game/objects/items/stacks/sheets/glass.dm
Original file line number Diff line number Diff line change
Expand Up @@ -165,24 +165,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \
add_fingerprint(user)
..()

/obj/item/stack/sheet/rglass/cyborg
custom_materials = null
var/datum/robot_energy_storage/glasource
var/metcost = 250
var/glacost = 500

/obj/item/stack/sheet/rglass/cyborg/get_amount()
return min(round(source.energy / metcost), round(glasource.energy / glacost))

/obj/item/stack/sheet/rglass/cyborg/use(used, transfer = FALSE, check = TRUE) // Requires special checks, because it uses two storages
if(get_amount(used)) //ensure we still have enough energy if called in a do_after chain
source.use_charge(used * metcost)
glasource.use_charge(used * glacost)
return TRUE

/obj/item/stack/sheet/rglass/cyborg/add(amount)
source.add_charge(amount * metcost)
glasource.add_charge(amount * glacost)


/obj/item/stack/sheet/rglass/get_main_recipes()
. = ..()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@
/obj/structure/closet/secure_closet/security/sec/PopulateContents()
..()
new /obj/item/storage/belt/security/full(src)
new /obj/item/gun/ballistic/automatic/pistol/commander/no_mag(src) //WS edit - free lethals //shiptest: these comments are very funny, please dont remove them
new /obj/item/gun/ballistic/automatic/pistol/commander(src) //WS edit - free lethals //shiptest: these comments are very funny, please dont remove them

/obj/structure/closet/secure_closet/security/cargo

Expand Down
2 changes: 2 additions & 0 deletions code/modules/mob/living/silicon/robot/inventory.dm
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@
/mob/living/silicon/robot/proc/activated(obj/item/O)
if(O in held_items)
return TRUE
if(O.loc in held_items) //Apparatus check
return TRUE
return FALSE

//Helper procs for cyborg modules on the UI.
Expand Down
9 changes: 2 additions & 7 deletions code/modules/mob/living/silicon/robot/robot_modules.dm
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,6 @@
S.cost = 500
S.source = get_or_create_estorage(/datum/robot_energy_storage/glass)

else if(istype(S, /obj/item/stack/sheet/rglass/cyborg))
var/obj/item/stack/sheet/rglass/cyborg/G = S
G.source = get_or_create_estorage(/datum/robot_energy_storage/metal)
G.glasource = get_or_create_estorage(/datum/robot_energy_storage/glass)

else if(istype(S, /obj/item/stack/medical))
S.cost = 250
S.source = get_or_create_estorage(/datum/robot_energy_storage/medical)
Expand Down Expand Up @@ -446,7 +441,7 @@
/obj/item/electroadaptive_pseudocircuit,
/obj/item/stack/sheet/metal/cyborg,
/obj/item/stack/sheet/glass/cyborg,
/obj/item/stack/sheet/rglass/cyborg,
/obj/item/borg/apparatus/sheet_manipulator,
/obj/item/stack/rods/cyborg,
/obj/item/stack/tile/plasteel/cyborg,
/obj/item/stack/cable_coil/cyborg)
Expand Down Expand Up @@ -1073,7 +1068,7 @@
/obj/item/multitool/cyborg,
/obj/item/stack/sheet/metal/cyborg,
/obj/item/stack/sheet/glass/cyborg,
/obj/item/stack/sheet/rglass/cyborg,
/obj/item/borg/apparatus/sheet_manipulator,
/obj/item/stack/rods/cyborg,
/obj/item/stack/tile/plasteel/cyborg,
/obj/item/destTagger/borg,
Expand Down
1 change: 1 addition & 0 deletions code/modules/overmap/_overmap_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
var/token_type = /obj/overmap
/// The icon state the token will be set to on init.
var/token_icon_state = "object"
var/base_token_icon_state

/// The current docking ticket of this object, if any
var/datum/docking_ticket/current_docking_ticket
Expand Down
11 changes: 11 additions & 0 deletions code/modules/overmap/ships/controlled_ship_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@
/// Lazylist of /datum/ship_applications for this ship. Only used if join_mode == SHIP_JOIN_MODE_APPLY
var/list/datum/ship_application/applications

///The icon of the empty space we dock at
var/space_dock_icon

/// Short memo of the ship shown to new joins
var/memo = null
///Assoc list of remaining open job slots (job = remaining slots)
Expand Down Expand Up @@ -96,6 +99,11 @@
source_template = creation_template
unique_ship_access = source_template.unique_ship_access
job_slots = source_template.job_slots?.Copy()
if(source_template.ship_icon)
token_icon_state = source_template.ship_icon
base_token_icon_state = source_template.ship_icon
if(source_template.empty_space_icon)
space_dock_icon = source_template.empty_space_icon
if(create_shuttle)
shuttle_port = SSshuttle.load_template(creation_template, src)
if(!shuttle_port) //Loading failed, if the shuttle is supposed to be created, we need to delete ourselves.
Expand Down Expand Up @@ -203,6 +211,9 @@
if(!E)
E = new(list("x" = x, "y" = y))
if(E) //Don't make this an else
var/obj/overmap/token = E.token
if(space_dock_icon)
token.icon_state = space_dock_icon
Dock(E)

/datum/overmap/ship/controlled/burn_engines(percentage = 100, deltatime)
Expand Down
5 changes: 3 additions & 2 deletions code/modules/overmap/ships/ship_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
name = "overmap vessel"
char_rep = ">"
token_icon_state = "ship"
base_token_icon_state = "ship"
///Timer ID of the looping movement timer
var/movement_callback_id
///Max possible speed (1 tile per tick / 600 tiles per minute)
Expand Down Expand Up @@ -230,7 +231,7 @@
else if(direction & SOUTH)
char_rep = "v"
if(direction)
token.icon_state = "ship_moving"
token.icon_state = base_token_icon_state +"_moving"
token.dir = direction
else
token.icon_state = "ship"
token.icon_state = base_token_icon_state
4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-10.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: Zxaber, Vect0r
changes:
- {rscadd: Material sheet manipulator}
delete-after: true
Loading

0 comments on commit 923a487

Please sign in to comment.