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

tweak: Rework suicide drill #6189

Merged
merged 11 commits into from
Dec 23, 2024
Merged
Show file tree
Hide file tree
Changes from 4 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
100 changes: 68 additions & 32 deletions code/modules/surgery/tools.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/obj/item/retractor
name = "retractor"
desc = "Retracts stuff."
desc = "Инструмент для расширения полостей при операциях."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon = 'icons/obj/surgery.dmi'
icon_state = "retractor"
item_state = "retractor"
Expand All @@ -16,19 +16,19 @@

/obj/item/retractor/laser
name = "Advanced Laser Retractors"
desc = "A retractor with a laser tip. This one looks to be the pinnacle of precision energy a surgery tools!"
desc = "Ретрактор с лазерным наконечником. В два раза практичнее родителя!"
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon_state = "retractor_laser"
item_state = "retractor_laser"
toolspeed = 0.4

/obj/item/retractor/augment
desc = "Micro-mechanical manipulator for retracting stuff."
desc = "Микромеханический манипулятор для расширения полостей при операциях."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
w_class = WEIGHT_CLASS_TINY
toolspeed = 0.5

/obj/item/hemostat
name = "hemostat"
desc = "You think you have seen this before."
desc = "Инструмент для остановки кровотечения."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon = 'icons/obj/surgery.dmi'
icon_state = "hemostat"
item_state = "hemostat"
Expand All @@ -45,18 +45,18 @@

/obj/item/hemostat/laser
name = "Advanced Laser Hemostat"
desc = "A hemostat with a laser clamp. This one looks to be the pinnacle of precision energy a surgery tools!"
desc = "Гемостат с лазерным зажимом. В два раза практичнее родителя!"
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon_state = "hemostat_laser"
item_state = "hemostat_laser"
toolspeed = 0.4

/obj/item/hemostat/augment
desc = "Tiny servos power a pair of pincers to stop bleeding."
desc = "Крошечные сервомоторы приводят в действие пару клещей, чтобы остановить кровотечение."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
toolspeed = 0.5

/obj/item/cautery
name = "cautery"
desc = "This stops bleeding."
desc = "Останавливает кровотечение."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon = 'icons/obj/surgery.dmi'
icon_state = "cautery"
item_state = "cautery"
Expand All @@ -72,13 +72,21 @@
ADD_TRAIT(src, TRAIT_SURGICAL, ROUNDSTART_TRAIT)

/obj/item/cautery/augment
desc = "A heated element that cauterizes wounds."
desc = "Нагретый наконечник, прижигающий раны."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
toolspeed = 0.5

/obj/item/surgicaldrill
name = "surgical drill"
desc = "You can drill using this item. You dig?"
desc = "Инструмент, предназначенный для сверления отверстий. Постарайтесь не попасть в глаз"
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon = 'icons/obj/surgery.dmi'
ru_names = list(
NOMINATIVE = "хирургическая дрель",
GENITIVE = "хирургической дрели",
DATIVE = "хирургической дрели",
ACCUSATIVE = "хирургическую дрель",
INSTRUMENTAL = "хирургической дрелью",
PREPOSITIONAL = "хирургической дрели",
)
icon_state = "drill"
item_state = "drills"
hitsound = 'sound/weapons/drill.ogg'
Expand All @@ -95,28 +103,48 @@
. = ..()
ADD_TRAIT(src, TRAIT_SURGICAL, ROUNDSTART_TRAIT)

/obj/item/surgicaldrill/suicide_act(mob/user)
to_chat(viewers(user), pick(span_suicide("[user] is pressing [src] to [user.p_their()] temple and activating it! It looks like [user.p_theyre()] trying to commit suicide."),
span_suicide("[user] is pressing [src] to [user.p_their()] chest and activating it! It looks like [user.p_theyre()] trying to commit suicide.")))
return BRUTELOSS
/obj/item/surgicaldrill/suicide_act(mob/living/user)
user.visible_message(span_suicide("[user] наматыва[pluralize_ru(user.gender, "ет", "ют")] себя на [declent_ru(ACCUSATIVE)]! Похоже, что [genderize_ru(user.gender, "он", "она", "оно", "они")] соверша[pluralize_ru(user.gender, "ет", "ют")] суицид!"))
addtimer(CALLBACK(src, PROC_REF(second_act), user), 2.5 SECONDS)
user.SpinAnimation(3, 10)
user.Immobilize(5 SECONDS)
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
playsound(user, 'sound/machines/juicer.ogg', 20, TRUE)
return OBLITERATION

/obj/item/surgicaldrill/proc/second_act(mob/user)
if(!user)
return

for(var/obj/item/W in user)
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
user.drop_item_ground(W)

user.gib()

/obj/item/surgicaldrill/laser
name = "Advanced Laser Surgical Drill"
desc = "A surgery drill with a directed laser bit. This one looks to be the pinnacle of precision energy a surgery tools!"
desc = "Хирургическая дрель с направленной лазерной насадко. В два раза практичнее родителя!"
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon_state = "drill_laser"
item_state = "drill_laser"
toolspeed = 0.4

/obj/item/surgicaldrill/augment
desc = "Effectively a small power drill contained within your arm, edges dulled to prevent tissue damage. May or may not pierce the heavens."
desc = "Небольшая электрическая дрель, находящаяся внутри вашей руки. Края затуплены, чтобы не повредить ткани. Не может пронзить небеса."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
hitsound = 'sound/weapons/circsawhit.ogg'
force = 10
w_class = WEIGHT_CLASS_SMALL
toolspeed = 0.5

/obj/item/scalpel
name = "scalpel"
desc = "Cut, cut, and once more cut."
desc = "Резать, резать и еще раз резать."
ru_names = list(
NOMINATIVE = "скальпель",
GENITIVE = "скальпеля",
DATIVE = "скальпелю",
ACCUSATIVE = "скальпель",
INSTRUMENTAL = "скальпелем",
PREPOSITIONAL = "скальпеле",
)
icon = 'icons/obj/surgery.dmi'
icon_state = "scalpel"
item_state = "scalpel"
Expand All @@ -142,25 +170,33 @@


/obj/item/scalpel/suicide_act(mob/user)
to_chat(viewers(user), pick(span_suicide("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide."),
span_suicide("[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide."),
span_suicide("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku.")))
to_chat(viewers(user), pick(span_suicide("[user] [declent_ru(INSTRUMENTAL)] среза[pluralize_ru(user.gender, "ет", "ют")] свою кожу! Похоже, что [genderize_ru(user.gender, "он", "она", "оно", "они")] соверша[pluralize_ru(user.gender, "ет", "ют")] суицид!"),
span_suicide("[user] реж[pluralize_ru(user.gender, "ет", "ют")] своё горло с помощью [declent_ru(GENITIVE)]! Похоже, что [genderize_ru(user.gender, "он", "она", "оно", "они")] соверша[pluralize_ru(user.gender, "ет", "ют")] суицид!"),
span_suicide("[user] вонза[pluralize_ru(user.gender, "ет", "ют")] [declent_ru(NOMINATIVE)] в свой желудок! Похоже, что [genderize_ru(user.gender, "он", "она", "оно", "они")] пыта[pluralize_ru(user.gender, "ет", "ют")]ся совершить сэппуку.")))
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
return BRUTELOSS


/obj/item/scalpel/augment
desc = "Ultra-sharp blade attached directly to your bone for extra-accuracy."
desc = "Ультраострое лезвие крепится непосредственно к кости, обеспечивая дополнительную точность."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
toolspeed = 0.5

/*
* Researchable Scalpels
*/
/obj/item/scalpel/laser //parent type
name = "laser scalpel"
desc = "A scalpel augmented with a directed laser."
desc = "Скальпель, дополненный направленным лазером."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon_state = "scalpel_laser1_on"
damtype = "fire"
hitsound = 'sound/weapons/sear.ogg'
ru_names = list(
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
NOMINATIVE = "лазерный скальпель",
GENITIVE = "лазерного скальпеля",
DATIVE = "лазерному скальпелю",
ACCUSATIVE = "лазерный скальпель",
INSTRUMENTAL = "лазерным скальпелем",
PREPOSITIONAL = "лазерном скальпеле",
)

/obj/item/scalpel/laser/laser1 //lasers also count as catuarys
name = "Basic Laser Scalpel"
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
Expand All @@ -182,7 +218,7 @@

/obj/item/scalpel/laser/manager //super tool! Retractor/hemostat
name = "incision management system"
desc = "A true extension of the surgeon's body, this marvel instantly and completely prepares an incision allowing for the immediate commencement of therapeutic steps."
desc = "Настоящее продолжение дела хирурга, это чудо мгновенно и полностью подготавливает разрез, позволяя немедленно приступить к работе."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon_state = "scalpel_manager_on"
toolspeed = 0.2

Expand All @@ -193,18 +229,18 @@

/obj/item/scalpel/laser/manager/debug
name = "debug IMS"
desc = "A wonder of modern medicine. This tool functions as any other sort of surgery tool, and finishes in only a fraction of the time. Hey, how'd you get your hands on this, anyway?"
desc = "Чудо современной медицины. Этот инструмент действует как любой другой хирургический инструмент и заканчивается в кратчайшие сроки. А как ты вообще это заполучил?"
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
toolspeed = 0.01

/obj/item/scalpel/laser/manager/debug/attack_self(mob/user)
. = ..()
toolspeed = toolspeed == 0.5 ? 0.01 : 0.5
to_chat(user, "[src] is now set to toolspeed [toolspeed]")
to_chat(user, "У [declent_ru(GENITIVE)] установлена ​​скорость инструмента[toolspeed]")
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
playsound(src, 'sound/effects/pop.ogg', 50, 0) //Change the mode

/obj/item/circular_saw
name = "circular saw"
desc = "For heavy duty cutting."
desc = "Инструмент, чтобы резать кости."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon = 'icons/obj/surgery.dmi'
icon_state = "saw3"
hitsound = 'sound/weapons/circsawhit.ogg'
Expand All @@ -229,21 +265,21 @@

/obj/item/circular_saw/laser
name = "Advanced Laser Circular Saw"
desc = "A saw with a circular laser disk. This one looks to be the pinnacle of precision energy a surgery tools!"
desc = "Пила с круглым лазерным диском. В два раза практичнее родителя!"
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon_state = "saw_laser"
item_state = "saw_laser"
origin_tech = "biotech=1;material=1"
toolspeed = 0.6

/obj/item/circular_saw/augment
desc = "A small but very fast spinning saw. Edges dulled to prevent accidental cutting inside of the surgeon."
desc = "Маленькая, но очень быстро вращающаяся пила. Края притуплены, чтобы предотвратить случайный порез внутри носителя."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
force = 10
w_class = WEIGHT_CLASS_SMALL
toolspeed = 0.5

//misc, formerly from code/defines/weapons.dm
/obj/item/bonegel
name = "bone gel"
name = "Гель для костей."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon = 'icons/obj/surgery.dmi'
icon_state = "bone-gel"
item_state = "bone-gel"
Expand All @@ -261,7 +297,7 @@
toolspeed = 0.5

/obj/item/FixOVein
name = "FixOVein"
name = "Инструмент, для прижигания внутренних кровотечений."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon = 'icons/obj/surgery.dmi'
icon_state = "fixovein"
item_state = "fixovein"
Expand All @@ -279,7 +315,7 @@
toolspeed = 0.5

/obj/item/bonesetter
name = "bone setter"
name = "Инструмент для правления костей"
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon = 'icons/obj/surgery.dmi'
icon_state = "bone setter"
item_state = "bone setter"
Expand All @@ -298,7 +334,7 @@

/obj/item/bonesetter/laser
name = "Advanced Laser Bone Setter"
desc = "A bone settler with a laser teeth. This one looks to be the pinnacle of precision energy a surgery tools!"
desc = "Инструмент для правки костей, но с лазерными зубами. В два раза практичнее родителя!"
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon_state = "bonesetter_laser"
item_state = "bonesetter_laser"
toolspeed = 0.4
Expand All @@ -308,7 +344,7 @@

/obj/item/surgical_drapes
name = "surgical drapes"
desc = "Nanotrasen brand surgical drapes provide optimal safety and infection control."
desc = "Хирургическая простыня марки Nanotrasen. Обеспечивает оптимальную безопасность и инфекционный контроль."
Rafnik02 marked this conversation as resolved.
Show resolved Hide resolved
icon = 'icons/obj/surgery.dmi'
icon_state = "surgical_drapes"
w_class = WEIGHT_CLASS_SMALL
Expand Down
8 changes: 4 additions & 4 deletions paradise.dme
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
#include "code\__DEFINES\blob.dm"
#include "code\__DEFINES\borer.dm"
#include "code\__DEFINES\bots.dm"
#include "code\__DEFINES\rituals.dm"
#include "code\__DEFINES\byond_tracy.dm"
#include "code\__DEFINES\callbacks.dm"
#include "code\__DEFINES\cargo_quests.dm"
Expand Down Expand Up @@ -115,6 +114,7 @@
#include "code\__DEFINES\RCD.dm"
#include "code\__DEFINES\reagents.dm"
#include "code\__DEFINES\request.dm"
#include "code\__DEFINES\rituals.dm"
#include "code\__DEFINES\role_preferences.dm"
#include "code\__DEFINES\rolebans.dm"
#include "code\__DEFINES\rust_g.dm"
Expand Down Expand Up @@ -368,7 +368,6 @@
#include "code\controllers\subsystem\tickets\mentor_tickets.dm"
#include "code\controllers\subsystem\tickets\tickets.dm"
#include "code\datums\action.dm"
#include "code\datums\rituals.dm"
#include "code\datums\ai_law_sets.dm"
#include "code\datums\ai_laws.dm"
#include "code\datums\armor.dm"
Expand Down Expand Up @@ -404,6 +403,7 @@
#include "code\datums\radio.dm"
#include "code\datums\recipe.dm"
#include "code\datums\revision.dm"
#include "code\datums\rituals.dm"
#include "code\datums\ruins.dm"
#include "code\datums\shuttles.dm"
#include "code\datums\snake_fashion.dm"
Expand Down Expand Up @@ -446,7 +446,6 @@
#include "code\datums\components\conveyor_movement.dm"
#include "code\datums\components\cross_shock.dm"
#include "code\datums\components\decal.dm"
#include "code\datums\components\ritual_object.dm"
#include "code\datums\components\defibrillator.dm"
#include "code\datums\components\drift.dm"
#include "code\datums\components\ducttape.dm"
Expand All @@ -465,6 +464,7 @@
#include "code\datums\components\persistent_overlay.dm"
#include "code\datums\components\proximity_monitor.dm"
#include "code\datums\components\radioactivity.dm"
#include "code\datums\components\ritual_object.dm"
#include "code\datums\components\shielded.dm"
#include "code\datums\components\slippery.dm"
#include "code\datums\components\spawner.dm"
Expand Down Expand Up @@ -3140,7 +3140,6 @@
#include "code\modules\tgui\plugins\modal.dm"
#include "code\modules\tgui\states\admin.dm"
#include "code\modules\tgui\states\always.dm"
#include "code\modules\tgui\states\range.dm"
#include "code\modules\tgui\states\conscious.dm"
#include "code\modules\tgui\states\contained.dm"
#include "code\modules\tgui\states\deep_inventory.dm"
Expand All @@ -3152,6 +3151,7 @@
#include "code\modules\tgui\states\notcontained.dm"
#include "code\modules\tgui\states\observer.dm"
#include "code\modules\tgui\states\physical.dm"
#include "code\modules\tgui\states\range.dm"
#include "code\modules\tgui\states\self.dm"
#include "code\modules\tgui\states\strippable_state.dm"
#include "code\modules\tgui\states\zlevel.dm"
Expand Down