* Update DamageableSystem to modern standards
* DamageContainerId -> DamageContainerID with lint flag
* Replace strings with protoids
* Make CVar subscription declarations all consistently whitespaced
* ChangeDamage -> TryChangeDamage, cope with C# jank
* Revert event signature changes
* Restore a comment
* Re-add two queries
* Init the queries
* Use appearanceQuery in DamageChanged
* Use damageableQuery in TryChangeDamage
* Use damageableQuery in SetDamageModifierSetId
* Final cleanup, fix sandboxing
* Rectify ExplosionSystem:::ProcessEntity's call to TryChangeDamage
* Re-organize DamageableSystem
* first big fuck you breaking change.
* THATS A LOT OF DAMAGE!!!
* Fix test fails
* test fixes 2
* push it
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Offbrand medical
* what if we regrade
* zombies are mostly there thats it thats a wrap xd
* here's changeling
* some bonus gut punches
* start working on the guidebook
* fix rsi and yaml lints
* my agrichem so fits
* we stay rejuvenated
* my china so laked
* debrute
* fix suicide
* fix the suicide tests
* my surgery so requires laying down
* the guidebook continues
* READ KEB PAGES
* keb vascular recoupler
* read keb medicine
* fix yaml lint
* fix the EntityRemoveConstructionGraphStep
* fix overlay init
* scalpels are not a food tool
* return of the programmer art
* my line so nieuw
* boxes deserve veins too
* mrrrp yaml
* what if we redid brain damage alerts
* bloot pressure
* kill mannitol drowsiness
* get licensed
* my read so me
* get feedbacked nerd
* fine-tune the heart stoppage conditions
* cryostasis adjustments, guidebook adjustments, fix negative strain issues
* my surgery so table
* fix heart surgery and guidebook
* medicine & defibrillator pass
* iv bags and stands
* prefills
* janet gets very sidetracked
* mostly finished iv stuff
* what if we fixed the guidebook
* halve decapoid cryostasis
* my medicines so IV
* finetune cryostasis
* less logspam
* metabolism-aware iv stands and cryopods
* give people painkillers
* yaml lint real
* fix blood build
* finish rebase
* tidy up localization
* clean up my yaml beasties...
* soft curve after exceeding maximum damage
* husks/bonedeaths
Grabbag of Offmed fixes & improvements (#3461)
* CPR moment
* Mob AI fix
* Fix brain oxygenation not updating on regeneration
* sorry gamers you cannot resist the pull
* Troll combat abilities more in softcrit
praying rn (#3467)
dont have CPR be 50% (#3468)
Make offbrand murder easier to contend with (#3473)
* e
* disrupt people in softcrit when attacking them
* ok gamers we're gaming
* forgor
Hopefully final pass before Offbrand merge (#3475)
First pass of Offbrand adjustments (#3477)
Swap blood pressure values in health analyzer (#3476)
Systolic over diastolic
Co-authored-by: Kip <32859367+kipdotnet@users.noreply.github.com>
Offbrand pass 2: Mostly bugfixes (#3480)
Fix zeds causing PVS reloads (#3482)
Offbrand pass 3: I hate surgery I hate surgery I hate surgery I (#3481)
* set up surgery ui
* test fail real
Pain/braingasps (#3487)
Offmed bundle 5 - the evil one (#3489)
* Evil cavity surgery
* les borgues
* nicotine moment
* epinephrine RNG
* legalese
* test fail real
* ok jamers cope with c4
Pass 6
* Move CanReturnToBody to system
* Move CanGhostInteract to system
* Cleanup redundant datafields and viewvariables
* Document datafields
* Document component
* Add SetTimeOfDeath Entity<T> overload, obsolete old version
* Document public methods
* Cleanup obsoleted method calls
* Extracts magic strings from Tag calls
When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!
* Adds missing libraries
* Remove not yet implemented TagSystem changes
* Fix tag spelling error
Genuinely surprised there was only 1!
* Styling and proper type changes
* Styling
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Prevents admin ghosts from being shown with ghost event
* Changes summon ghost tooltip to permanently visible
* Adds AllowGhostShownByEvent tag, adds it to regular observers, removes ghost hands check & revenant check and replaces it with a tag check.
* Update MoverController.cs
* Update a bunch of movement code to use Entity<T>
* Last errors
* wow, there were more errors
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Brings over changes from the original magic refactor PR
* Adds Master Spellbook, spellbook categories, WizCoin currency, and locale
* Wiz€oin™
* Adds currency whitelist to Spellbook preset, grants contained actions on action added.
* Adds grant contained action and remove provided action.
* adds a way for actions to be upgraded to the store
* Adds Fireball 3 and fixes action upgrade logic so that it checks if the action can level or if the action can upgrade separately
* Fixes upgrade logic in ActionUpgradeSystem to allow for level ups without an actual upgrade. Fixed action upgrade logic in store system as well
* Removes current action entity from the bought entities list and adds new or old action entity
* Removes Current Entity
* Removes old comments, fixes TransferAllActionsWithNewAttached
* Removes TODO
* Removes Product Action Upgrade Event
* reverts changes to immovablerodrule
* Removes stale event reference
* fixes mind action grant logic
* reverts shared gun system change to projectile anomaly system
* forgor to remove the using
* Reverts unintended changes to action container
* Adds refund button to the store
* Refreshes store back to origin.
* Refund with correct currency
* Init refund
* Check for terminating and update interface
* Disables refund button
* Removes preset allow refund
* dont refund if map changed
* adds refunds to stores
* Adds method to check for starting map
* comments, datafields, some requested changes
* turns event into ref event
* Adds datafields
* Switches to entity terminating event
* Changes store entity to be nullable and checks if store is terminating to remove reference.
* Tryadd instead of containskey
* Adds a refund disable method, disables refund on bought ent container changes if not an action
* Removes duplicate refundcomp
* Removes unintended merges
* Removed another unintended change from merge
* removes extra using statement
* readds using statement
* might as well just remove both usings since it won't leave the PR
* Fixes Action upgrades from stores
* Changes to non obsolete method uses
* Shares spawn code between instant and world
* Adds action entity to action event, adds beforecastspellevent, adds spell requirements to magic component
* puts prereq check in spell methods, sets up template code for before cast event
* checks for required wizard clothes
* Networks Magic Comp and Wizard Clothes Comp. Renames MagicSpawnData to MagicInstantSpawnData.
* Removes posdata from projectiles
* Speech > RequiresSpeech
* Fixes ActionOnInteract
* checks for muted
* popup for missing reqs
* Validate click loc for blink spell
* Checks if doors are in range and not obstructed before opening
* Check ents by map coords
* Adds speak event
* Comments spellbooks
* Removes comments
* Unobsoletes smite spell
* Invert if
* Requirements loc
* Fixes spell reqs
* Inverts an if
* Comment updates
* Starts doafter work
* Removes doafter references
* Balances fireball upgrades to be more reasonable
* Enables refund on master spellbooks
* Spells to do
* update spellbook doafter
* knock toggles bolts
* Touch Spell comments
* Comments for pending spells
* more comments
* adds spider polymorph to spellbook
* TODOs for spells
* reorganizes spellbook categories and adds wands
* fixes spacing and adds limited conditions
* commented owner only for future store PR
* reenables owner only for the grimoire
* fixes grimoire sprite
* Adds wizard rod polymorph
* summon ghosts event
* Moves rod form to offensive category
* Adds charge spell and loc for rod polymorph
* Oops forgor the actual chages
* Item Recall comment
* Fixes UI
* removes extra field for wizard rod
* Cleanup
* New Condition (INCOMPLETE)
* Fix linter
* Fix linter (for real)
* fixed some descriptions
* adds regions to magic
* Adds a non-refund wizard grimoire, fixes blink to deselect after teleporting, reduces force wall despawn time to 12 seconds
* removes limited upgrade condition
---------
Co-authored-by: AJCM <AJCM@tutanota.com>
* Add tests for ghost spawn position
* Make ghosts spawn immediately
* Format mind system
* Move ghost spawning to GhostSystem
* Spawn ghost on grid or map
This fixes the ghosts being attached the parent entity instead of the grid.
* Move logging out of the ghost system
* Make round start observer spawn using GhostSystem
* Move GameTicker ghost spawning to GhostSystem
Moved the more robust character name selection code over.
Moved the TimeOfDeath code over.
Added canReturn logic.
* Add overrides and default for ghost spawn coordinates
* Add warning log to ghost spawn fail
* Clean up test
* Dont spawn ghost on map delete
* Minor changes to the role test
* Fix role test failing to spawn ghost
It was failing the map check due to using Nullspace
* Fix ghost tests when running in parallel
Not sure what happened, but it seems to be because they were running simultaneously and overwriting values.
* Clean up ghost tests
* Test that map deletion does not spawn ghosts
* Spawn ghost on the next available map
* Disallow spawning on deleted maps
* Fix map deletion ghost test
* Cleanup