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

Manually Ports That /tg/ Kinesis Rework But With Even More Powercreep #310

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 8 additions & 2 deletions code/modules/mod/modules/_module.dm
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,8 @@
var/prebuilt = FALSE
/// If the core is removable once socketed.
var/core_removable = TRUE
/// DOPPLER EDIT ADDITION - If true, removes all mentions of the anomaly core inside and interactions with the core inside. This is done so subtypes can inherit behaviors and become anomaly locked.
Copy link
Collaborator

Choose a reason for hiding this comment

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

you can add this in a modular file instead

var/dummy_cored = FALSE

/obj/item/mod/module/anomaly_locked/Initialize(mapload)
. = ..()
Expand All @@ -442,7 +444,7 @@

/obj/item/mod/module/anomaly_locked/examine(mob/user)
. = ..()
if(!length(accepted_anomalies))
if(!length(accepted_anomalies) || dummy_cored) // DOPPLER EDIT ADDITION - don't add mentions of a core if it's dummy cored
return
if(core)
. += span_notice("There is a [core.name] installed in it. [core_removable ? "You could remove it with a <b>screwdriver</b>..." : "Unfortunately, due to a design quirk, it's unremovable."]")
Expand All @@ -457,6 +459,8 @@

/obj/item/mod/module/anomaly_locked/on_select()
if(!core)
if(dummy_cored)
stack_trace("[src] is dummy cored but doesn't have a core! this is never supposed to happen, please report this bug.") //DOPPLER EDIT ADDITION - For The Kinesis Rework
balloon_alert(mod.wearer, "no core!")
return
return ..()
Expand All @@ -472,7 +476,7 @@
return TRUE

/obj/item/mod/module/anomaly_locked/attackby(obj/item/item, mob/living/user, params)
if(item.type in accepted_anomalies)
if((item.type in accepted_anomalies) && !dummy_cored) // DOPPLER EDIT ADDITION - no need for this if it's dummy cored
if(core)
balloon_alert(user, "core already in!")
return
Expand All @@ -487,6 +491,8 @@

/obj/item/mod/module/anomaly_locked/screwdriver_act(mob/living/user, obj/item/tool)
. = ..()
if(dummy_cored) // DOPPLER EDIT ADDITION - no need for core interactions if it's dummy cored
return
if(!core)
balloon_alert(user, "no core!")
return
Expand Down
46 changes: 40 additions & 6 deletions code/modules/mod/modules/module_kinesis.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
Oddly enough, it doesn't seem to work on living creatures."
icon_state = "kinesis"
module_type = MODULE_ACTIVE
complexity = 3
complexity = 2 //DOPPLER EDIT CHANGE - For The Kinesis Rework
Copy link
Collaborator

Choose a reason for hiding this comment

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

you can change this in a modular file

use_energy_cost = DEFAULT_CHARGE_DRAIN * 3
incompatible_modules = list(/obj/item/mod/module/anomaly_locked/kinesis)
cooldown_time = 0.5 SECONDS
Expand All @@ -34,6 +34,8 @@
var/datum/looping_sound/gravgen/kinesis/soundloop
/// The cooldown between us hitting objects with kinesis.
COOLDOWN_DECLARE(hit_cooldown)
/// DOPPLER EDIT ADDITION - Can this module launch grabbed items?
Copy link
Collaborator

Choose a reason for hiding this comment

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

you can add this in a modular file

var/can_launch = TRUE

/obj/item/mod/module/anomaly_locked/kinesis/Initialize(mapload)
. = ..()
Expand Down Expand Up @@ -157,7 +159,7 @@
/obj/item/mod/module/anomaly_locked/kinesis/proc/grab_atom(atom/movable/target)
grabbed_atom = target
if(isliving(grabbed_atom))
grabbed_atom.add_traits(list(TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), REF(src))
grabbed_atom.add_traits(list(TRAIT_IMMOBILIZED), REF(src)) //DOPPLER EDIT CHANGE - For The Kinesis Rework - Original: grabbed_atom.add_traits(list(TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), REF(src))
RegisterSignal(grabbed_atom, COMSIG_MOB_STATCHANGE, PROC_REF(on_statchange))
ADD_TRAIT(grabbed_atom, TRAIT_NO_FLOATING_ANIM, REF(src))
RegisterSignal(grabbed_atom, COMSIG_MOVABLE_SET_ANCHORED, PROC_REF(on_setanchored))
Expand Down Expand Up @@ -223,6 +225,8 @@
clear_grab()

/obj/item/mod/module/anomaly_locked/kinesis/proc/launch(atom/movable/launched_object)
if(!can_launch) //DOPPLER EDIT ADDITION - For The Kinesis Rework
return
playsound(launched_object, 'sound/effects/magic/repulse.ogg', 100, TRUE)
RegisterSignal(launched_object, COMSIG_MOVABLE_IMPACT, PROC_REF(launch_impact))
var/turf/target_turf = get_turf_in_angle(get_angle(mod.wearer, launched_object), get_turf(src), 10)
Expand Down Expand Up @@ -262,19 +266,49 @@
removable = FALSE
core_removable = FALSE

/// DOPPLER EDIT START - weak version of the kinesis module for engineers
Copy link
Collaborator

Choose a reason for hiding this comment

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

this entire block you can add in a module file

/obj/item/mod/module/anomaly_locked/kinesis/weak
name = "MOD magnalock module"
desc = "A modular plug-in to the forearm, an experimental unit used for handling cargo and heavy objects. \
This piece of technology allows the user to generate precise magnetic fields, \
letting them move objects objects at a limited range. \
Oddly enough, it doesn't seem to work on living creatures."
grab_range = 3
can_launch = FALSE
dummy_cored = TRUE
prebuilt = TRUE

/// researchable and printable
/obj/item/mod/module/anomaly_locked/kinesis/upgraded
Copy link
Collaborator

Choose a reason for hiding this comment

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

same here

name = "MOD experimental kinesis module"
desc = "A modular plug-in to the forearm, recently developed in Nanotrasen labs based off the magnalock module using miniature gravity generators. \
This piece of technology allows the user to generate precise anti-gravity fields, \
letting them move objects as small as a titanium rod to as large as industrial machinery from a longer range! \
Oddly enough, conscious beings are able to resist out of its fields."
can_launch = TRUE
dummy_cored = TRUE
prebuilt = TRUE
stat_required = UNCONSCIOUS

// DOPPLER EDIT END - requires an anomaly core, but can grab live people
/obj/item/mod/module/anomaly_locked/kinesis/plus
name = "MOD kinesis+ module"
desc = "A modular plug-in to the forearm, this module was recently redeveloped in secret. \
name = "MOD kinesis plus module" // DOPLPER EDIT CHANGE - For The Kinesis Rework - Original: "MOD kinesis+ module"
Copy link
Collaborator

Choose a reason for hiding this comment

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

you can change all these variables in a modular file

desc = "A modular plug-in to the forearm, this module was developed with the technology of an anomaly core. \
The bane of all ne'er-do-wells, the kinesis+ module is a powerful tool that allows the user \
to manipulate the world around them. Like its older counterpart, it's capable of manipulating \
structures, machinery, vehicles, and, thanks to the fruitful efforts of its creators - living beings."
complexity = 0
prebuilt = TRUE
prebuilt = FALSE
stat_required = CONSCIOUS

// DOPPLER EDIT START - For The Kinesis Rework
Copy link
Collaborator

Choose a reason for hiding this comment

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

and here

/obj/item/mod/module/anomaly_locked/kinesis/plus/prebuilt
prebuilt = TRUE
// DOPPLER EDIT END

/// Admin suit version of kinesis. Can grab anything at any range, may enable phasing through walls.
/obj/item/mod/module/anomaly_locked/kinesis/admin
name = "MOD kinesis++ module"
name = "MOD omega kinesis++ module" // DOPPLER EDIT CHANGE - For The Kinesis Rework - Original: "MOD kinesis++ module"
Copy link
Collaborator

Choose a reason for hiding this comment

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

you can do this rename in a module file

desc = "A modular plug-in to the forearm, this module was recently reredeveloped in super secret. \
This one can force some of the grasped objects to phase through walls. Oh no."
complexity = 0
Expand Down
16 changes: 14 additions & 2 deletions code/modules/research/designs/mechfabricator_designs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2757,19 +2757,31 @@
)

/datum/design/module/mod_kinesis
name = "Kinesis Module"
name = "Experimental Kinesis Module" //DOPPLER EDIT CHANGE - For The Kinesis Rework - Original: "Kinesis Module"
Copy link
Collaborator

Choose a reason for hiding this comment

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

this can be renamed modularly

id = "mod_kinesis"
materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT *1.25,
/datum/material/glass =SHEET_MATERIAL_AMOUNT,
/datum/material/uranium =HALF_SHEET_MATERIAL_AMOUNT,
/datum/material/bluespace =HALF_SHEET_MATERIAL_AMOUNT,
)
build_path = /obj/item/mod/module/anomaly_locked/kinesis
build_path = /obj/item/mod/module/anomaly_locked/kinesis/upgraded //DOPPLER EDIT CHANGE - For The Kinesis Rework - Original: /obj/item/mod/module/anomaly_locked/kinesis
Copy link
Collaborator

Choose a reason for hiding this comment

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

this can be changed modular

category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
)

//DOPPLER EDIT ADDITION START - For The Kinesis Rework
Copy link
Collaborator

Choose a reason for hiding this comment

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

this can be added in a modular file

/datum/design/module/mod_kinesis/weak
materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT *1.25,
/datum/material/glass =SHEET_MATERIAL_AMOUNT,
/datum/material/uranium =SHEET_MATERIAL_AMOUNT,
)
name = "Magnalock Module"
id = "mod_kinesis_weak"
build_path = /obj/item/mod/module/anomaly_locked/kinesis/weak
//DOPPLER EDIT END

/datum/design/module/fishing_glove
name = "MOD Fishing Glove Module"
id = "mod_fishing"
Expand Down
1 change: 1 addition & 0 deletions code/modules/research/techweb/nodes/modsuit_nodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@
"mod_magboot",
"mod_constructor",
"mod_mister_atmos",
"mod_kinesis_weak", //DOPPLR EDIT ADDITION - For The Kinesis Rework
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
announce_channels = list(RADIO_CHANNEL_SCIENCE, RADIO_CHANNEL_ENGINEERING)
Expand Down
101 changes: 101 additions & 0 deletions modular_doppler/modsuits/modsuit_overwrites.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
/obj/item/mod/control/pre_equipped/engineering
theme = /datum/mod_theme/engineering
applied_modules = list(
/obj/item/mod/module/storage,
/obj/item/mod/module/welding,
/obj/item/mod/module/rad_protection,
/obj/item/mod/module/flashlight,
/obj/item/mod/module/tether,
/obj/item/mod/module/magboot,
/obj/item/mod/module/anomaly_locked/kinesis/weak,
)
default_pins = list(
/obj/item/mod/module/magboot,
/obj/item/mod/module/flashlight,
/obj/item/mod/module/tether,
/obj/item/mod/module/anomaly_locked/kinesis/weak,
)

/obj/item/mod/control/pre_equipped/advanced
theme = /datum/mod_theme/advanced
applied_cell = /obj/item/stock_parts/power_store/cell/super
applied_modules = list(
/obj/item/mod/module/storage/large_capacity,
/obj/item/mod/module/welding,
/obj/item/mod/module/rad_protection,
/obj/item/mod/module/flashlight,
/obj/item/mod/module/jetpack,
/obj/item/mod/module/headprotector,
/obj/item/mod/module/tether,
/obj/item/mod/module/anomaly_locked/kinesis/upgraded,
)
default_pins = list(
/obj/item/mod/module/magboot/advanced,
/obj/item/mod/module/flashlight,
/obj/item/mod/module/jetpack,
/obj/item/mod/module/tether,
/obj/item/mod/module/anomaly_locked/kinesis/upgraded,
)

/obj/item/mod/control/pre_equipped/chrono
theme = /datum/mod_theme/chrono
starting_frequency = null
applied_core = /obj/item/mod/core/infinite
applied_modules = list(
/obj/item/mod/module/eradication_lock,
/obj/item/mod/module/emp_shield,
/obj/item/mod/module/timeline_jumper,
/obj/item/mod/module/timestopper,
/obj/item/mod/module/rewinder,
/obj/item/mod/module/tem,
/obj/item/mod/module/anomaly_locked/kinesis/plus/prebuilt,
)
default_pins = list(
/obj/item/mod/module/timestopper,
/obj/item/mod/module/timeline_jumper,
/obj/item/mod/module/rewinder,
/obj/item/mod/module/tem,
/obj/item/mod/module/anomaly_locked/kinesis/plus/prebuilt,
)

/obj/item/mod/control/pre_equipped/atmospheric
theme = /datum/mod_theme/atmospheric
applied_modules = list(
/obj/item/mod/module/storage,
/obj/item/mod/module/welding,
/obj/item/mod/module/rad_protection,
/obj/item/mod/module/flashlight,
/obj/item/mod/module/magboot,
/obj/item/mod/module/t_ray,
/obj/item/mod/module/quick_carry,
/obj/item/mod/module/headprotector,
/obj/item/mod/module/mister/atmos,
)
default_pins = list(
/obj/item/mod/module/magboot,
/obj/item/mod/module/flashlight,
/obj/item/mod/module/mister/atmos,
)

/obj/item/mod/control/pre_equipped/medical
theme = /datum/mod_theme/medical
applied_modules = list(
/obj/item/mod/module/storage,
/obj/item/mod/module/flashlight,
/obj/item/mod/module/health_analyzer,
/obj/item/mod/module/quick_carry,
/obj/item/mod/module/anomaly_locked/kinesis/upgraded,
)

/obj/item/mod/control/pre_equipped/rescue
theme = /datum/mod_theme/rescue
applied_cell = /obj/item/stock_parts/power_store/cell/super
applied_modules = list(
/obj/item/mod/module/storage/large_capacity,
/obj/item/mod/module/flashlight,
/obj/item/mod/module/health_analyzer,
/obj/item/mod/module/injector,
/obj/item/mod/module/anomaly_locked/kinesis/upgraded,
/obj/item/mod/module/defibrillator,
/obj/item/mod/module/thread_ripper,
)
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -6845,6 +6845,7 @@
#include "modular_doppler\lore\overrides\station_traits\positive_traits.dm"
#include "modular_doppler\loud_asay\code\loud_asay.dm"
#include "modular_doppler\modsuit_pda_app\tap_to_control.dm"
#include "modular_doppler\modsuits\modsuit_overwrites.dm"
#include "modular_doppler\modular_antagonists\_dynamic_rulesets.dm"
#include "modular_doppler\modular_antagonists\changeling\changeling.dm"
#include "modular_doppler\modular_antagonists\datums\antag_recipes.dm"
Expand Down
Loading