Files
PollardTheDragon 24845b238a 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>
2026-07-08 21:31:28 +00:00

135 lines
9.6 KiB
Plaintext

// Yes the pluses look bad but the compiler fully folds these down so there isn't a single operation overhead
// Please maintain this format
// Sorted alphabetically
#define SPAN_ABDUCTOR(str) ("<span class='abductor'>" + str + "</span>")
#define SPAN_ADMIN_CHANNEL(str) ("<span class='admin_channel'>" + str + "</span>")
#define SPAN_ADMIN(str) ("<span class='admin'>" + str + "</span>")
#define SPAN_ADMINHELP(str) ("<span class='adminhelp'>" + str + "</span>")
#define SPAN_ADMINNOTICE(str) ("<span class='adminnotice'>" + str + "</span>")
#define SPAN_ADMINTICKET(str) ("<span class='adminsay'>" + str + "</span>")
#define SPAN_ADMINTICKETALT(str) ("<span class='adminticketalt'>" + str + "</span>")
#define SPAN_AGENT_B(str) ("<span class='agent_b'>" + str + "</span>")
#define SPAN_ALERT(str) ("<span class='alert'>" + str + "</span>")
#define SPAN_ALERTALIEN(str) ("<span class='alertalien'>" + str + "</span>")
#define SPAN_ALIEN(str) ("<span class='alien'>" + str + "</span>")
#define SPAN_ALL_ADMIN_PING(str) ("<span class='all_admin_ping'>" + str + "</span>")
#define SPAN_ATTACK(str) ("<span class='attack'>" + str + "</span>")
#define SPAN_AVERAGE(str) ("<span class='average'>" + str + "</span>")
#define SPAN_BAD(str) ("<span class='bad'>" + str + "</span>")
#define SPAN_BIG(str) ("<span class='big'>" + str + "</span>")
#define SPAN_BIGGERDANGER(str) ("<span class='biggerdanger'>" + str + "</span>")
#define SPAN_BLOB(str) ("<span class='blob'>" + str + "</span>")
#define SPAN_BLUETEXT(str) ("<span class='bluetext'>" + str + "</span>")
#define SPAN_BODY(str) ("<span class='body'>" + str + "</span>")
#define SPAN_BOLD(str) ("<span class='bold'>" + str + "</span>")
#define SPAN_BOLDANNOUNCE(str) ("<span class='boldannounce'>" + str + "</span>")
#define SPAN_BOLDANNOUNCEIC(str) ("<span class='boldannounceic'>" + str + "</span>")
#define SPAN_BOLDANNOUNCEOOC(str) ("<span class='boldannounceooc'>" + str + "</span>")
#define SPAN_BOLDDANGER(str) ("<span class='bolddanger'>" + str + "</span>")
#define SPAN_BOLDMESSAGE(str) ("<span class='boldmessage'>" + str + "</span>")
#define SPAN_BOLDNOTICE(str) ("<span class='boldnotice'>" + str + "</span>")
#define SPAN_BOLDWARNING(str) ("<span class='boldwarning'>" + str + "</span>")
#define SPAN_CARBON_DIOXIDE(str) ("<span class='carbon_dioxide'>" + str + "</span>")
#define SPAN_CAUTION(str) ("<span class='caution'>" + str + "</span>")
#define SPAN_CHANGELING(str) ("<span class='changeling'>" + str + "</span>")
#define SPAN_CHAOSBAD(str) ("<span class='chaosbad'>" + str + "</span>")
#define SPAN_CHAOSGOOD(str) ("<span class='chaosgood'>" + str + "</span>")
#define SPAN_CHAOSNEUTRAL(str) ("<span class='chaosneutral'>" + str + "</span>")
#define SPAN_CHAOSVERYBAD(str) ("<span class='chaosverybad'>" + str + "</span>")
#define SPAN_CHAOSVERYGOOD(str) ("<span class='chaosverygood'>" + str + "</span>")
#define SPAN_CLOWN(str) ("<span class='clown'>" + str + "</span>")
#define SPAN_CODEPHRASES(str) ("<span class='codephrases'>" + str + "</span>")
#define SPAN_CODERESPONSES(str) ("<span class='coderesponses'>" + str + "</span>")
#define SPAN_COLOSSUS(str) ("<span class='colossus'>" + str + "</span>")
#define SPAN_CULT(str) ("<span class='cult'>" + str + "</span>")
#define SPAN_CULTITALIC(str) ("<span class='cultitalic'>" + str + "</span>")
#define SPAN_CULTLARGE(str) ("<span class='cultlarge'>" + str + "</span>")
#define SPAN_DANGER(str) ("<span class='danger'>" + str + "</span>")
#define SPAN_DANTALION(str) ("<span class='dantalion'>" + str + "</span>")
#define SPAN_DARK(str) ("<span class='dark'>" + str + "</span>")
#define SPAN_DARKMBLUE(str) ("<span class='darkmblue'>" + str + "</span>")
#define SPAN_DEAD(str) ("<span class='dead'>" + str + "</span>")
#define SPAN_DEADSAY(str) ("<span class='deadsay'>" + str + "</span>")
#define SPAN_DEBUG(str) ("<span class='debug'>" + str + "</span>")
#define SPAN_DEPTRADIO(str) ("<span class='deptradio'>" + str + "</span>")
#define SPAN_DEV_CHANNEL(str) ("<span class='dev_channel'>" + str + "</span>")
#define SPAN_DISARM(str) ("<span class='disarm'>" + str + "</span>")
#define SPAN_DISCORDPM(str) ("<span class='discordpm'>" + str + "</span>")
#define SPAN_EMOJI_ENABLED(str) ("<span class='emoji_enabled'>" + str + "</span>")
#define SPAN_EMOTE(str) ("<span class='emote'>" + str + "</span>")
#define SPAN_ERROR(str) ("<span class='error'>" + str + "</span>")
#define SPAN_GHOSTALERT(str) ("<span class='ghostalert'>" + str + "</span>")
#define SPAN_GOOD(str) ("<span class='good'>" + str + "</span>")
#define SPAN_GREEN(str) ("<span class='green'>" + str + "</span>")
#define SPAN_GREENANNOUNCE(str) ("<span class='greenannounce'>" + str + "</span>")
#define SPAN_GREENTEXT(str) ("<span class='greentext'>" + str + "</span>")
#define SPAN_HEADER(str) ("<span class='header'>" + str + "</span>")
#define SPAN_HEALTHSCAN_OXY(str) ("<span class='healthscan_oxy'>" + str + "</span>")
#define SPAN_HEAR(str) ("<span class='hear'>" + str + "</span>")
#define SPAN_HIEROPHANT_WARNING(str) ("<span class='hierophant_warning'>" + str + "</span>")
#define SPAN_HIEROPHANT(str) ("<span class='hierophant'>" + str + "</span>")
#define SPAN_HIS_GRACE(str) ("<span class='his_grace'>" + str + "</span>")
#define SPAN_HOLOPARASITE(str) ("<span class='holoparasite'>" + str + "</span>")
#define SPAN_HYDROGEN(str) ("<span class='hydrogen'>" + str + "</span>")
#define SPAN_INFO(str) ("<span class='info'>" + str + "</span>")
#define SPAN_INFORMATION(str) ("<span class='information'>" + str + "</span>")
#define SPAN_INTERFACE(str) ("<span class='interface'>" + str + "</span>")
#define SPAN_ITALICS(str) ("<span class='italics'>" + str + "</span>")
#define SPAN_LINKOFF(str) ("<span class='linkoff'>" + str + "</span>")
#define SPAN_LOOC(str) ("<span class='looc'>" + str + "</span>")
#define SPAN_MAPTEXT(str) ("<span class='maptext'>" + str + "</span>")
#define SPAN_MEMO(str) ("<span class='memo'>" + str + "</span>")
#define SPAN_MEMOEDIT(str) ("<span class='memoedit'>" + str + "</span>")
#define SPAN_MENTOR_CHANNEL(str) ("<span class='mentor_channel'>" + str + "</span>")
#define SPAN_MENTORHELP(str) ("<span class='mentorhelp'>" + str + "</span>")
#define SPAN_MESSAGE(str) ("<span class='message'>" + str + "</span>")
#define SPAN_MIND_CONTROL(str) ("<span class='mind_control'>" + str + "</span>")
#define SPAN_MODERATE(str) ("<span class='moderate'>" + str + "</span>")
#define SPAN_MOTD(str) ("<span class='motd'>" + str + "</span>")
#define SPAN_NAME(str) ("<span class='name'>" + str + "</span>")
#define SPAN_NARSIE(str) ("<span class='narsie'>" + str + "</span>")
#define SPAN_NICEGREEN(str) ("<span class='nicegreen'>" + str + "</span>")
#define SPAN_NITROGEN(str) ("<span class='nitrogen'>" + str + "</span>")
#define SPAN_NOTICE(str) ("<span class='notice'>" + str + "</span>")
#define SPAN_NOTICEALIEN(str) ("<span class='noticealien'>" + str + "</span>")
#define SPAN_OOC(str) ("<span class='ooc'>" + str + "</span>")
#define SPAN_OXYGEN(str) ("<span class='oxygen'>" + str + "</span>")
#define SPAN_PLASMA(str) ("<span class='plasma'>" + str + "</span>")
#define SPAN_PR_ANNOUNCE(str) ("<span class='pr_announce'>" + str + "</span>")
#define SPAN_PREFIX(str) ("<span class='prefix'>" + str + "</span>")
#define SPAN_PURPLE(str) ("<span class='purple'>" + str + "</span>")
#define SPAN_REALLYBIG(str) ("<span class='reallybig'>" + str + "</span>")
#define SPAN_RED(str) ("<span class='red'>" + str + "</span>")
#define SPAN_REDTEXT(str) ("<span class='redtext'>" + str + "</span>")
#define SPAN_RESONATE(str) ("<span class='resonate'>" + str + "</span>")
#define SPAN_REVENBIGNOTICE(str) ("<span class='revenbignotice'>" + str + "</span>")
#define SPAN_REVENDANGER(str) ("<span class='revendanger'>" + str + "</span>")
#define SPAN_REVENMINOR(str) ("<span class='revenminor'>" + str + "</span>")
#define SPAN_REVENNOTICE(str) ("<span class='revennotice'>" + str + "</span>")
#define SPAN_REVENWARNING(str) ("<span class='revenwarning'>" + str + "</span>")
#define SPAN_ROBOT(str) ("<span class='robot'>" + str + "</span>")
#define SPAN_ROBOTEMOTE(str) ("<span class='robotemote'>" + str + "</span>")
#define SPAN_ROSE(str) ("<span class='rose'>" + str + "</span>")
#define SPAN_SANS(str) ("<span class='sans'>" + str + "</span>")
#define SPAN_SCIRADIO(str) ("<span class='sciradio'>" + str + "</span>")
#define SPAN_SINISTER(str) ("<span class='sinister'>" + str + "</span>")
#define SPAN_SLEEPING_AGENT(str) ("<span class='sleeping_agent'>" + str + "</span>")
#define SPAN_SPECIALNOTICE(str) ("<span class='specialnotice'>" + str + "</span>")
#define SPAN_STAFF_CHANNEL(str) ("<span class='staff_channel'>" + str + "</span>")
#define SPAN_SUBTLE(str) ("<span class='subtle'>" + str + "</span>")
#define SPAN_SUCCESS(str) ("<span class='success'>" + str + "</span>")
#define SPAN_SUICIDE(str) ("<span class='suicide'>" + str + "</span>")
#define SPAN_TERRORSPIDER(str) ("<span class='terrorspider'>" + str + "</span>")
#define SPAN_TYPING(str) ("<span class='typing'>" + str + "</span>")
#define SPAN_UNCONSCIOUS(str) ("<span class='unconscious'>" + str + "</span>")
#define SPAN_USERDANGER(str) ("<span class='userdanger'>" + str + "</span>")
#define SPAN_VALUE(str) ("<span class='value'>" + str + "</span>")
#define SPAN_WARN(str) ("<span class='warn'>" + str + "</span>")
#define SPAN_WARNING(str) ("<span class='warning'>" + str + "</span>")
#define SPAN_WATER_VAPOR(str) ("<span class='water_vapor'>" + str + "</span>")
#define SPAN_WHISPER(str) ("<span class='whisper'>" + str + "</span>")
#define SPAN_ZOMBIE(str) ("<span class='zombie'>" + str + "</span>")
#define SPAN_ZOMBIELARGE(str) ("<span class='zombielarge'>" + str + "</span>")
#define SPAN_FLOCKSAY(str) ("<span class='flocksay'>" + str + "</span>")
#define SPAN_FLOCKSAY_GRADIENT(str) ("<span>[gradient_text(str, "#3cb5a3", "#1e806e")]</span>")