Skip to content

Commit

Permalink
scp012_fix
Browse files Browse the repository at this point in the history
Исправляем меметический эффект 012
  • Loading branch information
Avitzh committed May 27, 2024
1 parent 71a6a8d commit c325008
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 0 deletions.
1 change: 1 addition & 0 deletions mod_celadon/mod_celadon.dme
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include "sci_job_names/_sci_job_names.dme"
#include "contraband_fix/_contraband_fix.dme"
#include "utf_8/_utf_8.dme"
#include "scp012_fix/_scp012_fix.dme"


// --- OBJECTS --- //
Expand Down
34 changes: 34 additions & 0 deletions mod_celadon/scp012_fix/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@


#### Список PRов:

- https://github.com/CeladonSS13/Foundation-19/tree/beta-dev/#####

## Мод-пример

ID мода: SCP012_FIX

### Описание мода

Модпак для исправления меметического эффекта 012. Теперь объект не влияет, если стоять к нему спиной или закрыть
глаза повязкой.

### Изменения *кор кода*

- `code/modules/SCP/SCP-012.dm`: `/obj/item/paper/scp012/proc/memetic_effect(mob/living/carbon/human/H)`

### Оверрайды

Отсуствуют

### Дефайны

Отсуствуют

### Используемые файлы, не содержащиеся в модпаке

Отсуствуют

### Авторы:

OlegDark
10 changes: 10 additions & 0 deletions mod_celadon/scp012_fix/_scp012_fix.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/datum/modpack/scp012_fix
/// Строковое имя модпака. Используется для поиска других модпаков в init.
name = "scp012_fix"
/// Строковое описание для модпака. Может использоваться для списка глаголов модпака в качестве описания.
desc = "Помогаем 012 правильно определять тех, кто его видит"
/// Строка с авторами этого модпака.
author = "OlegDark"

///**********************************************************************///

8 changes: 8 additions & 0 deletions mod_celadon/scp012_fix/_scp012_fix.dme
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#ifndef MODPACK_CELADON_SCP012_FIX
#define MODPACK_CELADON_SCP012_FIX

#include "_scp012_fix.dm"

#include "code/scp012_fix.dm"

#endif
30 changes: 30 additions & 0 deletions mod_celadon/scp012_fix/code/scp012_fix.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Перегрузка базового метода scp012
// Возможно изменение параметров стана в дальнейшем.
/obj/item/paper/scp012/memetic_effect(mob/living/carbon/human/H)

var/obj/item/paper/scp012/A = locate(/obj/item/paper/scp012/) in GLOB.SCP_list // Находим объект
if (!A) // Уходим, если объекта нет O.O
return
if(!H || H.stat == UNCONSCIOUS || H.blinded || !H.can_see(A)) //Unconscious individuals cant keep hurting themselves
return

if(get_dist(H, src) > 1)
step_to(H, src)
H.Stun(2)
else if(((world.time - effect_cooldown_counter) > effect_cooldown) || abs((world.time - effect_cooldown_counter) - effect_cooldown) < 0.1 SECONDS) //Last part is so that this can run for all affected humans without worrying about cooldown
H.Stun(60)
if(prob(60) && H.getBruteLoss())
H.visible_message(SPAN_WARNING("[H] smears [H.p_their()] blood on \"[name]\", writing musical notes..."))
else if(prob(50))
H.visible_message(SPAN_DANGER("[H] rips into [H.p_their()] own flesh and covers [H.p_their()] hands in blood!"))
H.emote("scream")
H.apply_damage(25, BRUTE, prob(50) ? BP_L_ARM : BP_R_ARM)
H.drip(50)
else if(prob(30))
if(prob(50))
H.visible_message(SPAN_NOTICE("[H] looks at the \"[name]\" and sighs dejectedly."))
playsound(H, "sounds/voice/emotes/sigh_[gender2text(H.gender)].ogg", 100)
else
H.visible_message(SPAN_NOTICE("[H] looks at the \"[name]\" and cries."))
playsound(H, "sounds/voice/emotes/[gender2text(H.gender)]_cry[pick(list("1","2"))].ogg", 100)
effect_cooldown_counter = world.time

0 comments on commit c325008

Please sign in to comment.