The Divine Flock - DaedalusDock Flockmind Port (#31984)

* Initial commit - FLOCKMIND - Probably has like a billion things to fix

* Do after conversions

* Config

* Moved the files, icon fixes

* Tick everything, language work, event, spawn landmark, role prefs, beginning mob port

* Spans and some other fixes. Also the tickening

* More tickening

* More fixes. Lots of fixes.

* More Fixes

* A whole lot more. Also flock TGUI.

* Fixes fixes fixes fixes fixes

* FIXES

* More fixes - PR ready, still needs a fuckton of testing

* Fixes

* fix incomplete upstream merge

* fix FlockPanel + sort button name

* TGUI review

* Fixes tealprint list

* Fixes

* More fixes

* Incapacitator Fix

* Filenames

* Linters

* Interceptor range buff

* Reagent counts

* Linters

* Fabricator vendor fix

* Keybinds and HUD - Flockdrones, Fixes Vendor Conversion, Cube Materials

* Reworks reagent, adds flock grilles, fixes compute node overlays

* Intent-based flockdrone parts

* Intent based drone parts

* Radial control panel for controlling drones manually, phasing through windows/grilles

* Movement fixes

* Radio talk power, stare fix

* Flock health HUD

* Fixes flock lights, linters

* Unit tests

* Adds countdown to relay

* Relay improvements

* Small fix

* Logic Schmogic

* Relay overlay and looping sound effect

* Ignore air when converting turfs

* Cage fixes and improvements

* Improved flock bolt

* Turret conversions

* Flock bolts taze simple or basic mobs

* Sentience type

* Fixe

* Linter

* tgui review stage 2

* Concentrated Repair Burst

* Improves radio detection

* Removes extra space

* Adds healing visual effect

* Cube tech levels

* Ghooost

* Excess

* Flock doors, chairs, lattices. Centralizes conversion code.  Crafting with Gnesis

* Update code/modules/antagonists/flockmind/ai_behaviors/flock_wander.dm

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Fixes the fix

* Astar movement detection

* Fix, extraneous code, language stuff

* Language fixes and wander fix

* Fixes

* Another fix

* Lints

* Another linter

* Language improvement

* More language improvements

* Time requirement and appearing in orbit menu as an antag

* Cube glow

* TGUI

* Minicache

* Linters

* Grammar

* Material ID fix

* Lid fix

* Reagent turf reaction

* Reagent fix

* Butcher results

* Conversion rates

* Flock stare fix

* Fixes stare behavior

* Staring

* Flock mob blood

* Flock mobs gibs and blood. Also some runtime fixes

* Flock mobs now resist out of grabs, buckles, lockers, and more

* Fixes flock orbit, fixes a runtime I think,

* Target mechs, damage mechs, other bug fixes

* Cage fix

* Cage resist change

* Some mind changes, gatecrash buff

* Drones now shoot mechs, stare improvement

* Cut down on spam a little

* Nest fix

* No more resist spam

* Fixed drone death control

* Resist statement

* Makes the relay alarm scarier

* Fixes dead flock camera mobs having no ghost sprite, something with ghosting

* Enhanced flockphasing

* Improved flockmob pathing

* Added required turf restriction to relay

* Increased needed bandwidth for relay construction

* Nerfed drone substrate rate

* Added new status tab items for relay progress

* Another relay cost adjustment

* Improves drone AI responsiveness

* Computer frames now become flock computers

* Improves target finding for conversion, building, and replicating

* Reduced flock event pop requirements

* Adjusts flock protection on structures. Adjusts overlays.

* Relay unlock tweak

* Fixwes flock being able to gib mech'd AIs with one button

* Map conflict

* Flock can no longer be outed by merely existing

* Fied bug causing drones to shoot themselves

* Prevents mobs from attacking while in a cage

* Converter tool can now open closets and crates.

* Adds descriptions to flockdrone tools.

* More informatic blurbs

* Adds xenobiology organs

* Organ lint

* TGUI merge

* bundle and mm

---------

Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Co-authored-by: Toastical <20125180+Toastical@users.noreply.github.com>
Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
PollardTheDragon
2026-07-08 17:31:28 -04:00
committed by GitHub
parent ab05a4ee3a
commit 24845b238a
228 changed files with 9724 additions and 49 deletions
@@ -264,6 +264,18 @@
/datum/xenobiology_surgery_container/goliath
xeno_specialized_organs = list(/obj/item/organ/internal/appendix/xenobiology/tendril)
/datum/xenobiology_surgery_container/flockbit
xeno_specialized_organs = list(
/obj/item/organ/internal/liver/xenobiology/gnesis_shard,
)
/datum/xenobiology_surgery_container/flockdrone
xeno_specialized_organs = list(
/obj/item/organ/internal/appendix/xenobiology/flock_converter,
/obj/item/organ/internal/kidneys/xenobiology/gnesis_filters,
/obj/item/organ/internal/liver/xenobiology/gnesis_shard,
)
/datum/xenobiology_surgery_container/megacarp
xeno_specialized_organs = list(/obj/item/organ/internal/heart/xenobiology/megacarp)
@@ -163,6 +163,28 @@
owner.add_vomit_floor(toxvomit = TRUE)
owner.AdjustConfused(rand(4 SECONDS, 6 SECONDS))
/obj/item/organ/internal/liver/xenobiology/gnesis_shard
name = "gnesis shard"
desc = "This bio-organic chunk of hardened gnesis will likely harm humanoid life more than help."
analyzer_price = 20
/obj/item/organ/internal/liver/xenobiology/gnesis_shard/on_life()
. = ..()
var/multiplier = 1
switch(organ_quality)
if(ORGAN_NORMAL)
multiplier = 1.5
if(ORGAN_PRISTINE)
multiplier = 2
if(prob(5))
to_chat(owner, SPAN_WARNING("Something hurts awfully in your abdomen."))
owner.adjustBruteLoss(5 * multiplier)
if(prob(10))
owner.adjustToxLoss(-2 * multiplier)
if(prob(10))
owner.reagents.add_reagent("gnesis_tox", 5 * multiplier)
/obj/item/organ/internal/liver/xenobiology/detox
name = "chemical neutralizers"
desc = "These glands seem to absorb any liquid they come in contact with, neutralizing any unnatural substances."
@@ -500,6 +522,59 @@
to_chat(user, SPAN_WARNING("We wouldn't get much use out of stinging that."))
revert_cast()
/obj/item/organ/internal/appendix/xenobiology/flock_converter
name = "drone converter"
desc = "This teal organ holds a small gnesis fabricator, allowing the host to convert objects and similar to gnesis."
analyzer_price = 40
hidden_origin_tech = TECH_MATERIAL
hidden_tech_level = 5
var/datum/action/cooldown/mob_cooldown/gnesis_action
/obj/item/organ/internal/appendix/xenobiology/flock_converter/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0)
. = ..()
gnesis_action = new /datum/action/cooldown/dispense_congealed_gnesis()
if(organ_quality == ORGAN_DAMAGED)
gnesis_action.cooldown_time = 4 MINUTES
gnesis_action.Grant(M)
/obj/item/organ/internal/appendix/xenobiology/flock_converter/remove(mob/living/carbon/M, special = 0)
. = ..()
gnesis_action.Remove(M)
/datum/action/cooldown/dispense_congealed_gnesis
name = "Dispense Congealed Gnesis"
button_icon = 'icons/goonstation/hud/flock_ui.dmi'
button_icon_state = "designate_tile"
desc = "Use this to dispense some gnesis onto the ground or into a container."
melee_cooldown_time = CLICK_CD_CLICK_ABILITY
click_to_activate = TRUE
cooldown_time = 2 MINUTES
/datum/action/cooldown/dispense_congealed_gnesis/Activate(atom/target)
. = ..()
var/mob/living/carbon/C = owner
if(!iscarbon(C))
return
if(!C.Adjacent(target))
to_chat(C, SPAN_NOTICE("We are too far away to dispense gnesis there."))
return
var/obj/chemholder = new()
chemholder.create_reagents(50)
if(istype(target, /obj/item/reagent_containers/glass))
var/obj/item/reagent_containers/glass/container = target
if(!container.is_open_container())
to_chat(C, SPAN_NOTICE("That container is sealed."))
return
chemholder.reagents.add_reagent("gnesis_tox", 20)
chemholder.reagents.trans_to(container, 20)
StartCooldown()
return
var/turf/target_turf = get_turf(target)
chemholder.reagents.add_reagent("gnesis_tox", 50)
chemholder.reagents.reaction(target_turf)
StartCooldown()
/obj/item/organ/internal/heart/xenobiology/contortion
name = "contortion fibers"
desc = "A set of bands that wrap around joints and ligaments and muscles alike, pulling the body into unnatural shapes."
@@ -1441,6 +1516,22 @@
owner.physiology.armor = owner.physiology.armor.detachArmor(organ_resistance_boost)
QDEL_NULL(organ_resistance_boost)
/obj/item/organ/internal/kidneys/xenobiology/gnesis_filters
name = "gnesis mesh kidneys"
desc = "This strange organ resembles a pair of biological kidneys, but their micro-structure is interlaced with nanotubules of gnesis."
analyzer_price = 40
/obj/item/organ/internal/kidneys/xenobiology/gnesis_filters/on_life()
. = ..()
var/mult = 1
switch(organ_quality)
if(ORGAN_NORMAL)
mult = 1.5
if(ORGAN_PRISTINE)
mult = 2
owner.adjustToxLoss(-0.6 * mult)
owner.reagents.add_reagent("gnesis_tox", 0.1 * mult)
/obj/item/organ/internal/ears/xenobiology/colorful
name = "colorful organ"
desc = "This organ seems to constantly color and mold the other flesh around it. Thankfully, the changes are only aesthetic."