From 7e7659d1f9982c4abce79b6acb42b6f67482a406 Mon Sep 17 00:00:00 2001 From: Lexanx <61974560+Lexanx@users.noreply.github.com> Date: Tue, 27 Feb 2024 22:59:58 +0300 Subject: [PATCH] FEAT: Adherent Discharge (#1653) Co-authored-by: SuhEugene <32931701+SuhEugene@users.noreply.github.com> --- baystation12.dme | 2 + mods/_master_files/code/_onclick/click.dm | 55 +++++++++++++ .../code/modules/species/station/adherent.dm | 4 + mods/adherent_discharge/README.md | 74 ++++++++++++++++++ .../adherent_discharge/_adherent_discharge.dm | 4 + .../_adherent_discharge.dme | 6 ++ mods/adherent_discharge/code/adherent.dm | 21 +++++ .../sounds/discharge_on.ogg | Bin 0 -> 15051 bytes mods/global_modpacks.dm | 1 + mods/ipc_cooling_unit/code/machine.dm | 2 +- 10 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 mods/_master_files/code/_onclick/click.dm create mode 100644 mods/_master_files/code/modules/species/station/adherent.dm create mode 100644 mods/adherent_discharge/README.md create mode 100644 mods/adherent_discharge/_adherent_discharge.dm create mode 100644 mods/adherent_discharge/_adherent_discharge.dme create mode 100644 mods/adherent_discharge/code/adherent.dm create mode 100644 mods/adherent_discharge/sounds/discharge_on.ogg diff --git a/baystation12.dme b/baystation12.dme index b52bc3d9d1f2d..337852f8f4554 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -3327,6 +3327,7 @@ #include "maps\_maps.dm" #include "mods\_modpack.dm" #include "mods\global_modpacks.dm" +#include "mods\_master_files\code\_onclick\click.dm" #include "mods\_master_files\code\game\world.dm" #include "mods\_master_files\code\game\gamemodes\ert.dm" #include "mods\_master_files\code\game\objects\effects\decals\contraband.dm" @@ -3365,6 +3366,7 @@ #include "mods\_master_files\code\modules\mob\new_player\new_player.dm" #include "mods\_master_files\code\modules\power\gravitygenerator.dm" #include "mods\_master_files\code\modules\projectiles\projectile\bullets.dm" +#include "mods\_master_files\code\modules\species\station\adherent.dm" #include "mods\_master_files\maps\mapsystem\maps.dm" #include "mods\_master_files\maps\sierra\sierra_ranks.dm" #include "mods\_master_files\maps\sierra\items\rigs.dm" diff --git a/mods/_master_files/code/_onclick/click.dm b/mods/_master_files/code/_onclick/click.dm new file mode 100644 index 0000000000000..c5af19d1cfaa4 --- /dev/null +++ b/mods/_master_files/code/_onclick/click.dm @@ -0,0 +1,55 @@ +/mob/living/carbon/human/AltClickOn(atom/A) + if(get_dist(src, A) > 1) + return ..() + if(!stat && mind && ismob(A) && (A != src) && (src.species.name == SPECIES_ADHERENT)) + var/mob/living/carbon/human/adherent = src + var/obj/item/organ/internal/cell/adherent/adherent_core = adherent.internal_organs_by_name[BP_CELL] + if(adherent_core.ready_to_charge) + var/mob/living/carbon/human/target_human = A + var/mob/living/target = A + var/obj/item/cell/target_cell + var/obj/item/cell/adherent_cell + var/obj/item/organ/internal/cell/acell = locate() in adherent.internal_organs + if(acell && acell.cell) + adherent_cell = acell.cell + + if(adherent_cell && adherent_cell.charge <= 2000) + to_chat(src, SPAN_WARNING("Your cell charge is too low for this action.")) + return + + if(ishuman(target_human)) + var/obj/item/organ/internal/cell/cell = locate() in target_human.internal_organs + if(cell && cell.cell) + target_cell = cell.cell + else if(isrobot(target)) + var/mob/living/silicon/robot/robot = target + target_cell = robot.get_cell() + + target.visible_message(SPAN_WARNING("There is a loud crack and the smell of ozone as \the [adherent] touches \the [target].")) + playsound(loc, 'sound/effects/snap.ogg', 50, 1) + + if(target_cell) + if(target_cell.maxcharge > (target_cell.charge + 2000)) + target_cell.charge += 2000 + else + target_cell.charge = target_cell.maxcharge + to_chat(target, SPAN_NOTICE("Your [target_cell] has been charged.")) + adherent_cell.charge -= 2000 + if(istype(target_human) && target_human.species.name == SPECIES_ADHERENT) + next_click = world.time + 2 SECONDS + return + if(isrobot(target)) + target.apply_damage(100, DAMAGE_BURN, def_zone = src.zone_sel.selecting) + visible_message(SPAN_DANGER("[adherent] touches [target] with bright electrical arc connecting them.")) + to_chat(target, SPAN_DANGER("You detect damage to your components!")) + else if(ishuman(target)) + target.electrocute_act(100, src, def_zone = src.zone_sel.selecting) + visible_message(SPAN_DANGER("With bright electrical flash [adherent] touches [target] using it's tentacles.")) + else + target.apply_damage(100, DAMAGE_BURN, def_zone = src.zone_sel.selecting) + visible_message(SPAN_DANGER("With bright electrical flash [adherent] touches [target] using it's tentacles.")) + admin_attack_log(src, target, "Has electrocuted", "Has been electrocuted", "electrocuted") + target.throw_at(get_step(target,get_dir(src,target)), 5, 10) + next_click = world.time + 2 SECONDS + return + return ..() diff --git a/mods/_master_files/code/modules/species/station/adherent.dm b/mods/_master_files/code/modules/species/station/adherent.dm new file mode 100644 index 0000000000000..35526f1326f41 --- /dev/null +++ b/mods/_master_files/code/modules/species/station/adherent.dm @@ -0,0 +1,4 @@ +/datum/species/adherent/New() + LAZYINITLIST(inherent_verbs) + inherent_verbs += /mob/living/carbon/human/proc/toggle_emergency_discharge + ..() diff --git a/mods/adherent_discharge/README.md b/mods/adherent_discharge/README.md new file mode 100644 index 0000000000000..7aa1bf23c2ee0 --- /dev/null +++ b/mods/adherent_discharge/README.md @@ -0,0 +1,74 @@ + +#### Список PRов: + +- https://github.com/SierraBay/SierraBay12/pull/1653 + + + +## Adherent Discharge + +ID мода: ADHERENT_DISCHARGE + + +### Описание мода + +Этот мод служит примером для разработчиков и существует лишь для того, +чтобы его можно было легко скопировать и вставить в другое место. + + +### Изменения *кор кода* + +- Отсутствуют + + +### Оверрайды + +- `mods/_master_files/code/_onclick/click.dm`: `/mob/living/carbon/human/AltClickOn()` +- `mods/_master_files/code/modules/species/station/adherent.dm`: `/datum/species/adherent/New()` + + +### Дефайны + +- Отсутствуют + + +### Используемые файлы, не содержащиеся в модпаке + +- Отсутствуют + + +### Авторы: + +Lexanx diff --git a/mods/adherent_discharge/_adherent_discharge.dm b/mods/adherent_discharge/_adherent_discharge.dm new file mode 100644 index 0000000000000..ee2718ce2524d --- /dev/null +++ b/mods/adherent_discharge/_adherent_discharge.dm @@ -0,0 +1,4 @@ +/singleton/modpack/adherent_discharge + name = "Adherent Discharge" + desc = "Добавляет Адхерентам кнопку удара электричеством." + author = "Lexanx" diff --git a/mods/adherent_discharge/_adherent_discharge.dme b/mods/adherent_discharge/_adherent_discharge.dme new file mode 100644 index 0000000000000..c8a66146a6812 --- /dev/null +++ b/mods/adherent_discharge/_adherent_discharge.dme @@ -0,0 +1,6 @@ +#ifndef MODPACK_ADHERENT_DISCHARGE +#define MODPACK_ADHERENT_DISCHARGE + +#include "_adherent_discharge.dm" +#include "code/adherent.dm" +#endif diff --git a/mods/adherent_discharge/code/adherent.dm b/mods/adherent_discharge/code/adherent.dm new file mode 100644 index 0000000000000..681dec209ae83 --- /dev/null +++ b/mods/adherent_discharge/code/adherent.dm @@ -0,0 +1,21 @@ +/obj/item/organ/internal/cell/adherent + var/ready_to_charge + + +/mob/living/carbon/human/proc/toggle_emergency_discharge() + set category = "Abilities" + set name = "Toggle emergency discharge" + set desc = "Allows you to overload your piezo capacitors." + + var/mob/living/carbon/human/adherent = src + var/obj/item/organ/internal/cell/adherent/adherent_core = adherent.internal_organs_by_name[BP_CELL] + if(!adherent_core.ready_to_charge) + adherent_core.ready_to_charge = TRUE + to_chat(src, SPAN_WARNING("The emergency discharge is ready for use.")) + to_chat(src, SPAN_GOOD("You are ready to discharge, use alt+click on target to electrocute them.")) + adherent.visible_message(SPAN_WARNING("You hear silent crackle sounds from [adherent] tentacles")) + playsound(loc, 'mods/adherent_discharge/sounds/discharge_on.ogg', 40, 1) + return + + adherent_core.ready_to_charge = FALSE + to_chat(src, SPAN_WARNING("You have relieved the tension of your tentacles.")) diff --git a/mods/adherent_discharge/sounds/discharge_on.ogg b/mods/adherent_discharge/sounds/discharge_on.ogg new file mode 100644 index 0000000000000000000000000000000000000000..dcb9e407eb65cbde8fb87b4495e3225ecf816c72 GIT binary patch literal 15051 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 P=1)5_Riv8`2*LjXo8FD! literal 0 HcmV?d00001 diff --git a/mods/global_modpacks.dm b/mods/global_modpacks.dm index 2d50f1543e86b..415b50b4fefee 100644 --- a/mods/global_modpacks.dm +++ b/mods/global_modpacks.dm @@ -1,5 +1,6 @@ // SIERRA TODO: GET RID OF IT!!! #include "ai/_ai.dme" +#include "adherent_discharge/_adherent_discharge.dme" #include "body_markings/_body_markings.dme" #include "client_verbs/_client_verbs.dme" // #include "don_loadout/_don_loadout.dme" // Не открывать до Рождества diff --git a/mods/ipc_cooling_unit/code/machine.dm b/mods/ipc_cooling_unit/code/machine.dm index e820bb1ea56b6..d3f96db15abcd 100644 --- a/mods/ipc_cooling_unit/code/machine.dm +++ b/mods/ipc_cooling_unit/code/machine.dm @@ -19,7 +19,7 @@ if(statpanel("Status")) var/obj/item/organ/internal/cell/potato = internal_organs_by_name[BP_CELL] var/obj/item/organ/internal/cooling_system/coolant = internal_organs_by_name[BP_COOLING] - if(potato && potato.cell) + if(potato && potato.cell && src.is_species(SPECIES_IPC)) stat("Coolant remaining:","[coolant.get_coolant_remaining()]/[coolant.refrigerant_max]") /obj/item/organ/internal/cell/Process()