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

[FEAT] Silicon barriers #499

Merged
merged 4 commits into from
Oct 21, 2023
Merged
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
1 change: 1 addition & 0 deletions modular_ss220/modular_ss220.dme
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
#include "unique_objects/_unique_objects.dme"
#include "vending/vending.dme"
#include "wire_splicing/wiresplicing.dme"
#include "silicons/_silicons.dme"

// --- MISC --- //
#include "administration/_administration.dme"
Expand Down
4 changes: 4 additions & 0 deletions modular_ss220/silicons/_silicons.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/datum/modpack/silicons
name = "Silicons Modpack"
desc = "Изменения для синтетиков."
author = "PhantomRU"
3 changes: 3 additions & 0 deletions modular_ss220/silicons/_silicons.dme
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#include "_silicons.dm"

#include "code/robot_modules.dm"
57 changes: 57 additions & 0 deletions modular_ss220/silicons/code/robot_modules.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/obj/item/robot_module/drone/Initialize(mapload)
. = ..()
basic_modules |= list(
/obj/item/holosign_creator/atmos,
)

/obj/item/robot_module/engineering/Initialize(mapload)
. = ..()
basic_modules |= list(
/obj/item/inflatable/cyborg,
/obj/item/inflatable/cyborg/door,
)


// надувные стены
/obj/item/inflatable/cyborg
name = "надувная стена"
desc = "Сложенная надувная стена, которая при активации быстро расширяется до большой кубической мембраны."
var/power_use = 400
var/structure_type = /obj/structure/inflatable

/obj/item/inflatable/cyborg/door
name = "надувной шлюз"
desc = "Сложенный надувной шлюз, который при активации быстро расширяется в простую дверь."
icon_state = "folded_door"
power_use = 600
structure_type = /obj/structure/inflatable/door

/obj/item/inflatable/cyborg/examine(mob/user)
. = ..()
. += span_notice("Как синтетик, вы можете восстановить их в <b>cyborg recharger</b>")

/obj/item/inflatable/cyborg/attack_self(mob/user)
if(locate(/obj/structure/inflatable) in get_turf(user))
to_chat(user, span_warning("Здесь уже есть надувная стена!"))
return FALSE

playsound(loc, 'sound/items/zip.ogg', 75, 1)
to_chat(user, span_notice("Вы надули [name]"))
var/obj/structure/inflatable/R = new structure_type(user.loc)
transfer_fingerprints_to(R)
R.add_fingerprint(user)
Furrior marked this conversation as resolved.
Show resolved Hide resolved
useResource(user)

/obj/item/inflatable/cyborg/proc/useResource(mob/user)
if(!isrobot(user))
return FALSE
var/mob/living/silicon/robot/R = user
if(R.cell.charge < power_use)
to_chat(user, span_warning("Недостаточно заряда!"))
return FALSE
return R.cell.use(power_use)

//Небольшой багфикс "непрозрачного открытого шлюза"
/obj/structure/inflatable/door/operate()
. = ..()
opacity = FALSE
Loading