Skip to content

Commit

Permalink
Add: Выкидной ножик aka стилет (#994)
Browse files Browse the repository at this point in the history
<!-- Пишите **НИЖЕ** заголовков и **ВЫШЕ** комментариев, иначе что то
может пойти не так. -->
<!-- Вы можете прочитать Contributing.MD, если хотите узнать больше. -->

## Что этот PR делает
Добавлен новый ножик который появляется в техах, шанс появления равен
дымовой бомбе.
Наносит 8 брут урона, в сложенном состоянии имеет размер tiny, в
разложенном small, так же его можно повесить на пояс.
<!-- Вкратце опишите изменения, которые вносите. -->
<!-- Опишите **все** изменения, так как противное может сказаться на
рассмотрении этого PR'а! -->
<!-- Если вы исправляете Issue, добавьте "Fixes #xxxx" (где xxxx - номер
Issue) где-нибудь в описании PR'а. Это автоматически закроет Issue после
принятия PR'а. -->

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

## Изображения изменений
![image
(1)](https://github.com/ss220club/Paradise-SS220/assets/33863785/f7147184-a466-40e1-a2e0-3ef0b85ef9cf)

![image](https://github.com/ss220club/Paradise-SS220/assets/33863785/a445500b-c0f1-42d5-b9ed-a883d6893fea)

![image3](https://github.com/ss220club/Paradise-SS220/assets/33863785/b6671ec6-f804-4d6c-89b8-c37e3c2594f4)

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

## Тестирование
Тест на локалке
<!-- Как вы тестировали свой PR, если делали это вовсе? -->

## Changelog

:cl:
add: Добавлен выкидной нож в пул предметов контрабанды из техов

/:cl:

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

---------

Co-authored-by: Aylong <[email protected]>
Co-authored-by: Volodymir Ohorodnytskyi <[email protected]>
  • Loading branch information
3 people authored Mar 12, 2024
1 parent 8de3791 commit 2b728d4
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions modular_ss220/objects/code/weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -378,3 +378,64 @@
/obj/item/ammo_box/magazine/pneuma/pepper)
cost = 250
containername = "pneumatic pepper ammunition pack"

/obj/item/melee/stylet
name = "выкидной нож"
desc = "Маленький складной нож скрытого ношения. \
Нож в итальянском стиле, который исторически стал предметом споров и даже запретов \
Его лезвие практически мгновенно выбрасывается при нажатии кнопки-качельки."
slot_flags = SLOT_FLAG_BELT
w_class = WEIGHT_CLASS_TINY

var/on = FALSE
force = 2
var/force_on = 8

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'
hitsound = 'sound/weapons/bladeslice.ogg'
item_state = "stylet_0"
var/item_state_on = "stylet_1"
icon_state = "stylet_0"
var/icon_state_on = "stylet_1"
var/extend_sound = 'modular_ss220/objects/sound/weapons/styletext.ogg'
attack_verb = list("hit", "poked")
var/list/attack_verb_on = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")

/obj/item/melee/stylet/update_icon_state()
. = ..()
if(on)
icon_state = "stylet_1"
else
icon_state = "stylet_0"

/obj/item/melee/stylet/attack_self(mob/user)
on = !on

if(on)
to_chat(user, span_userdanger("Вы разложили [src]"))
item_state = item_state_on
update_icon(UPDATE_ICON_STATE)
w_class = WEIGHT_CLASS_SMALL
force = force_on
attack_verb = attack_verb_on
else
to_chat(user, span_notice("Вы сложили [src]."))
item_state = initial(item_state)
update_icon(UPDATE_ICON_STATE)
w_class = initial(w_class)
force = initial(force)
attack_verb = initial(attack_verb)

// 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/effect/spawner/lootdrop/maintenance/Initialize(mapload)
loot += list(/obj/item/melee/stylet = 3)
return ..()
Binary file modified modular_ss220/objects/icons/inhands/melee_lefthand.dmi
Binary file not shown.
Binary file modified modular_ss220/objects/icons/inhands/melee_righthand.dmi
Binary file not shown.
Binary file modified modular_ss220/objects/icons/melee.dmi
Binary file not shown.
Binary file added modular_ss220/objects/sound/weapons/styletext.ogg
Binary file not shown.

0 comments on commit 2b728d4

Please sign in to comment.