* Initial commit. Event.
* Started converting mobs to basic mobs. Migo and Creature. Needs aggressiveness AI
* Makes CI happy
* Fixes some file names
* Ticks files
* Fixes file again
* Update code/modules/events/demon_incursion.dm
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
* Announcement sound, spawn adjustments
* Reduced spread when portals multiply
* Elite spawns when portal count gets high
* Fixes missing comma
* Converted migo, blank, and most of hellhounds to basic mobs. Added new controllers and behaviors
* Fixes
* Linters!
* Faithless moved to basic mob
* LINTERS
* Makes skeletons basic mobs
* Fixes, Ranged Attacks, Ranged variants of nether mobs
* Handles portal expansion chance
* Linters
* Fixes mobs not breaking shit
* Fixes ranged attacks
* Fixes ranged attacks
* oops
* Another oops. No config changes are needed here
* Twenty percent chance that a nether mob is a grappler
* Dimensional tear fixes
* Adjusts awaken distance for hostile mobs, makes variable melee attack rate for basic mobs
* Variable initial spawns, variable spread rates.
* Whole lot of fixes from merge, hellhound completion
* Updated lavaland winter biodome
* Makes basic mobs able to hurt other mobs
* Makes spawners properly rally basic mobs to beat up the attacker
* Extra line
* Removed comment
* Makes hellhounds stop resting when attacked or when they find a new target
* Fixed initial portal spawn amounts
* Borgs now affected by basic mobs
* Nerfs portal spawn rate, nerfs portal integrity, nerfs portal max mobs
* Grapplers now teleport to missed turfs
* Removes duplicate notices
* Buff portals a small bit
* Makes nether portals no longer RR - the body is now recoverable from the blank it became
* Makes portals layer above mobs
* Removed excess ranged attack var
* Changes list for determining start count to rely on mobs with client instead of all clients
* Nerfs portal max mobs
* Portals can no longer spread to within 3 tiles of another portal except on initial event start
* Adjusts target portal count for big mobs
* Spawners now properly remove nest values of basic mobs
* Portals now glow an evil red. When portals are destroyed, 50% chance per mob to slay the mob
* add prowling and return to home behaviors
* cut this down
* be a tiny bit smarter
* Some code cleanup
* Removes hostile base type, removing excess code
* Gives /obj/ a basic mob attack handler. Fixes turrets
* Gives basic mobs a HUD
* Fixes skeleton death flag
* Adjusted initial spawns
* Incursion portals now slowly convert turfs, up to range 3 of them, to hellish flooring
* Increases reward per destroyed portal
* Makes the final portal of an incursion play a sound on destruction, couple portal fixes
* Fixes basic mob xenobiology interactions
* Non-shit portal sprites
* Adds hostile machine element, mobs now actively target turrets and emitters
* Properly gibs things when they should gib
* Linter fix
* Portals now layer under living mobs but over dead ones
* Adds blackbox checking for demon incursion portal counts
* Increases mob sight range slightly to account for widescreen, adds alt-color for grappler, delays incursion announcement a bit more
* Portals now are more likely to spread the less there are
* Incursion portals now repair themselves after not being damaged for some time
* Grilles now shock basic mobs
* Portals will now clean up basic mob corpses near them by gibbing them
* Portal spread chance is now exponential regression
* Portal mob spawns now linearly scale in time
* Fixes some skeleton oversights in ruin mapping
* Demon incursions no longer can spread to tiles in a space area, such as near brig plating
* Moves corpse cleanup to mobs via component
* Portals now drop bodies that are being eaten when they're destroyed.
* Addresses code review
* Docs some vars
---------
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
* refactor: Attack chain, initial setup.
* migrate curtain to make dreamchecker happy
* update thurible
* don't call attacked_by separately for legacy attack chain
* remove duplicate proc
* condense similar code, put allowances for legacy code in new procs
* update docs, include diagram source
* add comment on how to update diagram
* fix admonition
* mindflayer updates
* remove commented out code
* clarify all steps
* after_attack should be overridable
* whoops
* retrofit recent changes
* duh, can't restrict this yet because of tool_acts
* i hate ore bags with the fire of a thousand suns
* return correct value for object attack logic
* Various cleanups.
We don't want to attempt to pull stuff out of `/obj/item/attackby`,
because those pieces are part of the related objects' migrations, not
`/obj/item` itself. Attempting to do this causes knockon effects where
things expected to call e.g. `/obj/item/storage/attackby` in the call
chain were not ferried over to the new item interaction code, because
the related objects hadn't actually been migrated over yet.
I've used refactoring /obj/vehicle as the example for migrating
`attackby` methods instead.
* simplify some argument names
* fuck it
* make it do the thing
* Rename CI module call
* Prove that CI works
* improve test output
* aaand fix it again
* fix curtain tool interactions
* fix compile error
* fix compile error
* Better docs, introduce migration plan tool.
* Part 1
* Testing 1
* Revert "Testing 1"
This reverts commit fc06554b28.
* Part 1.1
* Part 2 - UI Style List
* Preferences lists
* Preferences lists - DONE
* More inputs
* MOOOOOORE
* UI style else
* Last ones
* Double name fix
* Pre-selected Search
* Return Pick Darkness
* Return Pick Darkness
* Missing users
* Some review changes
* Revert MULE lists
* I just hate MERGE CONFLICT label
* List window tweaks
* I think there it is
* why i am stopid
* Update tgui.bundle.js
* Fixes up a few notable bugs with surgery
- Synthetic cavity implants now have a close step (oops!)
- Fixes up logic for intermediate surgery steps
* nah I'll deal with this later
* oops this was unused
* Initial commit
Fixes up surgery.dm
Adds some tool behavior
* More basic changes
* Checkpointing: this is a little gross right now
* Add signal COMPONENT_CANCEL_ATTACK_CHAIN
* Cleans up surgery initiator
* Mostly gets surgery (and canceling it) working
* Add abstract proxy surgery steps
Also adds them to organ manipulation
* Clean up most existing surgeries
* Rework organ openness, adds define for aborting a beginstep
* surgery works again, also implements retry defines
* fix surgery computer
* add limb repair to synth implant removal
* retry implant checks
* Clean up abductor surgeries as well as some other things
* A lot
- Reworks organ manipulation to use a series of surgery steps instead
- Fixes some runtimes with open hands
- Lets mito zero out the germ level while treating necrosis
- Adds a debug surgery tool
* add debug surgery tool, note some TODOs for later
* Add conditional check for surgeries repeating
* update surgery retry logic to make it more of a bonus
* Lets abductors automatically retry any failed surgery steps
* Rework robotic surgery to use abstract/proxy steps
* Bunch of bugfixes and more!
- Limb reattachment works properly now, you can just slap a limb onto a person
- If the limb isn't robotic, it'll be useless until the surgery is finished with a hemostat, though it might be enough to get the patient out of the OR.
* Remove more now-implicit checks
* Slight reorganization
* more fixes across the board
* Remove unused variable
* Trying not to lose my mind here
- Does away with can_run() entirely
- Cleans up visible messages in code
- begin steps should now all have ..() afterwards
- slime bone surgery should be fixed now
- more docs
* Robotic surgery is stoppable with a crowbar, all surgery can_start now checks parent
* Fix some broken robotic typepaths
* Typepath fixes, do away with some last TODOs
* Forgor
* Last cleanups before we go gold
* jk lol
* Make early surgery termination clearer
* More "last" cleanups
* Fixes tool flags, surgery initiation
- Fixes surgery not being startable by sharp objects
- Moves surgical tool flags to item traits
* Clean up surgery cancellation, especially for borgos
* I think this should GC better
* Apply suggestions from code review
Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>
* Status is now step number
* Add a 20% chance to find nothing during organ manipulation
* Improve documentation, make forced_surgery a normal arg
* Charlie's reviews
* Why are abductors like this
* Little more verification, ensuring limb augmentation and organ manip healing work properly
* Fix torso organ manip being unfinishable
* Fix cavity implants, open-hand/any item steps
* Make sharp objects not try to start an operation with help intent
* Comments, quick target fix
* Re-order list so advanced bruise pack is pulled first
* Make surgical gripper function like an open hand
* Make mito only use one unit per organ for now
* Check if user is on operable surface before trying to operate
* Reduce admin logging
* Fix some bugs that appeared during the testmerge
- you can no longer start robotic surgeries with a scalpel (lol)
- you can now cancel surgeries on the first step after I fixed some bugs that I introduced (woo hoo)
- Synthetic limb attachment is now combined into a single startable surgery step, though still retains the fun flavor of both
* Swats some more bugs
- (hopefully) fixes a huge source of runtimes where we tried to check if we could run surgeries before checking if the surgery used an organ
- In doing so, moves the logic for determining if a surgery can start to the mob-level
- Fixes robotic reattachment surgery not working
* multi-bug drifting???
- Fixes a bug where a branching surgery with an any tool option could possibly override a step with a matching tool
- Fixes some intermediate surgeries failing due to not having specified possible_locs
* A few more fixes
- Fixes any surgery tool steps again
- Fixes cavity surgery again
* Hopefully fixes getting stuck in robotic organ manip
* Remove extra parent call
* Steel review
* Steel review
* Fix spacing for possible locs
* Roundstart traits
* Advanced surgical traits and other hal fixes
Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>