From bc9bd3c53fc55bef2178e1cc37961944929b4160 Mon Sep 17 00:00:00 2001 From: Dahlular Date: Tue, 6 Sep 2022 15:08:52 -0600 Subject: [PATCH] putting this aside, map fixes --- .../LayeniaStation/LayeniaStation.dmm | 24 ++--- .../modules/jobs/job_types/lambent_aspect.dm | 93 ++++++++++++++++--- .../code/modules/jobs/job_types/security.dm | 3 +- 3 files changed, 89 insertions(+), 31 deletions(-) diff --git a/_maps/map_files/LayeniaStation/LayeniaStation.dmm b/_maps/map_files/LayeniaStation/LayeniaStation.dmm index 55181a120..24948c9f5 100644 --- a/_maps/map_files/LayeniaStation/LayeniaStation.dmm +++ b/_maps/map_files/LayeniaStation/LayeniaStation.dmm @@ -18482,6 +18482,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/fans/tiny, /turf/open/floor/wood{ icon_state = "wood_tile"; name = "tile" @@ -20028,6 +20029,7 @@ /obj/machinery/status_display{ pixel_x = -32 }, +/obj/structure/dresser, /turf/open/floor/wood{ icon_state = "wood_parquet"; name = "parquet" @@ -32035,6 +32037,7 @@ /obj/machinery/airalarm{ pixel_y = 22 }, +/obj/structure/dresser, /turf/open/floor/wood{ icon_state = "wood_parquet"; name = "parquet" @@ -50321,6 +50324,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ name = "scrubbers pipe" }, +/obj/structure/fans/tiny, /turf/open/floor/wood{ icon_state = "wood_tile"; name = "tile" @@ -52219,6 +52223,7 @@ /obj/machinery/airalarm{ pixel_y = 22 }, +/obj/structure/dresser, /turf/open/floor/wood{ icon_state = "wood_parquet"; name = "parquet" @@ -71636,6 +71641,7 @@ /obj/machinery/airalarm{ pixel_y = 22 }, +/obj/structure/dresser, /turf/open/floor/wood{ icon_state = "wood_parquet"; name = "parquet" @@ -73542,20 +73548,6 @@ }, /turf/open/indestructible/layenia/crystal, /area/layenia/cave) -"lzh" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ - dir = 9; - name = "air supply pipe" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ - dir = 9; - name = "scrubbers pipe" - }, -/turf/open/floor/plating, -/area/maintenance/starboard/central/upper) "lzj" = ( /obj/structure/window/reinforced/tinted{ dir = 8 @@ -83584,6 +83576,7 @@ /obj/machinery/status_display{ pixel_x = -32 }, +/obj/structure/dresser, /turf/open/floor/wood{ icon_state = "wood_parquet"; name = "parquet" @@ -134989,6 +134982,7 @@ /obj/machinery/airalarm{ pixel_y = 22 }, +/obj/structure/dresser, /turf/open/floor/wood{ icon_state = "wood_parquet"; name = "parquet" @@ -261678,7 +261672,7 @@ xrc xrc xrc xrc -lzh +aGg qMG qzm qMG diff --git a/hyperstation/code/modules/jobs/job_types/lambent_aspect.dm b/hyperstation/code/modules/jobs/job_types/lambent_aspect.dm index 0bc5dc372..839298633 100644 --- a/hyperstation/code/modules/jobs/job_types/lambent_aspect.dm +++ b/hyperstation/code/modules/jobs/job_types/lambent_aspect.dm @@ -1,6 +1,5 @@ //I'll be honest I have no clue where to put lambent aspects, so this will just be here for now. I'm not the best at modularization, nor coding. -//This will be mostly commented out until I can sort out how this works. I preferably want to use an innate action, not a spell or anything attached to items. -//But it's proving to be difficult. +//This will be finished lader. //Innate powers, without attuning to a specific aspect /datum/action/innate/lambent @@ -31,7 +30,7 @@ /var/mob/living/carbon/human/target_human = target */ - +/* /datum/action/innate/lambent/dash name = "Surge Dash" desc = "Imbue yourself with weave energy to dash forwards." @@ -47,15 +46,77 @@ var/phaseout = /obj/effect/temp_visual/dir_setting/ninja/phase/out var/beam_effect = "blur" -/* Potentially not needed -/obj/item/dash_energy - name = "Weave Energy" - desc = "A buzzing centerpiece of Weave falloff, unstable and ready to manifest itself." -*/ -/* -/obj/effect/proc_holder/lambent/dash - name = "Lambent Dash" -*/ + var/obj/item/lambent/dash + +/obj/item/lambent/dash + name = "condensed Weave energy" + desc = "Bundling energy straight from the Weave. It hurts your head just to comprehend." + block_chance = 50 + w_class = WEIGHT_CLASS_HUGE + force = 0 + throwforce = 0 + attack_verb = list("resonated", "harmonized") + var/datum/action/innate/lambent/dash/ability + + icon_state = "energy_katana" //PH + + interaction_flags_item = 0 //Prevent it from being clicked on, just in case. + //item_flags = DROPDEL //Deletes itself when dropped, but I may need to call some code and qdel instead. + +/obj/item/lambent/dash/Initialize() + . = ..() + ability = new(src) + +/obj/item/lambent/dash/attack_self(mob/user) + visible_message("[user] dissipates a flickering energy in their palm.") + src.dropped() + +/obj/item/lambent/dash/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + . = ..() + ability.Teleport(user, target) + +/obj/item/lambent/dash/pickup(mob/living/user) + . = ..() + ability.Grant(user) + user.update_icons() + +/obj/item/lambent/dash/dropped(mob/user) + . = ..() + ability.Remove(user) + user.update_icons() + QDEL_IN(src, 1) + +//datum/action/innate/lambent/dash/ability //This is what poor planning with code gets you. Use a proc_holder next time -Dahl + +/datum/action/innate/lambent/dash/Trigger() + //This is effectively an on/off state of the ability. + holder.visible_message("PH Trigger Initial") + if(holder.get_active_held_item() == null) + if(var/active == 0) //Start off + holder.visible_message("PH Trigger to Activate") + Activate() + active = 1 //set to 1 so we can toggle off + return + if(var/active == 1) + holder.visible_message("PH Trigger to Deactivate") + Deactivate() + active = 0 //set to 0 so we can toggle on + return + holder.visible_message("PH active held item return") + return + + +/datum/action/innate/lambent/dash/Activate() + holder.visible_message("PH Activation") + holder.equip_to_slot_if_possible(new/obj/item/lambent/dash(null), SLOT_HANDS) + +/datum/action/innate/lambent/dash/Deactivate() + holder.visible_message("PH Deactivation") + if(holder.get_item_by_slot(SLOT_HANDS) == /obj/item/lambent/dash) + holder.dropItemToGround(/obj/item/lambent/dash) + + +/* Leaving this here as a toggled ability to reference later. /datum/action/innate/lambent/dash/Trigger() holder.visible_message("PH Trigger Initial") switch(active) @@ -73,6 +134,7 @@ /datum/action/innate/lambent/dash/Deactivate() holder.visible_message("PH Deactivation") +*/ /* /datum/action/innate/lambent/dash/IsAvailable() @@ -83,8 +145,9 @@ */ //something something dash.Teleport(user,) -/* -/datum/action/innate/lambent/dash/proc/Teleport(mob/user, atom/target) //Mordecai and Rigby get this code working or you are FIRED! + + +/datum/action/innate/lambent/dash/proc/Teleport(mob/user, atom/target) if(!IsAvailable()) return var/turf/T = get_turf(target) @@ -102,6 +165,6 @@ current_charges = CLAMP(current_charges + 1, 0, max_charges) holder.update_action_buttons_icon() if(recharge_sound) - playsound(src, recharge_sound, 50, 1) + playsound(holder, recharge_sound, 50, 1) to_chat(holder, "[src] now has [current_charges]/[max_charges] charges.") */ diff --git a/hyperstation/code/modules/jobs/job_types/security.dm b/hyperstation/code/modules/jobs/job_types/security.dm index 4bd193a8a..a479a01bb 100644 --- a/hyperstation/code/modules/jobs/job_types/security.dm +++ b/hyperstation/code/modules/jobs/job_types/security.dm @@ -57,7 +57,8 @@ Lambent implants = list(/obj/item/implant/mindshield) //innate abilities will go here +/* /datum/job/lambent/after_spawn(mob/living/H, mob/M) var/datum/action/innate/lambent/dash/dash = new dash.Grant(H) - +*/