From 285ada974f6d55bc9afff5263f5b542966f12533 Mon Sep 17 00:00:00 2001 From: Chorden <130075022+Chorden523@users.noreply.github.com> Date: Thu, 8 Aug 2024 22:31:54 +0800 Subject: [PATCH] Awaymission aeg port (#475) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## About The Pull Request Портирует гейтган с парадиза ## Why It's Good For The Game Пушка для изучения гейтов ## Изображения изменений ![image](https://github.com/user-attachments/assets/336bd1d1-acd2-4b4f-aa11-d812e4441056) ![image](https://github.com/user-attachments/assets/8fccf3e6-2d04-44ec-9495-f3398810292f) --- modular_bandastation/objects/_objects.dme | 4 + .../code/weapons/ranged/awaymission_gun.dm | 110 ++++++++++++++++++ modular_bandastation/objects/icons/guns.dmi | Bin 0 -> 949 bytes .../objects/icons/inhands/guns_lefthand.dmi | Bin 0 -> 1038 bytes .../objects/icons/inhands/guns_righthand.dmi | Bin 0 -> 1173 bytes 5 files changed, 114 insertions(+) create mode 100644 modular_bandastation/objects/code/weapons/ranged/awaymission_gun.dm create mode 100644 modular_bandastation/objects/icons/guns.dmi create mode 100644 modular_bandastation/objects/icons/inhands/guns_lefthand.dmi create mode 100644 modular_bandastation/objects/icons/inhands/guns_righthand.dmi diff --git a/modular_bandastation/objects/_objects.dme b/modular_bandastation/objects/_objects.dme index 1e03efb802e402..c7d19cdf83e165 100644 --- a/modular_bandastation/objects/_objects.dme +++ b/modular_bandastation/objects/_objects.dme @@ -4,6 +4,7 @@ #include "code/hampters.dm" #include "code/papershredder.dm" #include "code/material_pouch.dm" + #include "code/structures/posters.dm" #include "code/clothing/head/hat.dm" @@ -12,4 +13,7 @@ #include "code/clothing/suits/jacket.dm" #include "code/clothing/suits/wintercoats.dm" #include "code/clothing/under/jobs/rnd.dm" + #include "code/vending/vending.dm" + +#include "code/weapons/ranged/awaymission_gun.dm" diff --git a/modular_bandastation/objects/code/weapons/ranged/awaymission_gun.dm b/modular_bandastation/objects/code/weapons/ranged/awaymission_gun.dm new file mode 100644 index 00000000000000..ca33dfdde926a8 --- /dev/null +++ b/modular_bandastation/objects/code/weapons/ranged/awaymission_gun.dm @@ -0,0 +1,110 @@ +/obj/item/gun/energy/laser/awaymission_aeg + name = "Exploreverse Mk.I" + desc = "Прототип оружия с миниатюрным реактором для исследований в крайне отдаленных секторах. \ + \n Данная модель использует экспериментальную систему обратного восполнения, работающую на принципе огромной аккумуляции энергии, но крайне уязвимую к радиопомехам, которыми кишит сектор станции, попростую не работая там." + icon = 'modular_bandastation/objects/icons/guns.dmi' + lefthand_file = 'modular_bandastation/objects/icons/inhands/guns_lefthand.dmi' + righthand_file = 'modular_bandastation/objects/icons/inhands/guns_righthand.dmi' + icon_state = "laser_gate" + inhand_icon_state = "laser_gate" + ammo_type = list(/obj/item/ammo_casing/energy/lasergun/awaymission_aeg) + can_select = FALSE + selfcharge = TRUE + ammo_x_offset = 0 + can_charge = FALSE + +/obj/item/ammo_casing/energy/lasergun/awaymission_aeg + e_cost = LASER_SHOTS(20, STANDARD_CELL_CHARGE) + +/obj/item/gun/energy/laser/awaymission_aeg/Initialize(mapload) + . = ..() + RegisterSignal(src, COMSIG_MOVABLE_Z_CHANGED, PROC_REF(check_z)) + check_z() + +/obj/item/gun/energy/laser/awaymission_aeg/proc/check_z() + SIGNAL_HANDLER + + if(onAwayMission()) + selfcharge = TRUE + if(ismob(loc)) + to_chat(loc, span_notice("[src.name] активируется, начиная аккумулировать энергию из материи сущего.")) + else + selfcharge = FALSE + cell.change(-STANDARD_BATTERY_CHARGE) + update_appearance() + if(ismob(loc)) + to_chat(loc, span_danger("[src.name] деактивируется, так как он подавляется системами станции.")) + recharge_newshot(no_cyborg_drain = TRUE) + +/obj/item/gun/energy/laser/awaymission_aeg/mk2 + name = "Exploreverse Mk.II" + desc = "Второй прототип оружия с миниатюрным реактором и забавным рычагом для исследований в крайне отдаленных секторах. \ + \nДанная модель оснащена системой ручного восполнения энергии \"Za.E.-8 A.L'sya\", \ + позволяющей в короткие сроки восполнить необходимую электроэнергию с помощью ручного труда и конвертации личной энергии подключенного к системе зарядки. \ + \nТеперь еще более нелепый дизайн с торчащими проводами!" + icon_state = "laser_gate_mk2" + +/obj/item/gun/energy/laser/awaymission_aeg/mk2/attack_self(mob/living/user) + . = ..() + if(!onAwayMission()) + user.balloon_alert(user, "не в гейте!") + return FALSE + + if(cell.charge >= cell.maxcharge) + user.balloon_alert(user, "полностью заряжен!") + return FALSE + + if(user.nutrition <= NUTRITION_LEVEL_STARVING) + user.balloon_alert(user, "недостаточно сил!") + return FALSE + + user.balloon_alert(user, "зарядка...") + playsound(src, 'sound/effects/sparks3.ogg', 10, 1) + do_sparks(1, 1, src) + + if(!do_after(user, 3 SECONDS, target = src)) + return + cell.give(STANDARD_CELL_CHARGE * 0.1) + user.adjust_nutrition(-10) + +/datum/design/exploreverse_mk1 + name = "Exploreverse Mk.I" + desc = "Энергетическое оружие с экспериментальным миниатюрным реактором. Работает только во вратах." + id = "exploreverse_mk1" + build_type = PROTOLATHE | AWAY_LATHE + materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 3, + /datum/material/glass = SHEET_MATERIAL_AMOUNT * 0.75, + /datum/material/uranium = SHEET_MATERIAL_AMOUNT * 0.75, + /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 0.25 + ) + build_path = /obj/item/gun/energy/laser/awaymission_aeg + category = list( + RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_RANGED, + ) + departmental_flags = DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE +/datum/design/exploreverse_mk2 + name = "Exploreverse Mk.II" + desc = "Энергетическое оружие с экспериментальным миниатюрным реактором и рычагом для ручной зарядки. Работает только во вратах." + id = "exploreverse_mk2" + build_type = PROTOLATHE | AWAY_LATHE + materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 4, + /datum/material/glass = SHEET_MATERIAL_AMOUNT, + /datum/material/uranium = SHEET_MATERIAL_AMOUNT, + /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 0.25, + /datum/material/silver = SHEET_MATERIAL_AMOUNT * 0.5 + ) + build_path = /obj/item/gun/energy/laser/awaymission_aeg/mk2 + category = list( + RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_RANGED, + ) + departmental_flags = DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE + +/datum/techweb_node/mining/New() + . = ..() + design_ids |= "exploreverse_mk1" + +/datum/techweb_node/plasma_mining/New() + . = ..() + design_ids |= "exploreverse_mk2" diff --git a/modular_bandastation/objects/icons/guns.dmi b/modular_bandastation/objects/icons/guns.dmi new file mode 100644 index 0000000000000000000000000000000000000000..0365ecc759077eecce3aa69566012fee17ad663d GIT binary patch literal 949 zcmV;m14{gfP)C0002VP)t-sz`(#J z003E8St%(ge*geBHa3lsjpOL*uDZgds;a78Wyh46CnqON001}u0B2`sfjUvWf{1N6 zDE|Nk@&EwX002J#0BZjL8b1Jwi;I;E05C8xd3kv#C@5JdIJW=*|K3|yBO#dp0BIN~ z0D%7hMT(}T|2Q}}OiWCGfd2qCY&1wn|Ns90Cr<{90d!JM zQvg8b*k%9#0JC~jSad{Xb7OL8aCB*JZU6vyoKseCa&`CgQ*iP1t<9+et)0RCt{2 z+G|sSKokbxWsj^ILgcHkHh!~Zkoe%5@8q>w&6U*^8{?I{fmuAEihD7R&3!^gM8Gp{Gk^ocJqhf z)APde-$q literal 0 HcmV?d00001 diff --git a/modular_bandastation/objects/icons/inhands/guns_lefthand.dmi b/modular_bandastation/objects/icons/inhands/guns_lefthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..72d893f8a21ca5392295f3787811252d8071c1b5 GIT binary patch literal 1038 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=rBxvjB`&GO$wiq3C7Jno3=9=> zRF7}uYBmsHdtmup#J*5GJ2rn}N6Llp2@T=GE4X$puKmmRciZ}d7H11xBa~{FWbM>9 zXxpazU3Yh?!93fYI!{l0>yI*GJiLFh*WJF9MJqx-6V_EJ_ExfSc`=Z#@4-+Oi z`n3FIyxI5UNZ6xnu1CEUi&+How4Ao@e4^m#z20rXJq^c%P0M)paHPF^>o)!7lD`%F z@rS+_mnZz5_q^uYK5Of0lglQB(>4aOFL2{rz~|5_1K% zEU_w-*p*Qd+kW|F%kHzeuRm1rFX6Fm`=UGHhTnm_?dg4o<>qr#*C@@GOzih>vDx=` zaq{lFeMiceHYlwB(s=oyLDEKvJGpr*r)C|w`p$2UwtwojWBWh+{+qPVrZxNS+@+11 z)DBu+2P#^2IPqp6qlcJ*q2)?OhUYP}XU=l`?4^I^nxi;Kn5{rp|m8qS>`)+|(g{ri{Htc{XI zH<@w-4>I-vrAwrb9Xz>n)5SGE!Yzu`SM1@h&F8!SxRAw?ong-EeI1`uU+%X%d3TEM zACEj{2BtcDnbOjZux$?aXL~bCt=YlMAjZkSaBaWNg&V9oyboW$c2D57dbcxX#}~`K z*Wr2xE`C%{R456!F>3jjs@VwM2nQpjSK6LJ+%UsFYU3=<{V4EnZu{8Wf-SQBM4|FdZD z{OE10Tq}=$o~gUqZo1xr3sE-Ve%GF_ofjq&Jl|V~^3YxVX@pII(;UR3*a@yck0`#_`CtU14Q tU4v8h$C!eM`eUp71en1YJYD@<);T3K0RWZk+Gqd( literal 0 HcmV?d00001 diff --git a/modular_bandastation/objects/icons/inhands/guns_righthand.dmi b/modular_bandastation/objects/icons/inhands/guns_righthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..4941c0dbb30f4c3a92139446530ada4c046738c4 GIT binary patch literal 1173 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=rBxvjB`&GO$wiq3C7Jno3=9=> zRF7}uYBmsHdtmup#J*5GJ2rn}N6Llp2@T=GE4X$puKmmRciZ}d7H11xBa~{FWbM>9 zXxpazU3Yh?!93fYI!{l0>yI*GJiLFh*WJF9Mr_RA$J{VTnhJ~K|rYgAo`nbNdk^W7C+=B%CT)hwOMFC8_hTZ~K8w`}#J zg%fssuJTCRy{xTJZSr5&Pj=g5)7sAeK6m@R&hOZxg)%v*Az6%BDGXPbuAE?4!Mb81 zV*q!6GV=nl1#WB(x(>ZO4N(nJk_=lJOlRF^>@i&U+KOSvv{ciaJ(qqxn8VGWA;Pup zvBkc9`>Y+Vmu}g*Rk6@w;kPA0Q#Dk~yXJ+gnq)D@Av;?;EN_4S=BmKldbdi&IuP2i#vW`L+fMqyajvI*Uh!~ zv@N=N&!fLuf4(o$`d3*Z&oIG|$7K7K1snb)|DH5G zV?X2ggA*JqEOFUch4-sML#{8f=xhF2EPnLOU88qc&6k;Ek1z1)eRQ6Ce#6^*cN@9m>+XwfSpL>``_ku+*%DIO&fL>XTvx+y z|KziTf$tp4ue^3SJNSHh7w$hCaPz^JS-~a7MF|B}EB8N^FfeW7mss( z>v(7M%Rjz&xLrbCzCKO1E2nLng%JahX$Yz?(eKe5?sGd6daiEOP3!4gvHs=n{|#5a z0Mm`X{ePbA`S<#69i1+|c2BcF8heO#hT^pRj(FC+a$(_L1BG8HPuQA!=FAy|LY0MS z+e*X!Xua65X5A}(RsNm-(pi-Y7~)uSXDur_y02+n{O^$cTvi&{pUzQVef z>z0Xc>Z2gO&A2g)cq!SGU|_1S&JQvU=6@uNJ_J hf(VVApA7$4XaBvlI!7&h2e6!B@O1TaS?83{1OV>FA-(_r literal 0 HcmV?d00001