New Mech - The Nkarrdem, Janitor Supreme (#26453)

* Nkarrdem Mech - Initial Commit

* Fabricator category, garbage bag, module designs

* Added combat tech requirement to cleaning grenade launcher

* Fixed a comment's spacing

* Construction codersprites

* Construction path updated

* Open and Broken sprites

* Codersprites, Construction fixes, Wreckage

* Better spacing for equalities, better return bool

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Equality spacing

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* playsound boolean fix

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Mech part comment spacing

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Parts list parenthesis spacing

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Spacing and boolean returns

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Another boolean return

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* More comment spacing

Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* More comment spacing

Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Ditto

Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Comment spacing

Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Comment spacing

Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Snake cased floor_buffer, removed excess comment

* Enhanced floor buffer

* Whole lot of time format changes

* HUD warning message update

* Cutting cargo

* Max equipment fix

* Spray fixes

* Light replacer fixes and defines moved

* Mop sound cooldowns

* Formatting, autodoc, spacing, and chat alert fixes

* Emag warning

* Removed excess returns, added click when spray empty

* Minor refactor of cleaning_act, removed the async mopping

* Excess user

* Formatting, Typecaching

* Replaces to_chat with occupant_message

* Type def, attack log, and timer for CGL

* Moved light replacement logic to light object as fix() proc

* Free performance is free performance

* To chat fix

* replaceLight changes

* Ranged fix

* Moved autodoc

* Early return in mop refilling

* Reordered early returns in mop action

* Applied change to cleaning documentation

* Moved acrtion, removed excess subtype

* Spray moved to internal spray item, various fixes

* Removed excess

* Internal garbage storage for garbage magnet

* Janimech storage handling, effect when emptying into disposals, user check in handle_item_insertion

* Extraneous Return

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Var declaration fix

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

---------

Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
PollardTheDragon
2024-10-10 09:40:48 +00:00
committed by GitHub
co-authored by Burzah 1080pCat Luc
parent 62b65f8a91
commit ff8e0404b9
22 changed files with 915 additions and 46 deletions
+11 -10
View File
@@ -2,12 +2,6 @@
//
// Consists of light fixtures (/obj/machinery/light) and light tube/bulb items (/obj/item/light)
// status values shared between lighting fixtures and items
#define LIGHT_OK 0
#define LIGHT_EMPTY 1
#define LIGHT_BROKEN 2
#define LIGHT_BURNED 3
#define LIGHT_ON_DELAY_LOWER 1 SECONDS
#define LIGHT_ON_DELAY_UPPER 3 SECONDS
@@ -376,6 +370,17 @@
else
underlays += emissive_appearance(icon, "[base_state]_lightmask")
/obj/machinery/light/fix(mob/user, obj/used_tool, emagged = FALSE)
if(status != LIGHT_OK)
to_chat(user, "<span class='notice'>You replace the [fitting] with [used_tool].</span>")
status = LIGHT_OK
switchcount = 0
rigged = emagged
on = has_power()
update(TRUE, TRUE, FALSE)
else
to_chat(user, "<span class='notice'>There is a working [fitting] already inserted!</span>")
return
/**
* Updates the light's 'on' state and power consumption based on [/obj/machinery/light/var/on].
*
@@ -1024,9 +1029,5 @@
#undef MAXIMUM_SAFE_BACKUP_CHARGE
#undef EMERGENCY_LIGHT_POWER_USE
#undef LIGHT_OK
#undef LIGHT_EMPTY
#undef LIGHT_BROKEN
#undef LIGHT_BURNED
#undef LIGHT_ON_DELAY_LOWER
#undef LIGHT_ON_DELAY_UPPER
+23 -2
View File
@@ -27,7 +27,7 @@
name = "Exosuit Board (\"Odysseus\" Central Control module)"
desc = "Allows for the construction of a \"Odysseus\" Central Control module."
id = "odysseus_main"
req_tech = list("programming" = 3,"biotech" = 3, "engineering" = 3)
req_tech = list("programming" = 3, "biotech" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000)
build_path = /obj/item/circuitboard/mecha/odysseus/main
@@ -37,7 +37,28 @@
name = "Exosuit Board (\"Odysseus\" Peripherals Control module)"
desc = "Allows for the construction of a \"Odysseus\" Peripheral Control module."
id = "odysseus_peri"
req_tech = list("programming" = 3,"biotech" = 3, "engineering" = 3)
req_tech = list("programming" = 3, "biotech" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000)
build_path = /obj/item/circuitboard/mecha/odysseus/peripherals
category = list("Exosuit Modules")
// Nkarrdem
/datum/design/nkarrdem_main
name = "Exosuit Board (\"Nkarrdem\" Central Control module)"
desc = "Allows for the construction of a \"Nkarrdem\" Central Control module."
id = "nkarrdem_main"
req_tech = list("programming" = 3, "biotech" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000)
build_path = /obj/item/circuitboard/mecha/odysseus/main
category = list("Exosuit Modules")
/datum/design/nkarrdem_peri
name = "Exosuit Board (\"Nkarrdem\" Peripherals Control module)"
desc = "Allows for the construction of a \"Nkarrdem\" Peripheral Control module."
id = "nkarrdem_peri"
req_tech = list("programming" = 3, "biotech" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000)
build_path = /obj/item/circuitboard/mecha/odysseus/peripherals
@@ -249,6 +249,70 @@
construction_time = 13 SECONDS
category = list("Odysseus")
//Nkarrdem
/datum/design/nkarrdem_chassis
name = "Exosuit Chassis (\"Nkarrdem\")"
id = "nkarrdem_chassis"
build_type = MECHFAB
build_path = /obj/item/mecha_parts/chassis/nkarrdem
materials = list(MAT_METAL=20000)
construction_time = 10 SECONDS
category = list("Nkarrdem")
/datum/design/nkarrdem_torso
name = "Exosuit Torso (\"Nkarrdem\")"
id = "nkarrdem_torso"
build_type = MECHFAB
build_path = /obj/item/mecha_parts/part/nkarrdem_torso
materials = list(MAT_METAL=12000)
construction_time = 18 SECONDS
category = list("Nkarrdem")
/datum/design/nkarrdem_head
name = "Exosuit Head (\"Nkarrdem\")"
id = "nkarrdem_head"
build_type = MECHFAB
build_path = /obj/item/mecha_parts/part/nkarrdem_head
materials = list(MAT_METAL=6000,MAT_GLASS=10000)
construction_time = 10 SECONDS
category = list("Nkarrdem")
/datum/design/nkarrdem_left_arm
name = "Exosuit Left Arm (\"Nkarrdem\")"
id = "nkarrdem_left_arm"
build_type = MECHFAB
build_path = /obj/item/mecha_parts/part/nkarrdem_left_arm
materials = list(MAT_METAL=6000)
construction_time = 12 SECONDS
category = list("Nkarrdem")
/datum/design/nkarrdem_right_arm
name = "Exosuit Right Arm (\"Nkarrdem\")"
id = "nkarrdem_right_arm"
build_type = MECHFAB
build_path = /obj/item/mecha_parts/part/nkarrdem_right_arm
materials = list(MAT_METAL=6000)
construction_time = 12 SECONDS
category = list("Nkarrdem")
/datum/design/nkarrdem_left_leg
name = "Exosuit Left Leg (\"Nkarrdem\")"
id = "nkarrdem_left_leg"
build_type = MECHFAB
build_path = /obj/item/mecha_parts/part/nkarrdem_left_leg
materials = list(MAT_METAL=12000)
construction_time = 13 SECONDS
category = list("Nkarrdem")
/datum/design/nkarrdem_right_leg
name = "Exosuit Right Leg (\"Nkarrdem\")"
id = "nkarrdem_right_leg"
build_type = MECHFAB
build_path = /obj/item/mecha_parts/part/nkarrdem_right_leg
materials = list(MAT_METAL=12000)
construction_time = 13 SECONDS
category = list("Nkarrdem")
//Gygax
/datum/design/gygax_chassis
name = "Exosuit Chassis (\"Gygax\")"
@@ -672,6 +736,56 @@
construction_time = 20 SECONDS
category = list("Exosuit Equipment")
/datum/design/mech_mop
name = "Exosuit Janitorial Equipment (Mega Mop)"
id = "mech_mop"
build_type = MECHFAB
req_tech = list("materials" = 4, "engineering" = 3)
build_path = /obj/item/mecha_parts/mecha_equipment/janitor/mega_mop
materials = list(MAT_METAL=5000,MAT_GLASS=3000)
construction_time = 10 SECONDS
category = list("Exosuit Equipment")
/datum/design/mech_garbage_bag
name = "Exosuit Janitorial Equipment (Garbage Magnet)"
id = "mech_garbage_bag"
build_type = MECHFAB
req_tech = list("materials" = 5, "bluespace" = 4, "engineering" = 4, "plasmatech" = 3)
build_path = /obj/item/mecha_parts/mecha_equipment/janitor/garbage_magnet
materials = list(MAT_METAL=1500,MAT_GOLD=1500,MAT_URANIUM=700,MAT_PLASMA=2000)
construction_time = 10 SECONDS
category = list("Exosuit Equipment")
/datum/design/mech_mega_spray
name = "Exosuit Janitorial Equipment (Mega Spray)"
id = "mech_mega_spray"
build_type = MECHFAB
req_tech = list("biotech" = 5, "engineering" = 6, "plasmatech" = 6)
build_path = /obj/item/mecha_parts/mecha_equipment/janitor/mega_spray
materials = list(MAT_METAL=1000,MAT_GLASS=4000,MAT_GOLD=1000,MAT_PLASMA=3000)
construction_time = 10 SECONDS
category = list("Exosuit Equipment")
/datum/design/mech_light_replacer
name = "Exosuit Janitorial Equipment (Light Replacer)"
id = "mech_light_replacer"
build_type = MECHFAB
req_tech = list("bluespace" = 7, "materials" = 5, "engineering" = 6, "plasmatech" = 6)
build_path = /obj/item/mecha_parts/mecha_equipment/janitor/light_replacer
materials = list(MAT_METAL=1500,MAT_SILVER=150,MAT_GLASS=6000,MAT_BLUESPACE=300)
construction_time = 10 SECONDS
category = list("Exosuit Equipment")
/datum/design/mech_cleaning_grenade_launcher
name = "Exosuit Janitorial Equipment (Cleaning Grenade Launcher)"
id = "mech_cleaning_grenade_launcher"
build_type = MECHFAB
req_tech = list("toxins" = 7, "engineering" = 7, "plasmatech" = 6, "combat" = 6)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/cleaner
materials = list(MAT_METAL=5000,MAT_GLASS=3000,MAT_SILVER=4000,MAT_GOLD=6000)
construction_time = 10 SECONDS
category = list("Exosuit Equipment")
/datum/design/mech_generator
name = "Exosuit Equipment (Plasma Generator)"
id = "mech_generator"