Basic Dark Wizards (#89147)

## About The Pull Request

Simple animal Dark Wizard => Basic mob Dark Wizard.
This mob is I think used in literally one ruin, and very occasionally
spawned in deathmatch.
They don't really do anything except shoot you with slowing projectiles
and hit you with sticks.

I gave them a version of blink with a longer cooldown that they use when
attacked in melee range purely to make them very marginally more
wizard-like, and they will also now try to back away from you while
shooting you instead of running towards you.

They will also retaliate against anyone who attacks them including as a
response to friendly fire from other Dark Wizards, because I think it is
funny if they have very little loyalty to each other and that's a fun
thing to trigger when you are playing Doom.

Finally, we have a component called "revenge ability" which is mostly a
standin for AI responses to getting attacked. I made all existing uses
of it turn off if you're controlled by a sapient player who can hit
those buttons themselves, because they can choose when they want to use
those abilities themselves.

## Why It's Good For The Game

The march of progress is almost complete

## Changelog

🆑
refactor: refactored some code
balance: Dark Wizards now teleport when attacked, but are more likely to
turn on their allies
/🆑
This commit is contained in:
Jacquerel
2025-01-22 20:50:07 -07:00
committed by GitHub
parent 1d0bed4466
commit 2aeeed086f
11 changed files with 96 additions and 52 deletions
@@ -388,6 +388,7 @@
contents = list(
/mob/living/basic/ant = 2,
/mob/living/basic/construct/proteon = 2,
/mob/living/basic/dark_wizard = 2,
/mob/living/basic/flesh_spider = 2,
/mob/living/basic/garden_gnome = 2,
/mob/living/basic/killer_tomato = 2,
@@ -403,7 +404,6 @@
/mob/living/basic/spider/giant/nurse/scrawny = 2,
/mob/living/basic/spider/giant/tarantula/scrawny = 2,
/mob/living/basic/spider/giant/hunter/scrawny = 2,
/mob/living/simple_animal/hostile/dark_wizard = 2,
/mob/living/simple_animal/hostile/retaliate/goose = 2,
/mob/living/simple_animal/hostile/ooze = 1,
)