Skip to content

Commit

Permalink
Merge branch 'master' into drywall
Browse files Browse the repository at this point in the history
  • Loading branch information
Gristlebee authored Sep 1, 2024
2 parents e430237 + 7810e23 commit 1358d48
Show file tree
Hide file tree
Showing 62 changed files with 1,290 additions and 443 deletions.
2 changes: 1 addition & 1 deletion _maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2417,7 +2417,7 @@
/obj/item/toy/plush/moth/firewatch,
/obj/item/toy/plush/lizardplushie,
/obj/item/toy/plush/knight,
/obj/item/toy/prize/mauler,
/obj/item/toy/prize/touro,
/obj/item/toy/talking/AI,
/turf/open/floor/plasteel/mono/white,
/area/ruin/rockplanet/shippingdockwarehouse)
Expand Down
6 changes: 3 additions & 3 deletions _maps/shuttles/solgov/solgov_chronicle.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@
/obj/item/door_remote/captain,
/obj/item/storage/belt/sabre/solgov,
/obj/item/clothing/under/solgov/dress,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain,
/obj/item/clothing/suit/armor/vest/solgov/captain,
/obj/item/stamp/solgov,
/obj/item/clothing/suit/armor/solgov_trenchcoat,
/obj/item/spacecash/bundle/loadsamoney,
Expand Down Expand Up @@ -955,7 +955,7 @@
/obj/item/clothing/gloves/combat,
/obj/item/radio/headset/solgov/alt,
/obj/item/storage/backpack,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov,
/obj/item/clothing/suit/armor/vest/solgov,
/obj/effect/turf_decal/techfloor{
dir = 1
},
Expand Down Expand Up @@ -4105,7 +4105,7 @@
/area/ship/crew/office)
"OU" = (
/obj/item/clothing/neck/cloak/overseer,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov/overseer,
/obj/item/clothing/suit/armor/vest/solgov/overseer,
/obj/structure/closet/secure_closet/head_of_personnel{
anchored = 1;
name = "\proper overseer's locker";
Expand Down
14 changes: 7 additions & 7 deletions _maps/shuttles/solgov/solgov_inkwell.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@
/obj/item/clothing/gloves/combat,
/obj/item/radio/headset/solgov/alt,
/obj/item/storage/backpack,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov,
/obj/item/clothing/suit/armor/vest/solgov,
/obj/effect/turf_decal/techfloor,
/obj/effect/turf_decal/industrial/outline/red,
/obj/structure/window/reinforced{
Expand Down Expand Up @@ -308,7 +308,7 @@
/obj/item/clothing/gloves/combat,
/obj/item/radio/headset/solgov/alt,
/obj/item/storage/backpack,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov,
/obj/item/clothing/suit/armor/vest/solgov,
/obj/effect/turf_decal/techfloor,
/obj/effect/turf_decal/industrial/outline/red,
/obj/structure/window/reinforced{
Expand Down Expand Up @@ -1526,9 +1526,9 @@
/obj/structure/closet/cabinet{
name = "armor cabinet"
},
/obj/item/clothing/suit/armor/vest/bulletproof/solgov,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov,
/obj/item/clothing/suit/armor/vest/solgov,
/obj/item/clothing/suit/armor/vest/solgov,
/obj/item/clothing/suit/armor/vest/solgov,
/obj/item/clothing/head/solgov/sonnensoldner,
/obj/item/clothing/head/solgov/sonnensoldner,
/obj/item/clothing/head/solgov/sonnensoldner,
Expand Down Expand Up @@ -3647,7 +3647,7 @@
/obj/item/clothing/gloves/combat,
/obj/item/radio/headset/solgov/alt,
/obj/item/storage/backpack,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov,
/obj/item/clothing/suit/armor/vest/solgov,
/obj/effect/turf_decal/techfloor,
/obj/effect/turf_decal/industrial/outline/red,
/turf/open/floor/plasteel/white,
Expand Down Expand Up @@ -5839,7 +5839,7 @@
/area/ship/cargo)
"LB" = (
/obj/item/clothing/head/solgov/captain,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain,
/obj/item/clothing/suit/armor/vest/solgov/captain,
/obj/item/clothing/under/solgov/formal/captain,
/obj/item/clothing/shoes/laceup,
/obj/item/clothing/gloves/combat,
Expand Down
4 changes: 2 additions & 2 deletions _maps/shuttles/solgov/solgov_paracelsus.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2463,7 +2463,7 @@
/area/ship/bridge)
"ye" = (
/obj/item/clothing/neck/cloak/overseer,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov/overseer,
/obj/item/clothing/suit/armor/vest/solgov/overseer,
/obj/structure/closet/secure_closet/head_of_personnel{
anchored = 1;
name = "\proper overseer's locker";
Expand Down Expand Up @@ -3560,7 +3560,7 @@
/area/ship/crew/crewtwo)
"IX" = (
/obj/item/clothing/head/solgov/captain,
/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain,
/obj/item/clothing/suit/armor/vest/solgov/captain,
/obj/item/clothing/under/solgov/formal/captain,
/obj/item/clothing/shoes/laceup,
/obj/item/clothing/gloves/combat,
Expand Down
2 changes: 1 addition & 1 deletion _maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -4270,7 +4270,7 @@
/turf/open/floor/plating,
/area/ship/engineering)
"PA" = (
/obj/structure/mecha_wreckage/mauler,
/obj/structure/mecha_wreckage/touro,
/obj/effect/turf_decal/techfloor{
dir = 8
},
Expand Down
6 changes: 3 additions & 3 deletions _maps/shuttles/syndicate/syndicate_panacea.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2877,7 +2877,7 @@
pixel_x = 8;
pixel_y = -6
},
/obj/item/clothing/suit/armor/vest/bulletproof/suns/xo{
/obj/item/clothing/suit/armor/vest/suns/xo{
pixel_y = 7;
pixel_x = -5
},
Expand Down Expand Up @@ -3100,7 +3100,7 @@
pixel_x = 6;
pixel_y = -9
},
/obj/item/clothing/suit/armor/vest/bulletproof/suns/captain{
/obj/item/clothing/suit/armor/vest/suns/captain{
pixel_y = -1
},
/obj/item/clothing/under/syndicate/suns/captain{
Expand Down Expand Up @@ -4895,7 +4895,7 @@
pixel_x = -1;
pixel_y = 4
},
/obj/item/clothing/suit/armor/vest/bulletproof/suns{
/obj/item/clothing/suit/armor/vest/suns{
pixel_y = 4;
pixel_x = 8
},
Expand Down
4 changes: 2 additions & 2 deletions _maps/shuttles/syndicate/syndicate_twinkleshine.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -7324,8 +7324,8 @@
/obj/item/clothing/glasses/hud/security/suns,
/obj/item/clothing/gloves/tackler/dolphin/suns,
/obj/item/clothing/suit/toggle/suns/pkcoat,
/obj/item/clothing/suit/armor/vest/bulletproof/suns/hos,
/obj/item/clothing/suit/armor/vest/bulletproof/suns/ehos,
/obj/item/clothing/suit/armor/vest/suns/hos,
/obj/item/clothing/suit/armor/vest/suns/ehos,
/obj/item/clothing/head/welding/suns/hos,
/obj/item/clothing/under/syndicate/suns/pkuniform,
/obj/item/radio/headset/syndicate/alt{
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/blackmarket.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@
#define SHIPPING_METHOD_LTSRBT "LTSRBT"
// Throws the item from somewhere at the uplink.
#define SHIPPING_METHOD_LAUNCH "Launch"
// Drops the item somewhere on the map
#define SHIPPING_METHOD_DEAD_DROP "Dead drop"

68 changes: 64 additions & 4 deletions code/controllers/subsystem/blackmarket.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ SUBSYSTEM_DEF(blackmarket)
/// Descriptions for each shipping methods.
var/shipping_method_descriptions = list(
SHIPPING_METHOD_LAUNCH="Launches the item at your coordinates from across deep space. Cheap, but you might not recieve your item at all. We recommend being stationary in space, away from any large structures, for best results.",
SHIPPING_METHOD_LTSRBT="Long-To-Short-Range-Bluespace-Transceiver, a machine that prepares items at a remote storage location and then teleports them to the location of the LTRSBT."
SHIPPING_METHOD_DEAD_DROP="Our couriers will fire your item via orbital drop pod at the nearest safe abandoned structure for discreet pick up. Reliable, but you'll have to find your package yourself. We accept no responsibility for lost packages if you try to do this in empty space or the outpost.",
SHIPPING_METHOD_LTSRBT="Long-To-Short-Range-Bluespace-Transceiver, a machine that prepares items at a remote storage location and then teleports them to the location of the LTRSBT. Secure, quick and reliable, though it ain't cheap to do."
)

/// List of all existing markets.
Expand All @@ -32,6 +33,9 @@ SUBSYSTEM_DEF(blackmarket)
markets[M].add_item(item, FALSE)

qdel(I)
for(var/market in markets)
var/datum/blackmarket_market/market_to_cycle = markets[market]
market_to_cycle.cycle_stock()
. = ..()

/datum/controller/subsystem/blackmarket/fire(resumed)
Expand Down Expand Up @@ -62,16 +66,72 @@ SUBSYSTEM_DEF(blackmarket)
var/startSide = pick(GLOB.cardinals)
var/turf/T = get_turf(purchase.uplink)
var/datum/virtual_level/vlevel = T.get_virtual_level()
var/pickedloc = vlevel.get_side_turf(startSide)
var/turf/pickedloc

switch(startSide)
if(NORTH)
pickedloc = locate(T.x, (vlevel.high_y - vlevel.reserved_margin),T.z)
if(EAST)
pickedloc = locate((vlevel.high_x - vlevel.reserved_margin), T.y ,T.z)
if(SOUTH)
pickedloc = locate(T.x, (vlevel.low_y + vlevel.reserved_margin),T.z)
if(WEST)
pickedloc = locate((vlevel.low_x + vlevel.reserved_margin), T.y ,T.z)
else
pickedloc = vlevel.get_side_turf(startSide)

var/atom/movable/item = purchase.entry.spawn_item(pickedloc)
item.safe_throw_at(purchase.uplink, 3, 3, spin = FALSE)

item.Move(get_step(pickedloc,get_dir(pickedloc,T)))
to_chat(recursive_loc_check(purchase.uplink.loc, /mob), "<span class='notice'>[purchase.uplink] flashes a message noting the order is being launched at your coordinates from [dir2text(startSide)].</span>")

queued_purchases -= purchase
qdel(purchase)
// Drop the order somewhere with the bounds of overmap encounter's ruin
if(SHIPPING_METHOD_DEAD_DROP)
var/datum/overmap/dynamic/overmap_loc = SSovermap.get_overmap_object_by_location(purchase.uplink, TRUE)
var/datum/virtual_level/zlevel = purchase.uplink.get_virtual_level()
var/turf/landing_turf
var/datum/map_template/ruin
if(!isnull(overmap_loc))
for(var/possible_ruin in overmap_loc.ruin_turfs)
var/turf/lowerbound = overmap_loc.ruin_turfs[possible_ruin]
ruin = overmap_loc.spawned_ruins[possible_ruin]
var/list/possible_ruin_turfs = zlevel.get_block_portion(lowerbound.x,lowerbound.y,(lowerbound.x + ruin.width),(lowerbound.y + ruin.height))
for(var/cycle in 1 to length(possible_ruin_turfs))
var/potential_turf = pick_n_take(possible_ruin_turfs)
if(!isopenturf(potential_turf))
continue
var/turf/open/potential_open_turf = potential_turf
if(ischasm(potential_open_turf))
continue
if(islava(potential_open_turf))
var/turf/open/lava/potential_lava_floor = potential_open_turf
if(!potential_lava_floor.is_safe())
continue
if(istype(potential_open_turf, /turf/open/water/acid))
var/turf/open/water/acid/potential_acid_floor = potential_open_turf
if(!potential_acid_floor.is_safe_to_cross())
continue
if(potential_open_turf.is_blocked_turf())
continue

//yippee, there's a viable turf for the package to land on
landing_turf = potential_open_turf
to_chat(recursive_loc_check(purchase.uplink.loc, /mob),"<span class='notice'>[purchase.uplink] flashes a message noting the order is being launched at a structure in your local area.</span>")
break

if(!landing_turf)
landing_turf = zlevel.get_random_position_in_margin()
to_chat(recursive_loc_check(purchase.uplink.loc, /mob), "<span class='notice'>[purchase.uplink] flashes a message that the pod was unable to reach it's designated landing spot, and has landed somewhere in the local area instead.</span>")

var/obj/structure/closet/supplypod/pod = new()
pod.setStyle(STYLE_BOX)
purchase.entry.spawn_item(pod)
pod.explosionSize = list(0,0,0,1)
new /obj/effect/pod_landingzone(landing_turf, pod)

queued_purchases -= purchase
qdel(purchase)
if(MC_TICK_CHECK)
break

Expand Down
8 changes: 5 additions & 3 deletions code/controllers/subsystem/overmap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,7 @@ SUBSYSTEM_DEF(overmap)
mapgen.generate_turfs(vlevel.get_unreserved_block())

var/list/ruin_turfs = list()
var/list/ruin_templates = list()
if(used_ruin)
var/turf/ruin_turf = locate(
rand(
Expand All @@ -302,6 +303,7 @@ SUBSYSTEM_DEF(overmap)
)
used_ruin.load(ruin_turf)
ruin_turfs[used_ruin.name] = ruin_turf
ruin_templates[used_ruin.name] = used_ruin

// fill in the turfs, AFTER generating the ruin. this prevents them from generating within the ruin
// and ALSO prevents the ruin from being spaced when it spawns in
Expand Down Expand Up @@ -376,7 +378,7 @@ SUBSYSTEM_DEF(overmap)
quaternary_dock.dwidth = 0
docking_ports += quaternary_dock

return list(mapzone, docking_ports, ruin_turfs)
return list(mapzone, docking_ports, ruin_turfs, ruin_templates)

/**
* Returns a random, usually empty turf in the overmap
Expand Down Expand Up @@ -418,10 +420,10 @@ SUBSYSTEM_DEF(overmap)
* Gets the parent overmap object (e.g. the planet the atom is on) for a given atom.
* * source - The object you want to get the corresponding parent overmap object for.
*/
/datum/controller/subsystem/overmap/proc/get_overmap_object_by_location(atom/source)
/datum/controller/subsystem/overmap/proc/get_overmap_object_by_location(atom/source, exclude_ship = FALSE)
var/turf/T = get_turf(source)
var/area/ship/A = get_area(source)
while(istype(A) && A.mobile_port)
while(istype(A) && A.mobile_port && !exclude_ship)
if(A.mobile_port.current_ship)
return A.mobile_port.current_ship
A = A.mobile_port.underlying_turf_area[T]
Expand Down
6 changes: 6 additions & 0 deletions code/datums/map_zones.dm
Original file line number Diff line number Diff line change
Expand Up @@ -533,6 +533,9 @@
/datum/virtual_level/proc/get_block()
return block(locate(low_x,low_y,z_value), locate(high_x,high_y,z_value))

/datum/virtual_level/proc/get_block_portion(lower_x, lower_y, higher_x, higher_y)
return block(locate(lower_x,lower_y,z_value), locate(higher_x,higher_y,z_value))

/datum/virtual_level/proc/get_unreserved_block()
return block(locate(low_x + reserved_margin, low_y + reserved_margin, z_value), locate(high_x - reserved_margin,high_y - reserved_margin,z_value))

Expand All @@ -542,6 +545,9 @@
/datum/virtual_level/proc/get_random_position()
return locate(rand(low_x, high_x), rand(low_y, high_y), z_value)

/datum/virtual_level/proc/get_random_position_in_margin()
return locate(rand(low_x + reserved_margin, high_x - reserved_margin), rand(low_y + reserved_margin, high_y - reserved_margin), z_value)

/datum/virtual_level/proc/get_below_turf(turf/Turf)
if(!down_linkage)
return
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/computer/arcade.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
/obj/item/toy/prize/honk = 1,
/obj/item/toy/prize/marauder = 1,
/obj/item/toy/prize/seraph = 1,
/obj/item/toy/prize/mauler = 1,
/obj/item/toy/prize/touro = 1,
/obj/item/toy/prize/odysseus = 1,
/obj/item/toy/prize/phazon = 1,
/obj/item/toy/prize/reticence = 1,
Expand Down
14 changes: 7 additions & 7 deletions code/game/mecha/combat/marauder.dm
Original file line number Diff line number Diff line change
Expand Up @@ -71,22 +71,22 @@
ME.attach(src)
max_ammo()

/obj/mecha/combat/marauder/mauler
desc = "Heavy-duty, combat exosuit, developed off of the existing Marauder model."
name = "\improper Mauler"
icon_state = "mauler"
/obj/mecha/combat/marauder/touro
desc = "A powerful ICW-era combat exosuit, developed off of Nanotrasen's Marauder model by Cybersun Biodynamics."
name = "\improper Touro"
icon_state = "touro"
operation_req_access = list(ACCESS_SYNDICATE)
internals_req_access = list(ACCESS_SYNDICATE)
wreckage = /obj/structure/mecha_wreckage/mauler
wreckage = /obj/structure/mecha_wreckage/touro
max_equip = 6
destruction_sleep_duration = 20

/obj/mecha/combat/marauder/mauler/Initialize()
/obj/mecha/combat/marauder/touro/Initialize()
. = ..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/thrusters/ion(src)
ME.attach(src)

/obj/mecha/combat/marauder/mauler/loaded/Initialize()
/obj/mecha/combat/marauder/touro/loaded/Initialize()
. = ..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg(src)
ME.attach(src)
Expand Down
2 changes: 1 addition & 1 deletion code/game/mecha/equipment/weapons/mecha_ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@

/obj/item/mecha_ammo/lmg
name = "machine gun ammo"
desc = "A box of linked ammunition, designed for the Ultra AC 2 exosuit weapon."
desc = "A box of linked ammunition, designed for the UMG-2 exosuit weapon."
icon_state = "lmg"
rounds = 300
ammo_type = "lmg"
Expand Down
8 changes: 4 additions & 4 deletions code/game/mecha/equipment/weapons/weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@


/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine
name = "\improper FNX-99 \"Hades\" Carbine"
name = "\improper FNX-99 \"Phoenix\" Exosuit Carbine"
desc = "A weapon for combat exosuits. Shoots incendiary bullets."
icon_state = "mecha_carbine"
equip_cooldown = 10
Expand All @@ -323,7 +323,7 @@
harmful = TRUE

/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot
name = "\improper LBX AC 10 \"Scattershot\""
name = "\improper LBX-10 \"Scattershot\" Heavy Shotgun"
desc = "A weapon for combat exosuits. Shoots a spread of pellets."
icon_state = "mecha_scatter"
equip_cooldown = 20
Expand All @@ -337,7 +337,7 @@
ammo_type = "scattershot"

/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg
name = "\improper Ultra AC 2"
name = "\improper UMG-2 Mounted Machine Gun"
desc = "A weapon for combat exosuits. Shoots a rapid, three shot burst."
icon_state = "mecha_uac2"
equip_cooldown = 10
Expand All @@ -353,7 +353,7 @@
ammo_type = "lmg"

/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg/mounted
name = "\improper mounted HMG"
name = "\improper Mounted Heavy Machine Gun"
desc = "A heavy calibre machine gun commonly used by motorized forces, famed for it's ability to give people on the recieving end more holes than normal. It is modified to be attached to vehicles"
projectile = /obj/projectile/bullet/lmg
fire_sound = 'sound/weapons/gun/hmg/hmg.ogg'
Expand Down
Loading

0 comments on commit 1358d48

Please sign in to comment.