Skip to content

Commit

Permalink
Centcom Tactical Bat (#671)
Browse files Browse the repository at this point in the history
<!-- Пишите **НИЖЕ** заголовков и **ВЫШЕ** комментариев, иначе что то
может пойти не так. -->
<!-- Вы можете прочитать Contributing.MD, если хотите узнать больше. -->
## Что этот PR делает
Возвращает тактическую бейсбольную биту в игру.
<!-- Вкратце опишите изменения, которые вносите. -->
<!-- Опишите **все** изменения, так как противное может сказаться на
рассмотрении этого PR'а! -->
<!-- Если вы исправляете Issue, добавьте "Fixes #1234" (где 1234 - номер
Issue) где-нибудь в описании PR'а. Это автоматически закроет Issue после
принятия PR'а. -->

## Почему это хорошо для игры
Ультимативное оружие правосудия вновь будет нести свою службу на благо
Нанотрейзен. Бойтесь, колени!
<!-- Опишите, почему, по вашему, следует добавить эти изменения в игру.
-->

## Изображения изменений
<!-- Если вы не меняли карту или спрайты, можете опустить эту секцию.
Если хотите, можете вставить видео. -->

![image](https://github.com/ss220club/Paradise-SS220/assets/38350888/02766729-129c-497f-b34a-c4029f157cbe)

## Тестирование
<!-- Как вы тестировали свой PR, если делали это вовсе? -->
Функционал проверен в игре: иконки рабочие, куклы не с цк в руки не
возьмут, складывается, раскладывается, хоумраны прописывает.
## Changelog

:cl:
add: Тактическая бита центрального командования.
/:cl:

<!-- Оба :cl:'а должны быть на месте, что-бы чейнджлог работал! Вы
можете написать свой ник справа от первого :cl:, если хотите. Иначе
будет использован ваш ник на ГитХабе. -->
<!-- Вы можете использовать несколько записей с одинаковым префиксом
(Они используются только для иконки в игре) и удалить ненужные. Помните,
что чейнджлог должен быть понятен обычным игроком. -->
<!-- Если чейнджлог не влияет на игроков(например, это рефактор), вы
можете исключить всю секцию. -->

---------

Co-authored-by: larentoun <[email protected]>
Co-authored-by: Aylong <[email protected]>
Co-authored-by: Gaxeer <[email protected]>
  • Loading branch information
4 people authored Nov 13, 2023
1 parent 2ae60c9 commit 4f08d76
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 0 deletions.
78 changes: 78 additions & 0 deletions modular_ss220/objects/code/weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -156,3 +156,81 @@
max_ammo = 100
icon = 'modular_ss220/objects/icons/ammo.dmi'
icon_state = "mm127_box"

// Тактическая бита Флота Nanotrasen
/obj/item/melee/baseball_bat/homerun/central_command
name = "тактическая бита Флота Nanotrasen"
desc = "Выдвижная тактическая бита Центрального Командования Nanotrasen. \
В официальных документах эта бита проходит под элегантным названием \"Высокоскоростная система доставки СРП\". \
Выдаваясь только самым верным и эффективным офицерам Nanotrasen, это оружие является одновременно символом статуса \
и инструментом высшего правосудия."
slot_flags = SLOT_FLAG_BELT
w_class = WEIGHT_CLASS_SMALL

var/on = FALSE
/// Force when concealed
force = 5
/// Force when extended
var/force_on = 20

lefthand_file = 'modular_ss220/objects/icons/inhands/melee_lefthand.dmi'
righthand_file = 'modular_ss220/objects/icons/inhands/melee_righthand.dmi'
icon = 'modular_ss220/objects/icons/melee.dmi'
/// Item state when concealed
item_state = "centcom_bat_0"
/// Item state when extended
var/item_state_on = "centcom_bat_1"
/// Icon state when concealed
icon_state = "centcom_bat_0"
/// Icon state when extended
var/icon_state_on = "centcom_bat_1"
/// Sound to play when concealing or extending
var/extend_sound = 'sound/weapons/batonextend.ogg'
/// Attack verbs when concealed (created on Initialize)
attack_verb = list("hit", "poked")
/// Attack verbs when extended (created on Initialize)
var/list/attack_verb_on = list("smacked", "struck", "cracked", "beaten")

/obj/item/melee/baseball_bat/homerun/central_command/pickup(mob/living/user)
. = ..()
if(!(user.mind.offstation_role))
user.Weaken(10 SECONDS)
user.unEquip(src, force, silent = FALSE)
to_chat(user, span_userdanger("Это - оружие истинного правосудия. Тебе не дано обуздать его мощь."))
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.apply_damage(rand(force/2, force), BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM))
else
user.adjustBruteLoss(rand(force/2, force))

/obj/item/melee/baseball_bat/homerun/central_command/attack_self(mob/user)
on = !on

if(on)
to_chat(user, span_userdanger("Вы активировали [src.name] - время для правосудия!"))
item_state = item_state_on
icon_state = icon_state_on
w_class = WEIGHT_CLASS_HUGE
force = force_on
attack_verb = attack_verb_on
else
to_chat(user, span_notice("Вы деактивировали [src.name]."))
item_state = initial(item_state)
icon_state = initial(icon_state)
w_class = initial(w_class)
force = initial(force)
attack_verb = initial(attack_verb)

homerun_able = on
// Update mob hand visuals
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
H.update_inv_r_hand()
playsound(loc, extend_sound, 50, TRUE)
add_fingerprint(user)

/obj/item/melee/baseball_bat/homerun/central_command/attack(mob/living/target, mob/living/user)
if(on)
homerun_ready = TRUE
. = ..()
Binary file not shown.
Binary file not shown.
Binary file added modular_ss220/objects/icons/melee.dmi
Binary file not shown.
2 changes: 2 additions & 0 deletions modular_ss220/outfits/code/outfits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@
/obj/item/ammo_box/speed_loader_mm127 = 3
)

/datum/outfit/job/ntnavyofficer
l_pocket = /obj/item/melee/baseball_bat/homerun/central_command

/obj/item/clothing/under/solgov/srt
name = "marine uniform"
Expand Down

0 comments on commit 4f08d76

Please sign in to comment.