Files
Bubberstation/code/modules/hallucination/hud_screw.dm
T
MrMelbertandGitHub 6baebf47a1 Completely refactors hallucinations, and also adds a few (#69706)
* Refactors hallucinations slightly, organizes them

* Refactors hallucination into a status effect

* Further hallucination proper refactoring

* Refactors battle hallucinations

* Refactors "fake item other" hallucination

* Gets it a bit closer to working state

* Refactors screwydoll and fake alerts

* Refactors fake inhand items

* Refactors a few more.
- Fake death
- Fake messages
- Fake sounds
- Projectiles

* Refactoring delusions, hallucination effects

* Furthering the hallucination status effect
- removes copypaste of hallucination pulses

* Almost finalizes the changeover to status effect

* Last staus effect stuff

* Delusion business

* Airlocks, fire, and more delusion stuff

* Finishes screwyhud. It compiles now!

* Swaps screwyhud over to a grouped status effect

* Removes hal_screwyhud

* Comment

* Bugfixing

* image cleaning

* Get rid of this it came back

* What if I finished this branch?

* Oops

* Messing with the randomness

* Mass hallucination tweaks

* +

* Some more mass tweaks

* Review

* Updates

* Unit tests hallucination icons

* More tweaks

* Move folder

* Another re-name

* Minor tweaks

* Anomaly unity

* Mass hallucination buffs

* t

* Sig

* Merge

* Lints

* Unit test already coming in clutch

* Another failure

* Use named args for cause_hallucination via some define trickery

* Some cleanup

* This is better

* adds some hallucinations

* Oops

* More sounds

* Tweaks

* Some additional documentation

* Flash

* Fixes mass hallucination

* Json changes

* Updates documentation

* Json conflicts

* Makes it work

* Missed that one too

* Helpers

* More signalization (WIP)

* Fixes bump

* Missed a helper use

* Dumb
2022-09-21 01:30:04 -04:00

27 lines
897 B
Plaintext

/// Screwyhud, makes the user's health bar hud wonky
/datum/hallucination/screwy_hud
abstract_hallucination_parent = /datum/hallucination/screwy_hud
random_hallucination_weight = 4
/// The type of hud we give to the hallucinator
var/screwy_hud_type = SCREWYHUD_NONE
/datum/hallucination/screwy_hud/start()
hallucinator.apply_status_effect(screwy_hud_type, type)
QDEL_IN(src, rand(10 SECONDS, 25 SECONDS))
return TRUE
/datum/hallucination/screwy_hud/Destroy()
if(!QDELETED(hallucinator))
hallucinator.remove_status_effect(screwy_hud_type, type)
return ..()
/datum/hallucination/screwy_hud/crit
screwy_hud_type = /datum/status_effect/grouped/screwy_hud/fake_crit
/datum/hallucination/screwy_hud/dead
screwy_hud_type = /datum/status_effect/grouped/screwy_hud/fake_dead
/datum/hallucination/screwy_hud/healthy
screwy_hud_type = /datum/status_effect/grouped/screwy_hud/fake_healthy