From 62d8c7a247d59b5b788310d60a6eeed32f32210f Mon Sep 17 00:00:00 2001 From: dj-34 Date: Mon, 9 Oct 2023 20:35:41 +0500 Subject: [PATCH] Feat: Expeditors (gaters) fast start (#382) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Что этот PR делает - Добавляет ящик гейтеров (спрайт Эйлонга), в котором лежит гейтган (МК1, за МК2 - на стойку РНД), аптечка первой помощи и инструкция - Добавляет motion-sensetive камеру в комнату гейтеров по аналогии с Евой - Немного изменяет визуал комнаты - Гейтган имеет 50% шанс взорваться при емаге - Ящик с имплантами изгнания перемещен в Еву ## Почему это хорошо для игры - ## Изображения изменений ![image](https://github.com/ss220club/Paradise-SS220/assets/20109643/1551238a-797d-484e-a4ac-0ba63403f25f) ## Тестирование Проверял в игре ## Changelog :cl: add: Кибериада: Добавил ящик гейтеров, в котором лежит гейтган (МК1, за МК2 - на стойку РНД), аптечка первой помощи и инструкция add: Кибериада: Добавляет motion-sensetive камеру в комнату гейтеров по аналогии с Евой tweak: Кибериада: Немного изменил визуал комнаты гейтеров tweak: Ящик с имплантами изгнания перемещен в Еву tweak: Теперь гейтган имеет 50% шанс взорваться при емаге /:cl: --- _maps/map_files220/cyberiad/cyberiad.dmm | 68 +++++++++--------- .../code/items/awaymission_gun.dm | 26 ++++--- modular_ss220/objects/_objects.dme | 1 + modular_ss220/objects/code/closets.dm | 12 ++++ modular_ss220/objects/icons/closets.dmi | Bin 0 -> 1752 bytes 5 files changed, 67 insertions(+), 40 deletions(-) create mode 100644 modular_ss220/objects/code/closets.dm create mode 100644 modular_ss220/objects/icons/closets.dmi diff --git a/_maps/map_files220/cyberiad/cyberiad.dmm b/_maps/map_files220/cyberiad/cyberiad.dmm index 057b1ed088f4..319a181e9a36 100644 --- a/_maps/map_files220/cyberiad/cyberiad.dmm +++ b/_maps/map_files220/cyberiad/cyberiad.dmm @@ -12554,8 +12554,9 @@ /area/station/public/dorms) "aVr" = ( /obj/machinery/gateway, +/obj/effect/decal/warning_stripes/south, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "vault" }, /area/station/service/expedition) "aVs" = ( @@ -15732,8 +15733,9 @@ /obj/machinery/gateway{ dir = 10 }, +/obj/effect/decal/warning_stripes/south, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "vault" }, /area/station/service/expedition) "bgL" = ( @@ -15741,8 +15743,9 @@ /obj/machinery/gateway{ dir = 6 }, +/obj/effect/decal/warning_stripes/south, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "vault" }, /area/station/service/expedition) "bgM" = ( @@ -15943,7 +15946,6 @@ }, /area/station/service/expedition) "bhI" = ( -/obj/effect/landmark/start/explorer, /turf/simulated/floor/plasteel{ icon_state = "stairs-r" }, @@ -16668,7 +16670,6 @@ dir = 5 }, /obj/machinery/alarm/directional/west, -/obj/effect/landmark/start/explorer, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkbluecorners" @@ -16908,7 +16909,6 @@ /obj/structure/railing/cap{ dir = 1 }, -/obj/effect/landmark/start/explorer, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "darkbluecorners" @@ -33957,6 +33957,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, +/obj/effect/landmark/start/explorer, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -33974,12 +33975,11 @@ }, /area/station/engineering/control) "cGV" = ( -/obj/structure/closet/secure_closet/exile, -/obj/effect/decal/warning_stripes/white/hollow, -/obj/effect/decal/warning_stripes/northeast, /obj/item/radio/intercom/directional/west, +/obj/structure/closet/secure_closet/expedition, /turf/simulated/floor/plasteel{ - icon_state = "dark" + dir = 5; + icon_state = "darkblue" }, /area/station/service/expedition) "cGW" = ( @@ -34012,6 +34012,7 @@ dir = 4 }, /obj/machinery/hologram/holopad, +/obj/effect/landmark/start/explorer, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -35625,6 +35626,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/landmark/start/explorer, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -39262,11 +39264,14 @@ }, /area/station/engineering/gravitygenerator) "cYN" = ( -/obj/structure/closet/l3closet/scientist, -/obj/effect/decal/warning_stripes/white/hollow, -/obj/effect/decal/warning_stripes/east, +/obj/structure/closet/secure_closet/expedition, +/obj/machinery/camera/motion{ + c_tag = "Gateway Motion Sensor"; + dir = 1 + }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + dir = 4; + icon_state = "darkblue" }, /area/station/service/expedition) "cYO" = ( @@ -39339,18 +39344,16 @@ /turf/simulated/floor/plating, /area/station/maintenance/fsmaint) "cZa" = ( -/obj/structure/table, /obj/machinery/power/apc/directional/east, /obj/structure/cable{ d2 = 8; icon_state = "0-8" }, -/obj/item/storage/firstaid/regular{ - pixel_y = 2 - }, /obj/machinery/light_switch/south, +/obj/structure/closet/secure_closet/expedition, /turf/simulated/floor/plasteel{ - icon_state = "dark" + dir = 8; + icon_state = "darkblue" }, /area/station/service/expedition) "cZb" = ( @@ -39701,20 +39704,13 @@ }, /area/station/engineering/hallway) "daf" = ( -/obj/structure/table/reinforced, /obj/machinery/requests_console{ department = "EVA"; name = "EVA Requests Console"; pixel_x = -32 }, /obj/effect/decal/warning_stripes/white/hollow, -/obj/item/paper/pamphlet/gateway{ - pixel_x = -4 - }, -/obj/item/paper/pamphlet/gateway, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 4 - }, +/obj/structure/closet/secure_closet/exile, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -46729,7 +46725,6 @@ }, /area/station/maintenance/apmaint) "efl" = ( -/obj/effect/landmark/start/explorer, /turf/simulated/floor/plasteel{ icon_state = "stairs-m" }, @@ -72519,6 +72514,7 @@ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/landmark/start/explorer, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -79804,8 +79800,10 @@ name = "Gateway Shutters Control"; req_one_access_txt = "62" }, +/obj/structure/closet/secure_closet/expedition, /turf/simulated/floor/plasteel{ - icon_state = "dark" + dir = 9; + icon_state = "darkblue" }, /area/station/service/expedition) "qvO" = ( @@ -82678,6 +82676,12 @@ icon_state = "whitepurple" }, /area/station/science/toxins/mixing) +"rBx" = ( +/obj/effect/landmark/start/explorer, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/service/expedition) "rBN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ @@ -93055,7 +93059,6 @@ }, /area/station/engineering/atmos) "vtO" = ( -/obj/effect/landmark/start/explorer, /turf/simulated/floor/plasteel{ icon_state = "stairs-l" }, @@ -99255,6 +99258,7 @@ /turf/space, /area/space/nearstation) "xKc" = ( +/obj/effect/turf_decal/caution, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "darkblue" @@ -125178,7 +125182,7 @@ bgK vtO bam cGT -aUF +rBx iIt bgP pBf @@ -125435,7 +125439,7 @@ aVr efl xKc cGZ -aUF +rBx iIt bgP pBf diff --git a/modular_ss220/awaymission_gun/code/items/awaymission_gun.dm b/modular_ss220/awaymission_gun/code/items/awaymission_gun.dm index 9d614c400e33..d1a79a64a5b0 100644 --- a/modular_ss220/awaymission_gun/code/items/awaymission_gun.dm +++ b/modular_ss220/awaymission_gun/code/items/awaymission_gun.dm @@ -33,18 +33,28 @@ selfcharge = FALSE update_icon() +/obj/item/gun/energy/laser/awaymission_aeg/proc/update_mob() + if(ismob(loc)) + var/mob/M = loc + M.unEquip(src) + /obj/item/gun/energy/laser/awaymission_aeg/emag_act(mob/user) . = ..() - if (emagged) + if(emagged) return - if(user) - user.visible_message(span_warning("От [name] летят искры!"), span_notice("Вы взломали [name], что привело к перезаписи протоколов безопасности. Устройство может быть использовано вне ограничений")) - playsound(loc, 'sound/effects/sparks4.ogg', 30, 1) - do_sparks(5, 1, src) - - emagged = TRUE - selfcharge = TRUE + if(prob(50)) + user.visible_message(span_warning("От [name] летят искры!"), span_notice("Вы взломали [name], что привело к перезаписи протоколов безопасности. Устройство может быть использовано вне ограничений")) + playsound(loc, 'sound/effects/sparks4.ogg', 30, 1) + do_sparks(5, 1, src) + emagged = TRUE + selfcharge = TRUE + else + user.visible_message(span_warning("От [name] летят искры... Он сейчас взорвётся!"), span_notice("Ой... Что-то пошло не так!")) + do_sparks(5, 1, src) + update_mob() + explosion(loc, -1, 0, 2) + qdel(src) /obj/item/gun/energy/laser/awaymission_aeg/emp_act(severity) . = ..() diff --git a/modular_ss220/objects/_objects.dme b/modular_ss220/objects/_objects.dme index bbdacbc031cd..0fb7abe4ceb6 100644 --- a/modular_ss220/objects/_objects.dme +++ b/modular_ss220/objects/_objects.dme @@ -1,5 +1,6 @@ #include "_objects.dm" +#include "code/closets.dm" #include "code/miscellaneous.dm" #include "code/officetoys.dm" #include "code/papershredder.dm" diff --git a/modular_ss220/objects/code/closets.dm b/modular_ss220/objects/code/closets.dm new file mode 100644 index 000000000000..12c36417138c --- /dev/null +++ b/modular_ss220/objects/code/closets.dm @@ -0,0 +1,12 @@ +/obj/structure/closet/secure_closet/expedition + name = "expeditors locker" + req_access = list(ACCESS_EXPEDITION) + icon = 'modular_ss220/objects/icons/closets.dmi' + icon_state = "explorer" + icon_opened = "explorer_open" + open_door_sprite = "explorer_door" + +/obj/structure/closet/secure_closet/expedition/populate_contents() + new /obj/item/gun/energy/laser/awaymission_aeg/rnd(src) + new /obj/item/storage/firstaid/regular(src) + new /obj/item/paper/pamphlet/gateway(src) diff --git a/modular_ss220/objects/icons/closets.dmi b/modular_ss220/objects/icons/closets.dmi new file mode 100644 index 0000000000000000000000000000000000000000..3b5f00bfba2f39d8fbca881aeb60516d9465cc8e GIT binary patch literal 1752 zcmZvdc{m$*8pnT$Xv7t5wCEV5l(wkQaYieML5rky)H+j&RU)l1O-f48QAgcc)Lq9o zidr<|ifELsTf0GYhqy+Sj27c2WB1v=cK46>`~Bnl{_}a>@AJF~L!)=eOI^4-M4Da`YZ)o7%us})(0JQw%L3`;KjEpG%$B0C^iPNfw zT5Y;A9B3WsG}gj0(AM3GvI<4X-BD@G&8Dxbzilvjs=rn}PhB&|N<<%ob9j}`!RS{X zL&q{gCXIfQ@lz91+mL^G{ND ztVesB?1waYm18I-iG5XrcOq`4$o&*%`Ibrlie8o><*+^XLFaHe<=sF;=g=N&daol2 zn_y7_EWA=0rf7R(-0I9H_4J*GZ(59Jw9V?&Tus>m_nS2VUQ0OZ_aps#2~hxaI(s*F zL^ZZQZt2Y{bdLG7HfNXlR}ry>G@$kvreZu`UL5*Dsz66y1WX0#9%>8J$g7@0s@xB$ zhLu))*k=hSMGn|L%{v$gQbSX`uYCvnaBAFf z8mXh5-Qem58=0N_MWw-|wYrL^w>hO9f|1~3)P?!=Z7FL>j{2$<=K^idDRlL~9tA<> zz05qRN&z366Bf!D-K|NnRq5aJUSS?I16~c`~Ut!2iyU|q1E#<6_1nMjM-zzogJJ!v! zQ6|E<$Nsys-R0f|rv2^m8~Ev(HUmv%OdO#o)xnbMM5j_-8|0sX`o%1wf0rlS3THXM zuB(4WnQc91)t2kbW|RiBWXFD^DXh_i2Ovsgcw5%_>!!#Dvyh6!y(B-4r;-(kjL;av zMSj9=_wcV@V@e~Z#k0Z7+Rl271f4hnw=VlxKT-eW+2rvujxDq3c6;U}@g{SwQ~n=X z%r9MM84dyp=(&q=SO@CYQxW+xRk=8`XF0VaJ~D9ga7J`CZ&PHyVPfE^nf9@JGG*{D z*ki?2BM;({o&Z>LE%l?50Gx3XJ3dp z(vN!-+Q>8auE0m)H=t?XntXH4SPlFg4Y83%;6iOch9xvj@dRW3KQ;b;5#9^5cwGNf zaXEcqG4yTqUs(DA7{TBXJxt&xpzj{!8MX{pwVch?bkWd&i%buyR(muCUmEm{UH0rc zrOtj}!IcW}X2{t&NUP%$*jkz6s0U{l-LP>AiWXCO)lgT{tLfYJg$M-^*wn5)ev{+B zEa%MPZMpkGG=@J^5L0zERnDc71mV)x%#b?1VCndAxNHC1dF&d8jk#3|Mmdfyx@mxJ z5k`D>0e1ptheqNs=Kl>HGNv^BAIO>m?NdoxQ1fx^YEIT$xi-;S*7rM(x;IU~l=4IG_c-@#L; zhLfqv)-DL49M=QEaHDVBYt|rcjz!9HIGmCwv%+NP>5k}^g}1`Ons#r$-Db^9Ot^lU zhA_d(nJ8uecMkWODOcqr9uySxwGffj9Fsb`_ReN@u*lbT~6O4_0q$>8Z`#(3&FC4upU~A=oud^V<{0Y7@EXV)= literal 0 HcmV?d00001