Skip to content

Commit

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

## Что этот PR делает

Фиксит мой оверсайт, когда ящик Некрополя выдавался при отсутствии лута,
мегафауной космоса или миньонами мегафауны, которые не имеют возможности
выдать мейн награду.

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

## Почему это хорошо для игры

Шахтёр в форме дракона не должен после своей смерти дропать ящик
Некрополя (или должен?).
Космодракон и Флешлинг (из руин космоса) не должны дропать ящик
Некрополя.
Галлюцинации Бубльгума не должны дропать ящик Некрополя.
Мегафауна без лута не должна дропать ящик Некрополя.

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

## Тестирование

Проверил на локалке. Все кейсы из секции выше успешные.

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

## Changelog

:cl:
fix: Исправлена ошибочная выдача ящика Некрополя за убийство
галлюцинаций, а также мегафауны космоса и низшего дрейка.
/:cl:

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

## Обзор от Sourcery

Исправления ошибок:
- Исправлена ошибка, из-за которой ящики Некрополя некорректно выпадали
из космической мегафауны, прислужников мегафауны и мегафауны без
основного лута.

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Bug Fixes:
- Fixed an issue where Necropolis crates were incorrectly dropped by
space megafauna, megafauna minions, and megafauna without main loot.

</details>
  • Loading branch information
kyunkyunkyun authored Feb 19, 2025
1 parent ee84c2f commit 86e2c19
Showing 1 changed file with 20 additions and 4 deletions.
24 changes: 20 additions & 4 deletions modular_ss220/balance/code/loot/megafauna.dm
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
/mob/living/simple_animal/hostile/megafauna
var/static/list/alt_loot = list(/obj/structure/closet/crate/necropolis/tendril)
var/loot_chance = 75

/mob/living/simple_animal/hostile/megafauna/drop_loot()
if(enraged || prob(75))
if(enraged || prob(loot_chance))
return ..()
new /obj/structure/closet/crate/necropolis/tendril(loc)
if(length(loot))
loot = alt_loot
return ..()

/mob/living/simple_animal/hostile/megafauna/ancient_robot/drop_loot()
if(enraged || prob(75))
if(enraged || prob(loot_chance))
return ..()
new /obj/structure/closet/crate/necropolis/tendril(loc)
if(length(loot))
new /obj/structure/closet/crate/necropolis/tendril(loc)

/mob/living/simple_animal/hostile/megafauna/bubblegum/drop_loot()
if(!enraged)
Expand All @@ -18,3 +25,12 @@
/obj/structure/closet/crate/necropolis/bubblegum/populate_contents()
new /obj/item/clothing/suit/space/hostile_environment(src)
new /obj/item/clothing/head/helmet/space/hostile_environment(src)

/mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination
loot_chance = 100

/mob/living/simple_animal/hostile/megafauna/dragon/space_dragon
loot_chance = 100

/mob/living/simple_animal/hostile/megafauna/fleshling
loot_chance = 100

0 comments on commit 86e2c19

Please sign in to comment.