* protect objective
* fix bugs, add protect into rotation
* make sure other antags can roll protect as well
* get vampire chance on par with other antags
* linter oops
* lintma balls
* weight 100
---------
Signed-off-by: Paul <90473506+pwbokie@users.noreply.github.com>
* Handle runtimes during the Initialize chain in InitAtom and the admin atom spawn verb
InitAtom now qdeletes any atom with an unhandled exception in Initialise. This ensures no broken atoms become visible to players. This allows atoms to safely throw inside Initialise to signal something being very wrong. Before this they had to continue running to return INITIALIZE_HINT_QDEL.
* introduce system for catching accidental spawning of base type atoms
atom/Initialize checks if the description is the sentinel value defined in ABSTRACT_BASE_TYPE. If it is, it throws an exception. This is advantageous because it logs the callstack and causes InitAtom to immediately qdelete the atom.
* introduce burgers to the system for catching abstract base type spawning
* still spawn items, even when they runtime during Initialize
Quote by Contrabang: "things should never fail to spawn when new'd"
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Signed-off-by: Kenionatus <kenionatus@techie.com>
* use QDELETED insted of QDELETING in case it already got fully deleted
I don't think it would ever happen, because we still hold a reference with A, but never hurts to be safe.
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Signed-off-by: Kenionatus <kenionatus@techie.com>
* use stack_trace for consistency with the rest of the codebase and change message
We no longer delete the atom, so the message should reflect that.
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Signed-off-by: Kenionatus <kenionatus@techie.com>
* remove check for incorrect define
Should be caught in review when that is used.
* remove the test for qdeleting atoms in admin item spawning again
It's practically pointless now that we no longer qdelete spawned base types.
* rename ABSTRACT_BASE_TYPE to ABSTRACT_TYPE_DEC
It's more descriptive. (Hah, pun.)
* restore annihliated newline
---------
Signed-off-by: Kenionatus <kenionatus@techie.com>
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
* adds defines and code for physical treatments
* adds wetness check and evaporation for combustion symptom
* adds sleep as treatment for vomiting
* adds treatment to flesheating
* adjustments
* Make the cache room
* adds alien cache machine
* adds the cache properly
* adds multitile component
* adds terminal building and reward selection procs
* adds laser receptacle file
* Refactors ptl targetting code
* more work on the ptl terminal
* change file name to laser_terminal
* changes area to powered makes laser terminal work properly
* makes a new pickweight function because the old one is bad
* Update alien_cache.dm
* Update canister.dm
* Update alien_cache.dm
* adds a template of the ruin
* adds some spawners to the reward pool
* adjusts agent b amount
* adjustments to loot table and changes to spawner comments
* new placeholder sprite for the cache
* randomizes reward spawn location and makes a PTL terminal sprite
* updates alien cache sprite and examine proc
* Adds overlays to the cache to indicate the current progress
* fixes mob capsule spawner and laser terminal
* Adds animations to PTL terminal
* new box part of the sprite for the PTL terminal. Adds glow
* fixes untargetting the PTL terminal and adds a little light overlay to the receiving dish
* changes PTL terminal id generation slightly
* adds simon says. incomplete
* Update paradise.dme
* simon says works now
* adds more rhythms
* Adds success and failure sounds
* Makes the ptl terminal board printable
* Update secure_alien_airlock.dm
* undo changes to preferences.dm
* undefs things
* removes identical to parent vars
* Update alien_cache_random_spawners.dm
* replaces animation end loop flag so open dream CI doesn't give errors
* changes centre platform colour and adds a fan to the entrance
* more pads more sounds
* better sprites
* remove old sprite
* adds the cache to example config
* makes it not always spawn
* Update simon_says_32x32.dmi
* adds some flavor to the ruin
* Update alien_cache_site.dmm
* adds a signal to the ruin
* Adds reinforced APCs and frames for them.
* farragus WIP
* more farragus stuff
* more faragus stuff
* more farragus
* uses plastic for insulation instead
* box and faragus changes
* Box changes
* cerebron changes
* more meta updates
* fixes short on box station
* fixes shorts on meta station
* delta changes
* adds reinforced apcs with bigger cells
* emerald things
* more diagoras
* cleaning up cables in diagoras
* switches elecmaints smes to the engineering type on diagoras
* adds more grid monitors to cyberiad
* various corrections
* 2 doors on cyberiad electrical maints
* boxstation fixes
* Kerberos fixes
* cerebron fixes
* some faragus fixes
* more cyberiad fixes
* meta fixes
* more kerberos fixes
* faragus and cyberiad fixes
* emerald fixes
* farragus fixes
* emerald fixes
* farragus fixes
* emerald fixes
* diagoras fix
* more map fixes
* more CI fixes
* final fixes I hope
* Update emeraldstation.dmm
* finish merging metastation
* reset meta to master version
* redoing some of the meta changes
* Update metastation.dmm
* clear merge conflict
* Update metastation.dmm
* Update metastation.dmm
* Update metastation.dmm
* meta resolution
* emerald resolution
* delta resolution
* fartgas resolution
* box box
* stay out stay out
* metastation fixes
* faragus fix
* delta fix
* meta changes
* Starting over with farragus
* Starting over in faragus
* faragus changes
* Update cerestation.dmm
* Update cerestation.dmm
* Update cerestation.dmm
* Update cerestation.dmm
* Update cerestation.dmm
* resolving some faragus conflicts
* resolve faragus conflicts
* resolves delta conflicts
* resolves cyberiad conflicts
* resolves emerald conflicts
* fixes cables in faragus
* fixes meta cables
* fixes delta cables
* more meta fixes
* more farragus cable fixes
* more cable fixes
* meta and faragus fixes
* box and delta fixes
* more mapping fixes
* hopefully the last fix
* Update metastation.dmm
* Update metastation.dmm
* fixes shorts on cyberiad cerebron and farragus
* CI fixes
* Update cerestation.dmm
* resolve faragus conflicts
* resolve emerald conflict
* fix some faragus cabling
* more cabling correction in faragus
* more cable fixes
* Update cerestation.dmm
* remove doubled scrubber pipe on tile
* resolves faragus conflict
* changes the default power input of engineering SMES to 200kw and 80kW respectively
* connects power monitoring computers to the grid that weren't
* meta station elec maints improvements
* adds missing power monitoring computers on box and delta
* removes dirt from wall
* corrects area boundry on meta
* adds missing cable on box sci
* removes dirt from wall on box
* connects cyberiad bridge to the rest of the powernet
* connects box brig to powernet
* Adds catwalks to box maints
* adds catwalks to meta
* Adds catwalks to delta
* Update deltastation.dmm
* adds ability to insulate cables
* Moves stations to using extra insulated cables for high power network
* Removes catwalks from meta
* Removes catwalks from box
* Removes catwalks from delta
* resolves box conflicts
* Update cable.dm
* remove floating request console
* corrects position of fire alarm and removes extra intercom on metastation
* resolves faragus conflict
* fixes a stray light bulb and light switch in maints as well as a doubled power
* wires kerberos security checkpoint to the grid
* Update cerestation.dmm
* Removes stray extinguisher cabinet from meta station
* resolves area conflict on faragus
* resolves more faragus issues
* fixes faragus cabling issues
* Update cerestation.dmm
* removes another stray fire extinguisher cabinet
* insulates the APC in delta PTL room
* connect delta fore starboard solars to the high power grid instead of the low power
* Update deltastation.dmm
* deconflict
* solves some unconnected cables
* connects delta customs to network and finishes resolving conflicts
* Update deltastation.dmm
* adds the new cables. needs coils and mapping
* moves connection perms to the heavy duty cables. toggled with engineering permission ID. box gets new cables
* sorts cables on stations
* faragus cable connections
* cable corrections. Adds heavy duty cables to the autolathe
* CI fix
* more fixes and makes the new cables show up on t ray scanners
* box station mapping fixes
* delta mapping fixes
* meta fix
* Update deltastation.dmm
* delta and faragus fixes
* Update emeraldstation.dmm
* adds diagonal sprites to heavy duty cables. allows sillicons to toggle them and
* Makes borg versions of the heavy duty cable coil
* palete consolidation
* Improves visibility of high power cables
* fixes a wrong wire under the pet store maints door in delta station
* resolve conflicts
* migrates new cable type to new attack chain
* Update cable_coil.dm
* Make DB admin ranks more useful
* Avoid error message when cancelling permission toggle, allow adding localhost admins as real admins.
* Lint.
* Don't SQL error when a previously-unseen player connects.
* Use ckey of permission editor, not mob name.
* Strikethrough
* Order in the list.
* Deadmin, readmin, and 2fa.
* Correct merge error
---------
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
* Reworks cures, adds strains, adds treatment chems to symptoms
* Enables coexistence of different samples of the same strain at different stages within the same container
* Adds symptom guessing. Correct guesses reduce analysis time and wrong ones increase it.
* Adds a chance for a virus to evolve into a new strain. changing the cure and adding/subtracting symptoms
* Revert "Adds a chance for a virus to evolve into a new strain. changing the cure and adding/subtracting symptoms"
This reverts commit 124dd485c7.
* Adds spontaneous virus mutations, strain tracking. Removes antibody metabolism
* change the amount of time added/reduced by each factor
* Creates a disease outbreak event that allows admins to cause an outbreak of a virus of their choosing. Allows virus creation when choosing virus to give someone or for an outbreak.
* The normal base property values are now the defaults for disease creation
* Rebuild TGUI
* Rebuild TGUI
* Rebuild TGUI
* Update tgui.bundle.js
* remove redundant lines
* improves ui some and moves to using world time for analysis time
* fixes a bug with the analysis time and updates the initial known advanced disease list
* Buffs the disease outbreak event and adds a base stat row to the PANDEMIC
* Update tgui.bundle.js
* Implements calibration
* Adds a remove from database button
* Moves the known disease global list to work per z level
* Removes treatments from most chems and makes each instance of a symptom not acting purge some of the reagent that treated it
* Update symptoms.dm
* Adds stage to unknown diseases
* Moves accumulated error to work per z level and change the location of the delete strain data button
* Adds confirmation to the delete data button and moves the disease text out of the loop in the copy constructor
* fix indentation
* Replaces pent with hydrocodone in the advanced cure list
* gives more buffs to event disease based on severity. removes longevity from possible symptoms an event disease can get. Fixes a bug with determining analysis time
* Update tgui.bundle.js
* Update pandemic.dm
* Update pandemic.dm
* Update tgui.bundle.js
* review changes
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* Update tgui.bundle.js
* review changes
* Update tgui.bundle.js
* Makes vaccines only add resistances and no longer cure
* improves pandemic ui and fixes calibration button not being properly disabled
* Update tgui.bundle.js
* Add the new agars to the virologist's fridge
* lowered evolution chance of viruses a bit
* further lowers evolution chance
* Update advance.dm
* Changes the scaling of analysis time and fixes stage speed presentation in the pandemic
* Scanners can now see virus strains that have been inserted in the pandemic
* Allows a mob to be infected by both an event and non event disease
* Fixes the +1 syringe of translocation stabbing your feet
* Update tgui.bundle.js
* Changes spontanous mutation to be per spread and makes disease events less likely.
* Diseases less common, mutations happen only on spread now, symptom list ordered alphabetically in the dropdown, fixed some bugs
* Update tgui.bundle.js
* changes virus alerts
* Removes numbers from the virus alert text and fixes a bug that caused excessive virus mutations
* Update tgui.bundle.js
* refactor disease spread
* Changes disease spread logic to give players options to protect themselves and others
* Blackbox things
* Increases announcement timer and fixes the infection talley
* Update disease_outbreak.dm
* Adds an incubation period to advanced viruses. bumps sneeze back to 5 range
* Adds failsafe to disease outbreaks that will infect a random crew member if none have arrived in 10 minutes
* Only record advanced disease infections
* Properly handle recording of disease infection events
* Changed resistance effect on cure
* another adjustment to res effect on cure
* Small resist buff, spontanous combustion buff and some calculation fixes
* changes spontanous combustion stat bonuses and maluses
* Update flesh_eating.dm
* Update flesh_eating.dm
* Update flesh_eating.dm
* Big trait changes and rebalance
* adds treatments to fire and necro
* Introduces viral contamination of food and reagent containers, as well as disinfection
* Fix runtime in reagent transfers
* Revert the prefs and config changes
* Slowed down diseases and made symptoms more gradual, improved disease alerts to both crew and dchat
* Sterilizine now sterilizes things contaminated with viruses. Heat reactions now take place alongside chemical reactions when adding reagents to a beaker
* Adds option to order sterile masks, goggles and biosuits in packs of 4. Makes sterile masks as good as internals for viruses
* adds logging to pandemic
* Changes symptom stats and increased disease varaiety
* Fixes some disease bugs
* Fixes some bugs and makes it behave better
* Adds shiver emote to shiver symptom
* Adds admin message/log to contracting an event disease and fixes copy behaviour when infecting
* Prefix spread defines
* Change the rest of the macros
* correct the disinfection temp macro
* Moves disease signals to their own file
* move disnifection temp back
* fix a type
* viral contaminations component review changes
* var name changes
* more style fixes
* Update tgui.bundle.js
* fixes pandemic
* Fixes disease outbreak having two carriers sometimes and changes the virus alert to the new one
* Update disease_defines.dm
* fixes samples not passing stages on properly
* actually fixes the bug
* Fixes stabilization being lost on cloning
* Finally completely and absolutely fixes the sample stages bug(please)
* Makes the pandemic a machine
* Update pandemic.dm
* removed drinks from cure requirements
* lowers chance of major viral outbreak
* fixes pandemic not processing properly
* Changes the cure system to have more options
* Makes mixing event viruses more random
* Fixes hardsuits having a 1% chance to be infected
* Increases virus protection of most clothing. medical scrubs and surgical hat buffed sunstantially
* Slow down progress of diseases
* makes spread less likely
* envirosuit is now slightly more protective from viruses, while the medical one is as good as scrubs
* Adds further protection to helmets
* Increases the number of possible cures and the scaling of required cures
* Pandemic ui improvements
* Update _disease.dm
* fix a bug with spread target in the disease outbreak event
* changes some clothing permeability
* Adds the ability to make viral DNA extracts by injecting a sample into a black slime core. It's equivalent to 2 stages
* Adds age to health analyzer, makes viral evolution toggle minor disabilities, confusion symptom now confuses more often
* Update pandemic.dm
* replace lazarus with acetic acid in the cures
* Changes the relation of the amount of cure options to required cures and the scaling of required cures with resistance
* Fixes virus renaming
* changes description and permeability of some medical jumpsuits
* Adds a list of all diseases infecting client mobs to the disease outbreak event
* uses event UID instead of ref in the disease
* Adds advanced disease carriers to admin antag menu
* Adds viral eraser which removes tracking and stabilizing. Admin spawn only for now
* Update tgui.bundle.js
* Adds the ability to create viral genetic material using radiation. it can be used in addition to that produced in xenobio
* changes alert logic, disease generation logic, adds treatments to weakness, cough and sneeze now more gradual and cough spreads at range 3
* makes disease advance a bit faster
* reduce time to announcement to 6 minutes after 3 people are infected
* Changes medibot disease detection to be the same as analyzers. Treatment chems now put the symptom on a cooldown that persists after they leave the body.
* Make sure the disease outbreak event only selects crew
* Fix abductor virus gland virus generation
* Adds sterilizine to viro locker
* Fixes null viruses appearing when merging virusless blood
* Adds oculine to hyphema treatments
* Rebalances weight loss and flesh eating
* Improvements to advanced disease carrier tab on the TGUI antag menu
* change the flag on away missions
* Update mob_spawn.dm
* Update tgui.bundle.js
* adds sterilizine recipe back
* Adds viral contamination to surgery tools and surgery steps
* small changes
* fixes pandemic ui. should work properly now(I hope)
* CI compliance
* Update flesh_eating.dm
* Update vomit.dm
* Update tgui.bundle.js
* Initial revision of analysis and fixes the UI issue with multiple stage samples
* refactors treatment and makes treatment chems more adjustable
* var correction
* symptoms and their contribution now show up on the pandemic
* Update tgui.bundle.js
* Update code/datums/diseases/advance/symptoms/cough.dm
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>
* change wizard disease and zombie disease macros to new ones
* Update tgui.bundle.js
* changes the part requirements on the pandemic boards to fit the actual parts
* fix misbehaviour when inserting samples without symptoms
* Some changes to difficulty scaling, reverts the level of projectile vomiting back to 4, and disallows germaphobes to avoid infection by injection
* Adds viral contamination to IV bags
---------
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
* 300 > 120
* ooooh i don't need sql change
* same but descending + fix issue about DB
* well, i should update bd
* default is 100, keep only divisors of 1000
* fuck you byon d!!!!
* cleanup