-
Notifications
You must be signed in to change notification settings - Fork 69
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fundamental Equipment: roundstart loadout toolset implants (#453)
* Add first-pass on roundstart implant additions * Remove scalpel from triage actuator and replace with retractor * Remove unused integrated scalpel (also causing CI failures?) * Add initial pass on binocular optics (x2) * Further reduce integrated arc welder force to 8 from 10 * Add Blacksteel forging toolset roundstart aug * Add bureaucrat & cargo toolset, finally add right-arm implant references * Add nutriment pump and enable chest implants * Drop integrated serving tray to 3 slots instead of 7 * Associative list shenanigans * Increase toolspeed to 1.5 (per Paxil's suggestion) * Increase integrated arc welder force to 12 from 8 * Reduce shipbreaker toolset to 6pts instead of 8 (2pts per tool) * Avast, alack and woe * Increase toolspeed to 1.25 * Add approved/deny stamps to jacent toolset * Don't binocular eye-zoom when blind
- Loading branch information
1 parent
4554083
commit 8b24a8e
Showing
8 changed files
with
439 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
99 changes: 99 additions & 0 deletions
99
modular_nova/modules/roundstart_implants/code/loadout_implants.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
// Core balance principles with these roundstart augments is that they are SLOW. 2 toolspeed minimum where possible - finding actual things in round should always be better, this is for flavor and accessibility. The accessibility alone already provides these with a lot of value. | ||
|
||
// EYE IMPLANTS | ||
|
||
/obj/item/organ/internal/eyes/robotic/binoculars | ||
name = "digital magnification optics" | ||
desc = "Commonly used on frontier worlds with comparatively vast overland distances to aid in visual acquisition of coworkers and targets." | ||
actions_types = list(/datum/action/item_action/organ_action/toggle) | ||
var/zoomed = FALSE | ||
var/range_power = 2 // what kind of range modifier do we feed to the scope component? | ||
|
||
/obj/item/organ/internal/eyes/robotic/binoculars/Initialize(mapload) | ||
. = ..() | ||
AddComponent(/datum/component/scope, range_modifier = range_power) | ||
|
||
/obj/item/organ/internal/eyes/robotic/binoculars/ui_action_click(mob/user, actiontype) | ||
if (istype(actiontype, /datum/action/item_action/organ_action/toggle)) | ||
toggle_active(user) | ||
|
||
/obj/item/organ/internal/eyes/robotic/binoculars/proc/toggle_active(mob/user) | ||
//this is so unbelievably, hysterically jank. i actually cannot believe this works. what the fuck | ||
var/datum/component/scope/zoom = src.GetComponent(/datum/component/scope) | ||
if (zoomed) | ||
zoom.stop_zooming(user) | ||
zoomed = FALSE | ||
else | ||
//check if they're blind | ||
if (user.is_blind()) | ||
user.balloon_alert(user, "can't activate magnification while blind!") | ||
return | ||
|
||
zoom.zoom(user) | ||
zoomed = TRUE | ||
|
||
// ARM IMPLANTS | ||
/obj/item/organ/internal/cyberimp/arm/adjuster | ||
name = "adjuster arm implant" | ||
desc = "A miniaturized toolset implant containing a simple fingertip-mounted universal screwdriver bit with an inverted torque-wrench head. Most commonly used when rearranging furniture or other station machinery." | ||
items_to_create = list(/obj/item/wrench/integrated, /obj/item/screwdriver/integrated) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/adjuster/Initialize(mapload) | ||
. = ..() | ||
AddElement(/datum/element/manufacturer_examine, COMPANY_NAKAMURA) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/electrical_toolset | ||
name = "electrical toolset implant" | ||
desc = "Bereft of any kind of insulation to speak of, this aug has a very distinct nickname amongst frontier outpost crews: 'the sizzler'. Often used in high verticality environments where loadout space is at a premium." | ||
items_to_create = list(/obj/item/screwdriver/integrated, /obj/item/multitool/integrated) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/electrical_toolset/Initialize(mapload) | ||
. = ..() | ||
AddElement(/datum/element/manufacturer_examine, COMPANY_NAKAMURA) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/arc_welder | ||
name = "shipbreaker's toolset implant" | ||
desc = "A specialized salvage-grade implant that houses an arc welder, miniaturized crowbar within the bearer's arm, plus a fingertip torque-wrench rated for enough newtons to get the job done. Renowned across the frontier for being the 'trashy tattoo' equivalent of someone's first aug." | ||
items_to_create = list(/obj/item/wrench/integrated, /obj/item/crowbar/integrated, /obj/item/weldingtool/electric/arc_welder/integrated) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/arc_welder/Initialize(mapload) | ||
. = ..() | ||
AddElement(/datum/element/manufacturer_examine, COMPANY_FRONTIER) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/emt_triage | ||
name = "triage actuator implant" | ||
desc = "Pioneered by Interdyne Pharmaceuticals for use in their frontier postings, this set of in-arm augments allows medical staff to perform basic life-saving surgeries out on the field with the assistance of a bladed instrument." | ||
items_to_create = list(/obj/item/surgical_drapes/integrated, /obj/item/retractor/integrated, /obj/item/hemostat/integrated) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/emt_triage/Initialize(mapload) | ||
. = ..() | ||
AddElement(/datum/element/manufacturer_examine, COMPANY_INTERDYNE) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/civilian_barstaff | ||
name = "waitstaff implant" | ||
desc = "The galactic service industry demands only the finest from its (underpaid) employees, leading to the development of this sordid piece of technology which substitutes a user's organic arm for a food storage space and an integrated chamois cleaning cloth. Why?" | ||
items_to_create = list(/obj/item/storage/bag/tray/integrated, /obj/item/reagent_containers/cup/rag/integrated) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/civilian_lighter | ||
name = "thumbtip lighter implant" | ||
desc = "This extraordinarily useless implant was a product of market demand, and it exists because the galactic diaspora apparently craves the ability to light things with their thumbtips." | ||
items_to_create = list(/obj/item/lighter/integrated) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/blacksteel_forging | ||
name = "Blacksteel 'Starforge' metalworking toolset implant" | ||
desc = "A galactic favorite amongst burgeoning starfarer races with a fascination for basic metallurgy or mundane weaponry, this unlikely toolset augmentation is one of the Foundation's most popular products." | ||
items_to_create = list(/obj/item/forging/hammer/integrated, /obj/item/forging/tongs/integrated, /obj/item/forging/billow/integrated) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/blacksteel_forging/Initialize(mapload) | ||
. = ..() | ||
AddElement(/datum/element/manufacturer_examine, COMPANY_BLACKSTEEL) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/bureaucracy | ||
name = "bureaucrat's 'Jacent' toolset implant" | ||
desc = "Popular amongst coreworld corporates, this integrated toolset includes a wrist-sheathed four-colour pen, a special motorized sheaf hollow for holding up to ten pieces of galactic-standard A4 paper and a set of two fingertip stamps for approving and denying things. Does not replenish." | ||
items_to_create = list(/obj/item/pen/fourcolor/integrated, /obj/item/paper_bin/integrated, /obj/item/stamp/integrated, /obj/item/stamp/denied/integrated) | ||
|
||
/obj/item/organ/internal/cyberimp/arm/cargo | ||
name = "FTU 'Deckhand' toolset implant" | ||
desc = "Containing a fingertip-mounted universal scanner and a boxcutter, deck workers across the sector favor this cheap and effective implant as both a means of self-defense from irate consumers and for keeping a set of handy scanners quite literally, close at hand." | ||
items_to_create = list(/obj/item/universal_scanner/integrated, /obj/item/boxcutter/extended/integrated) |
83 changes: 83 additions & 0 deletions
83
modular_nova/modules/roundstart_implants/code/loadout_subtypes.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
//This entire file just contains special subtypes for the loadout_implants roundstart augs that makes them work with the system. | ||
//Purely code readability. | ||
|
||
// ARM IMPLANTS | ||
/obj/item/organ/internal/cyberimp/arm/adjuster/left_arm | ||
zone = BODY_ZONE_L_ARM | ||
slot = ORGAN_SLOT_LEFT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/adjuster/right_arm | ||
zone = BODY_ZONE_R_ARM | ||
slot = ORGAN_SLOT_RIGHT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/lighter/left_arm | ||
zone = BODY_ZONE_L_ARM | ||
slot = ORGAN_SLOT_LEFT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/lighter/right_arm | ||
zone = BODY_ZONE_R_ARM | ||
slot = ORGAN_SLOT_RIGHT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/arc_welder/left_arm | ||
zone = BODY_ZONE_L_ARM | ||
slot = ORGAN_SLOT_LEFT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/arc_welder/right_arm | ||
zone = BODY_ZONE_R_ARM | ||
slot = ORGAN_SLOT_RIGHT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/electrical_toolset/left_arm | ||
zone = BODY_ZONE_L_ARM | ||
slot = ORGAN_SLOT_LEFT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/electrical_toolset/right_arm | ||
zone = BODY_ZONE_R_ARM | ||
slot = ORGAN_SLOT_RIGHT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/emt_triage/left_arm | ||
zone = BODY_ZONE_L_ARM | ||
slot = ORGAN_SLOT_LEFT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/emt_triage/right_arm | ||
zone = BODY_ZONE_R_ARM | ||
slot = ORGAN_SLOT_RIGHT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/civilian_barstaff/left_arm | ||
zone = BODY_ZONE_L_ARM | ||
slot = ORGAN_SLOT_LEFT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/civilian_barstaff/right_arm | ||
zone = BODY_ZONE_R_ARM | ||
slot = ORGAN_SLOT_RIGHT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/civilian_lighter/left_arm | ||
zone = BODY_ZONE_L_ARM | ||
slot = ORGAN_SLOT_LEFT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/civilian_lighter/right_arm | ||
zone = BODY_ZONE_R_ARM | ||
slot = ORGAN_SLOT_RIGHT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/blacksteel_forging/left_arm | ||
zone = BODY_ZONE_L_ARM | ||
slot = ORGAN_SLOT_LEFT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/blacksteel_forging/right_arm | ||
zone = BODY_ZONE_R_ARM | ||
slot = ORGAN_SLOT_RIGHT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/bureaucracy/left_arm | ||
zone = BODY_ZONE_L_ARM | ||
slot = ORGAN_SLOT_LEFT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/bureaucracy/right_arm | ||
zone = BODY_ZONE_R_ARM | ||
slot = ORGAN_SLOT_RIGHT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/cargo/left_arm | ||
zone = BODY_ZONE_L_ARM | ||
slot = ORGAN_SLOT_LEFT_ARM_AUG | ||
|
||
/obj/item/organ/internal/cyberimp/arm/cargo/right_arm | ||
zone = BODY_ZONE_R_ARM | ||
slot = ORGAN_SLOT_RIGHT_ARM_AUG |
Oops, something went wrong.