Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blackmarket Outpost & Blackmarket Shuttle Rework #5395

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7,483 changes: 7,483 additions & 0 deletions _maps/RandomRuins/SpaceRuins/nova/blackmarket_solfed.dmm

Large diffs are not rendered by default.

2,390 changes: 2,390 additions & 0 deletions _maps/shuttles/nova/ruin_solfed_luxury.dmm

Large diffs are not rendered by default.

Binary file modified icons/mob/clothing/modsuit/mod_clothing.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/modsuit/mod_clothing.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/modsuit/mod_construction.dmi
Binary file not shown.
Binary file not shown.
76 changes: 76 additions & 0 deletions tff_modular/modules/blackmarketrework/mod.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/datum/mod_theme/solfed
hardlight_theme = "alert_amber" // ALERT_AMBER

/obj/item/mod/control/pre_equipped/solfed
theme = /datum/mod_theme/solfed
applied_cell = /obj/item/stock_parts/power_store/cell/hyper
applied_modules = list(
/obj/item/mod/module/storage/large_capacity,
/obj/item/mod/module/magnetic_harness,
/obj/item/mod/module/jetpack,
/obj/item/mod/module/headprotector,
)
default_pins = list(
/obj/item/mod/module/jetpack,
/obj/item/mod/module/flashlight,
)

/datum/mod_theme/solfed
name = "solfed"
desc = "A Solar Federation armored suit, offering quicker speed at the cost of modules capacity."
extended_desc = "A Solar Federation classic, this series of MODsuits was designed for protecting its \
user from workplace hazards while doing so in style."
default_skin = "solfed"
armor_type = /datum/armor/mod_theme_solfed
complexity_max = DEFAULT_MAX_COMPLEXITY - 5
slowdown_inactive = 1
slowdown_active = 0.2
variants = list(
"solfed" = list(
/obj/item/clothing/head/mod = list(
Comment on lines +29 to +30
Copy link
Contributor

@Kocma-san Kocma-san Feb 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можно модульно иконки добавить, не меняя дми файлы ТГшные, если между этими строками вставить это:

MOD_ICON_OVERRIDE = 'путь до иконок мода',                       
MOD_WORN_ICON_OVERRIDE = 'путь до иконок отображаемых на персонаже',

И если мой ПР на нове примут - можно будет и иконки для персонажей с пальцеходящими ногами и мордами добавить без вмешательства в НЕнаши файлы

updt:
После #5414 добавьте там же ещё

MOD_DIGITIGRADE_ICON_OVERRIDE = 'путь до иконок на персонаже с пальцеходящими ногами',
MOD_SNOUT_ICON_OVERRIDE = 'путь до иконок на персонаже с мордами',

UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS,
UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT,
SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE,
UNSEALED_COVER = HEADCOVERSMOUTH,
SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF,
UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE,
SEALED_MESSAGE = HELMET_SEAL_MESSAGE,
),
/obj/item/clothing/suit/mod = list(
UNSEALED_CLOTHING = THICKMATERIAL,
SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
SEALED_INVISIBILITY = HIDEJUMPSUIT,
UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE,
SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE,
),
/obj/item/clothing/gloves/mod = list(
UNSEALED_CLOTHING = THICKMATERIAL,
SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
CAN_OVERSLOT = TRUE,
UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE,
SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE,
),
/obj/item/clothing/shoes/mod = list(
UNSEALED_CLOTHING = THICKMATERIAL,
SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
CAN_OVERSLOT = TRUE,
UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE,
SEALED_MESSAGE = BOOT_SEAL_MESSAGE,
),
),
)

/datum/armor/mod_theme_solfed
melee = 30
bullet = 30
laser = 30
energy = 30
bomb = 30
bio = 100
fire = 75
acid = 75
wound = 20

/obj/item/mod/construction/plating/solfed
theme = /datum/mod_theme/solfed
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
/datum/map_template/shuttle/ruin/solfed_luxury
prefix = "_maps/shuttles/nova/"
suffix = "solfed_luxury"
description = "A luxurious Solar Federation space exploration vessel."
name = "'Serenity II'"

/obj/machinery/computer/shuttle/serenity2
name = "FSC 'Serenity II' Console"
desc = "Used to control the FSC 'Serenity II'."
circuit = /obj/item/circuitboard/computer/serenity2
shuttleId = "serenity2"
possible_destinations = "serenity2_home;serenity2_custom;whiteship_home"

/obj/machinery/computer/camera_advanced/shuttle_docker/serenity2
name = "FSC 'Serenity II' Navigation Computer"
desc = "Used to designate a precise transit location for the FSC 'Serenity II'."
shuttleId = "serenity2"
lock_override = NONE
shuttlePortId = "serenity2_custom"
jump_to_ports = list("serenity2_home" = 1, "whiteship_home" = 1)
view_range = 0
x_offset = 5
y_offset = 1

/obj/item/circuitboard/computer/serenity2
name = "FSC 'Serenity II' Control Console (Computer Board)"
build_path = /obj/machinery/computer/shuttle/serenity2

/area/shuttle/serenity2
name = "FSC 'Serenity II'"
requires_power = FALSE
fire_detect = FALSE
forced_ambience = TRUE
ambient_buzz_vol = 15
ambientsounds = list('modular_nova/modules/encounters/sounds/alarm_radio.ogg',
'modular_nova/modules/encounters/sounds/alarm_small_09.ogg',
'modular_nova/modules/encounters/sounds/gear_loop.ogg',
'modular_nova/modules/encounters/sounds/gear_start.ogg',
'modular_nova/modules/encounters/sounds/gear_stop.ogg',
'modular_nova/modules/encounters/sounds/intercom_loop.ogg')

/area/shuttle/serenity2/cockpit
name = "FSC 'Serenity II' Control Room"

/area/shuttle/serenity2/midship
name = "FSC 'Serenity II' Midship Compartment"

/area/shuttle/serenity2/kitchen
name = "FSC 'Serenity II' Kitchen"

/area/shuttle/serenity2/restroom
name = "FSC 'Serenity II' Restroom"

/obj/docking_port/stationary/serenity2
name = "SolFed Docking Port"
shuttle_id = "serenity2_home"
roundstart_template = /datum/map_template/shuttle/ruin/solfed_luxury
dir = EAST
width = 12
height = 20
dwidth = 0
dheight = 0

/obj/docking_port/mobile/serenity2
callTime = 15 SECONDS
can_move_docking_ports = TRUE
shuttle_id = "serenity2"
launch_status = 0
movement_force = list("KNOCKDOWN"=0,"THROW"=0)
name = "FSC 'Serenity II'"
port_direction = EAST
preferred_direction = NORTH
shuttle_areas = list(
/area/shuttle/serenity2,
/area/shuttle/serenity2/cockpit,
/area/shuttle/serenity2/midship,
/area/shuttle/serenity2/kitchen,
/area/shuttle/serenity2/restroom
)

/obj/item/disk/holodisk/ruin/space/solfed_outpost
name = "sole holotape of the crashlander"
desc = "A holodisk containing a small memo."
preset_image_type = /datum/preset_holoimage/engineer
preset_record_text = {"
NAME Crashlander
SOUND PING
DELAY 20
SAY ...-O.
DELAY 50
SAY Shit, the audio got cut.
DELAY 30
SAY Guess that's what you get for using a holotape that survived an EMP blast...
DELAY 50
SAY Well, either way...
DELAY 30
SAY I, uh-... My station got destroyed. Blasted into a million bits.
DELAY 40
SAY Reduced to a mere nebula of itself.
DELAY 50
SAY Thankfully, I managed to get to the escape pods just barely in time...
DELAY 50
SAY Then... My pod crashed into this asteroid, probably due to its navigation system getting scrambled in the blast.
DELAY 60
SAY Thankfully, was already sitting in an emergency spacesuit, so I'm more or less unharmed, though a little traumatized.
DELAY 60
SAY And now, after making an escape out of that scrap pile of a pod, I, uh...
DELAY 50
SAY Found an entrance inside of this old 'n mothballed outpost in the middle of nowhere.
DELAY 50
SAY ...I mean, it looks kind of abandoned - it's all dusty, power's out, nobody's out here to greet me, uh...
DELAY 50
SAY Judging by the emblems and flags on the walls, it's probably some old SolFed shuttle depot.
DELAY 50
SAY Must've been ages since the last time this whole place had anybody step a foot inside of it.
DELAY 50
SAY Now, I still haven't finished taking a look at this wreck of a place, but...
DELAY 50
SAY While looking around through windows I think what I saw was an actual SolFed shuttle - got the insignias 'n all.
DELAY 50
SAY Granted, it probably requires some repair first before it flies, but there's nothing those gold hands of yours truly can't do, eh?
DELAY 60
SAY So-o... Guess things are actually clearing up now - I think it's all up the hill from now on.
DELAY 50
SAY Anyways, enough of me blabbering. Back to work, I guess. First time I'm venting to a holotape, sheesh...
DELAY 50
SOUND sparks
"}

Binary file not shown.
2 changes: 2 additions & 0 deletions tff_modular/modules/blackmarketrework/space.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/datum/map_template/ruin/space/nova/blackmarket
suffix = "blackmarket_solfed.dmm"
70 changes: 70 additions & 0 deletions tff_modular/modules/guns/code/machineguns/m221.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
/obj/item/gun/ballistic/automatic/ff/m221
name = "\improper M221 Submachine Gun"
desc = "A compact submachine gun firing .35 Sol. Looks like a captured weapon of the Solar Federation officers."

icon = 'tff_modular/modules/guns/icons/obj/guns32x.dmi'
icon_state = "m221"

lefthand_file = 'tff_modular/modules/guns/icons/mob/guns_lefthand.dmi'
righthand_file = 'tff_modular/modules/guns/icons/mob/guns_righthand.dmi'
inhand_icon_state = "m221"

special_mags = TRUE

bolt_type = BOLT_TYPE_OPEN

w_class = WEIGHT_CLASS_NORMAL
weapon_weight = WEAPON_MEDIUM
slot_flags = ITEM_SLOT_BELT

accepted_magazine_type = /obj/item/ammo_box/magazine/ff/m221
spawn_magazine_type = /obj/item/ammo_box/magazine/ff/m221

fire_sound = 'tff_modular/modules/guns/sounds/m221.ogg'
can_suppress = FALSE

burst_size = 3
fire_delay = 0.2 SECONDS

spread = 7.5

projectile_damage_multiplier = 0.85

/obj/item/gun/ballistic/automatic/ff/m221/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_CARWO)

/obj/item/gun/ballistic/automatic/ff/m221/examine(mob/user)
. = ..()
. += span_notice("You can <b>examine closer</b> to learn a little more about this weapon.")

/obj/item/gun/ballistic/automatic/ff/m221/examine_more(mob/user)
. = ..()

. += "The M221 Submachine Gun was originally produced in the Solar Federation. \
These weapons were supplied to peacekeeping forces on SolFed frontiers."

return .


/obj/item/ammo_box/magazine/ff/m221
name = "\improper Sol pistol magazine"
desc = "A standard size magazine for SolFed pistols, holds twelve rounds."

icon = 'tff_modular/modules/guns/icons/obj/ammo.dmi'
icon_state = "m221_standart"
base_icon_state = "m221_standart"

multiple_sprites = AMMO_BOX_FULL_EMPTY

w_class = WEIGHT_CLASS_SMALL

ammo_type = /obj/item/ammo_casing/c35sol
caliber = CALIBER_SOL35SHORT
max_ammo = 24

/obj/item/ammo_box/magazine/ff/m221/update_icon_state()
. = ..()
icon_state = "[base_icon_state]-[round(ammo_count(), 2)]"

/obj/item/ammo_box/magazine/ff/m221/starts_empty
start_empty = TRUE
Binary file added tff_modular/modules/guns/icons/mob/guns_lefthand.dmi
Binary file not shown.
Binary file not shown.
Binary file added tff_modular/modules/guns/icons/obj/ammo.dmi
Binary file not shown.
Binary file added tff_modular/modules/guns/icons/obj/guns32x.dmi
Binary file not shown.
Binary file added tff_modular/modules/guns/sounds/m221.ogg
Binary file not shown.
4 changes: 4 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -8945,6 +8945,9 @@
#include "tff_modular\modules\bar_jukebox\code\jukebox_subsystem.dm"
#include "tff_modular\modules\bar_jukebox\code\ravemod.dm"
#include "tff_modular\modules\barsigns\code\barsigns.dm"
#include "tff_modular\modules\blackmarketrework\mod.dm"
#include "tff_modular\modules\blackmarketrework\space.dm"
#include "tff_modular\modules\blackmarketrework\solfed_luxury_shuttle\shuttles.dm"
#include "tff_modular\modules\blooper\atoms_movable.dm"
#include "tff_modular\modules\blooper\bark.dm"
#include "tff_modular\modules\blooper\bark_list.dm"
Expand Down Expand Up @@ -9009,6 +9012,7 @@
#include "tff_modular\modules\extra_vv\extra_carbon_vv.dm"
#include "tff_modular\modules\gun_balance\pistols.dm"
#include "tff_modular\modules\guncase\guncase.dm"
#include "tff_modular\modules\guns\code\machineguns\m221.dm"
#include "tff_modular\modules\holidays_decor\halloween\halloween-craft.dm"
#include "tff_modular\modules\holidays_decor\halloween\halloween-decor.dm"
#include "tff_modular\modules\holidays_decor\new_year\decorations.dm"
Expand Down
Loading