Changing changeling (Refactor) (#17749)

* Begin antag component

* Initial changeling move

* Slow...And...Steady...

* Initial

* remove  toworld testing

* More adjustments

* Update absorb.dm

Changelings get a genetic point per person absorbed

* Fixes losing your markings

* wa

* Update modularchangling.dm

* BETTER LING

WITH TGUI

* Gives all stings a global 1 second cd

Need to come up with a better way for this.

* snake_case

* Update epinephrine_overdose.dm

* Update changeling.dm

* Absorption/digestion absorbs people

Also disabled death sting because gtfo with that, it's unfun for everyone involved.

* prey ling

also DELETES death sting...It didn't even KILL properly

* fixes EMP shriek

* Update vorestation.dme

* Ling

* Unfat sting lowers nutrition more

* Update visible_camouflage.dm

* Update visible_camouflage.dm

* Changeling blades NOT embed

* Armblade fix

* Changeling spacesuit free

* Updates the armor

* Updates

* awa

* More

* Update blind_sting.dm

* Update blind_sting.dm

* Update boost_range.dm

* More adjustments

* Update _reagents.dm

* Update bioelectrogenesis.dm

* more

* all done

* awa

* shhh

* Update visible_camouflage.dm

* Update visible_camouflage.dm

* Update visible_camouflage.dm

* decon

* gets rid of AB+ blood

* Blood rejection and better checks

* changeling holder

* proper del

* Changeling lock

* Stops bodytheft

* yeah

* its reviving time

* Lets them shapeshift

* ah

* check

* Update negative.dm

* Update examine.dm
This commit is contained in:
Cameron Lennox
2025-07-04 21:08:03 +02:00
committed by GitHub
parent cefbb5103d
commit 3c622885c8
81 changed files with 1383 additions and 1380 deletions
@@ -593,6 +593,7 @@
if(DC.allowed(ui.user) || BR.ckey == ui.user.ckey)
BD.load_record_to_body(BR)
owner.resleeve_lock = BR.locked
owner.changeling_locked = BR.changeling_locked
DC.selected_record = TRUE
return TRUE
if("view_stock_brec")
@@ -621,7 +622,9 @@
return FALSE
if(!DC.disk)
return FALSE
if(owner.resleeve_lock)
if(owner.changeling_locked)
to_chat(ui.user, span_warning("ERROR: Record too complex. Disk does not have enough space to store this record."))
else if(owner.resleeve_lock)
var/answer = tgui_alert(ui.user,"This body record will be written to a disk and allow any mind to inhabit it. This is against the current body owner's configured OOC preferences for body impersonation. Please confirm that you have permission to do this, and are sure! Admins will be notified.","Mind Compatability",list("No","Yes"))
if(!answer)
return
@@ -630,7 +633,7 @@
else
message_admins("[ui.user] wrote an unlocked version of [owner.real_name]'s bodyrecord to a disk. Their preferences do not allow body impersonation, but may be allowed with OOC consent.")
owner.resleeve_lock = FALSE // unlock it, even though it's only temp, so you don't get the warning every time
if(!owner.resleeve_lock && can_change(owner, APPEARANCE_RACE))
if(!owner.changeling_locked && (!owner.resleeve_lock && can_change(owner, APPEARANCE_RACE)))
// Create it from the mob
if(DC.disk.stored)
qdel_null(DC.disk.stored)