mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-13 08:03:43 +01:00
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:
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user