Artifically spawned mobs have a vastly reduced penalty for death moodlet (#93348)

## About The Pull Request

Closes #93285

Mood event from the death of a mob spawned "artificially" is 75% weaker,
lasts 80% the duration, and don't compound

An artificial monkey's death will now result 
- -8 * 0.25 * 0.5 = floor(1) = 1 strength moodlet for the average crew
member
   - ...Lasting 30 seconds (unless refreshed)
- -8 * 0.25 * 1.5 = floor(3) = 3 strength moodlet for animal friends
   - ...Lasting 1.5 minutes (unless refreshed)
- -8 * 0.25 = floor(2) = 2 strength moodlet for compassionate crew
members
   - ...Lasting 1 minute (unless refreshed)

Artifical spawning includes
- Moneky Cube
- Xenobiology Console
- "Life" reaction
- Summoned rats
- Spawner grenades
- Cult ghosts

Lemmie know if I'm missing any obvious spawns 

## Why It's Good For The Game

While funny it was not my intention to have Xenobiology / Genetics /
Virology nuke your mood.

## Changelog

🆑 Melbert
balance: Death of artifical mobs (such as monkey cube monkeys) result in
a 75% weaker, 80% shorter moodlet that does not compound with more
deaths.
/🆑
This commit is contained in:
MrMelbert
2025-10-11 00:14:54 +02:00
committed by GitHub
parent 8979fe249f
commit 0800c75540
11 changed files with 21 additions and 6 deletions
@@ -31,6 +31,7 @@
var/mob/spammer = get_mob_by_key(fingerprintslast)
var/mob/living/bananas = new spawned_mob(drop_location(), TRUE, spammer) // funny that we pass monkey init args to non-monkey mobs, that's totally a future issue
if (!QDELETED(bananas))
ADD_TRAIT(bananas, TRAIT_SPAWNED_MOB, INNATE_TRAIT)
if(faction)
bananas.faction = faction
@@ -29,6 +29,8 @@
// Spawn some hostile syndicate critters and spread them out
var/list/spawned = spawn_and_random_walk(spawner_type, target_turf, deliveryamt, walk_chance = 50, admin_spawn = ((flags_1 & ADMIN_SPAWNED_1) ? TRUE : FALSE))
afterspawn(spawned)
for(var/mob/living/created as anything in spawned)
ADD_TRAIT(created, TRAIT_SPAWNED_MOB, INNATE_TRAIT)
qdel(src)