* tgui Preferences Menu + total rewrite of the preferences backend
* nah, we dont need to ping those people
* trying to remove the funny stuff
* unmodularizing this
* prefs reset
* this may need to be reverted, who knows
* okay, this part
* perhaps
* EEEEEEEEE
* unsanitary
* E
* Stage 1 + loadout system
* more fixes
* E
* I mean, it launches?
* More fixes and reorganisation
* E
* customisation code is spaget.
* disable ERP prefs
* Update erp_preferences.dm
* Update erp_preferences.dm
* E
* Slowly getting there
* It may be time for help :)
* tri...colors... help
* preferences now pass preferences
* Update dna.dm
* Fuck this man
* missing savefile return, set_species works, removed dumb stuff from updateappearance
* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199
* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224
* https://github.com/tgstation/tgstation/pull/61519
* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278
* e
* le butonAZARAK HELLO
* hhh
* Proper recognition where it's due, MrMelbert!
* EEEE
* examine block
* Better gen hit sounds from whitedream
* final loadout touches, more bug fixes im sure to come
* i said there would be bugfixes
* Update LoadoutManager.js
* Missing preferences in the html menu
* LIVE TESTING PHASE BABY
* Update LoadoutManager.js
* EEE
* LAUNCH TEST FIRE
* Update job.dm
* Update new_player.dm
* 50gb DAY ONE PATCH
* EEE
* Update preferences.dm
* buggle fixes
* Update examine.dm
* >LOOC starts on
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Fixes being able to spam ghost role notifications. (#61085)
There are methods that let players spam the everloving shit out of ghosts with BONG BONG BONG BONG BONG BONG BONG etc. through being able to constantly poll ghosts for roles with no restriction or cooldown.
Examples are laughter and slaughter demon antag_spawners.
It makes no sense to be able to concurrently poll for the same mob. As a result, I've now added a guard against this. The proc has been given a static list of mobs it's polling for ghost roles for. If it's already polling for ghost roles for a given mob, then it just early returns with an empty list, otherwise it adds the mob to the static list when the poll starts and removes it when the poll ends.
I've also done a little cleanup in var names and the proc name, with a find-and-replace done. There weren't many things calling it and none used named keywords in the args so should be fine.
There is also poll_candidates_for_mobs (also included in my cleanup) - This proc is basically only called by admins via sentience balloons and they have their own guards against spamming (the balloon pops and thus can only be used once)
Also fixes an issue in /mob/living/silicon/robot/proc/replace_banned_cyborg() where incorrect args were used in the proc call to poll for candidates.
* Fixes being able to spam ghost role notifications.
* a
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Robot Factory now replaces you if you're jobbanned from cyborg (#58554)
* Robot Factory now replaces you if you're jobbanned from cyborg
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Cleans up blob code, removes a lot of hardcoded stuff, many new defines (#56306)
Cleaned up, commented on, and (hopefully) improves a lot of blob code.
Put pretty much everything balance-related (except for the strains themselves) into a define file, for easier viewing, changing, and balancing.
Added a bunch of new functionality that new strains (some of which I plan to add in the future) could use: from increased expansion range to more spores per factory.
* Cleans up blob code, removes a lot of hardcoded stuff, many new defines
Co-authored-by: NotRanged <rangedvdk@gmail.com>
* Admins transforming a humanoid into an AI can now choose to not move them to the satellite. (#56075)
Adds a Yes/No/Cancel button to the AI transform proc that admins use on whether the new AI should be moved to the satellite or not.
Sometimes admins want to make an AI somewhere off-station for whatever reason. Also makes testing things with AIs less of a hassle.
* Admins transforming a humanoid into an AI can now choose to not move them to the satellite.
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Makes the monkey mutation remember your species through transformations (#55844)
* Makes the monkey mutation remember your species through transformations
* Implements suggestions by ghommie
* Makes the monkey mutation remember your species through transformations
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* null AI transfers through transformations correctly (#55535)
* Humans that get turned into monkeys don't get monkey AI
Co-authored-by: Yenwodyah <yenwodyah@gmail.com>
* [READY] Creates Datumized AI and applies it to monkeys (#55238)
New AI system, implemented for monkeys.
* [READY] Creates Datumized AI and applies it to monkeys
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
* Fully removes devil and affiliated shitcode (#53612)
Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.
* Fully removes devil and affiliated shitcode
* weh
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Healium is too powerful we need to nerf it! (#53766)
Healium was too stronk, nerfed it to behave like a good gas.
Added coughing and euphoria mood if breathed in small quantities to alert the player.
Sleep if it is 3 moles in the air for 3 to 5 seconds
Sleep you if is more than 6 moles and it heals you while knocked down.
Lowered the amount of healing done
Edit: It doesnt knock you out, it makes you sleep now, since the knockdown effect was so strong that people wouldn't wake up
* Healium is too powerful we need to nerf it!
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is
Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
* Fixes tesla coil hell contraptions (#52889)
Removes the ability for tesla coils to generate power with more then 85% efficiency.
Cleans up the remainder of my zap_act refactor, making the proc better fit its usecase and removing some unneeded code.
Adds a check in the tesla coil zap() proc that makes sure we're not trying to use power that's not there.
Removes some seemingly complex math from said proc, replaces it with a static 20% draw * the efficiency.
* Fixes tesla coil hell contraptions
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Initial work on tgui conversion for DNA Consoles
* Some initial button logic complete
TODO: Scanner Open button should disable while scanner is locked
TODO: Scramble DNA should disable while on cooldown
* Tabs for the tab God
* Dropdown changes, genetic sequencer modifications
* Mutation and genetic sequencer functionality
Almost complete. Need to implement Advanced Injectors still.
* Mostly done, converted most of genetic makeup code
* Tactical pocket linting
* More changes
* Everything except advanced injectors complete
* First complete alpha version
* Fixed debug/testing change
* Removal of more debugging code
* Fix pulse bug
* Bugbusters
* Fix for accidental changes
* Fix broken genetics disk changes, fix list of lists
* Squash tgui tab-key bugs and clean up attackby
* Code documenting, refactoring, bugfixing, spellcheck
* Documentation and misc bug squashes and runtime error fixes
* Fixes, features and tweaks
* Special check for those who have shuffled off this mortal coil
* New interface concept for console storage
* Mini code refactor
* Massive refactoring of DnaConsole interface (WIP)
- De-spaghettifying of LawyerCode
- Fixed the flex-basis bug, and removed ForcedBox since it's no
longer needed.
- Added a Divider component.
* Implemented requested changes.
Removed list() versions of strings.
Removed used TGUI-exclusive constants from data object. Currently unused ones still remain, can be removed if they're no longer necessary.
Fixed other DM data structures to serialise as JS Arrays instead of Objects.
Minor TGUI logic fixes for various edge cases.
Added some comments in DnaConsole.js outlining some minor notes and TODOs.
* Fixes "Save to X" being disabled.
* Included 2px outline CSS
* Additional minor logic patches
Don't want certain buttons active unless the mutation relation to them is also active
* Makes these transforms use a timer
* Fixed transformation race condition and stuff.
* Mutation source defined in DM. Conditional formatting improvements.
* Custom cache directory with BYOND_CACHE env var
* Fix gene cycler on index of -1
* Framework and TODO for next interface element. Cleared TODO list a bit.
* Fix 1px shift in gene cycle buttons
* Pass raw event with GeneCycler
* More robust combining logic
* Fix some cycler bugs, start working on enzymes
* Conditional highlighting for unsolved mutations and X'd genes.
* Lint for the Lint God
* Enzyme UI and more refactoring incoming
* Finish tgui refactoring, enzymes injectors done
* Whack-a-Bug
* Unlinted. Advanced injectors moved and improved. Implemented disk genetic data readout.
* Partial linting
* Assorted bug fixes
* Remove debugging code
* DNA Consoles are now more conversational. Initial state set.
* Final tweaks, implemented mutation combining, complete?
* Fixes tooltop, re-enables delayed enzyme transfer, cleans up some data params
* 10 Fix a bug, 20 make a bug, 30 goto 10
* The definition of irony
* Don't drink and derive, kids || How I learned to stop coding while drunk and rely on stylemistake to Flex on my formatting.
* uniqBy
* Add support for dropdowns with disabilities.
* Cleanup
* Remove current mutation from combinations
* Dividing
* Document BYOND_CACHE env var
* Outline cleanup
* Declare radiation constants since they were removed in DM
* Combine mutations only after checking for null
* Advanced Injectors actually work now.
* Comment cleanup, DMDOC, stard and end processing at appropriate times
* Pressing Ctrl-S occasionally helps things
* Fix enzyme mutator timeout bug, added injector timeout display.
* Rebuild tgui
* Rebuild tgui
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
* Adds sorting to most input() lists.
* Sorted some global lists, added more input sorting
* Should now use correct sort everywhere.
* compiles
* Last fixes.
* Brain damage works on organ damage procs, some defib reworks
* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again
* Cleans up reused global
* Organ damage procs on living and living/carbon
* Changes brain damage procs again
* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.
* Damage and failure effects for the appendix, ears, and some touchups on the stomach
* Committing changes so I don't lose them
* Organs now cease decaying in the proper containers
* Organ Fridges
* Reverts map changes
* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime
* Actually fixes merge conflict
* Smartfridge tweaks
* Think I figured out map merger
* Evidently not
* Still runtiming with glass shards even after I remove the map changes?
* Fixes runtime error with brain_item
* Runtime fix on living/carbon/life
* Cleaning up old PR code
* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were
* Wrong math operation used
* Brains in MMIs no longer decay
* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts
* Removes misleading comment
* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss
* Removes random spaces, scanners check brain damage severity now
* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it
* List change
* Runs off of an index instead of using cut
* Brains can be put into organ fridges
* Fixes minor type, hotfix for cloning problem
* Removes pointless check
* Demon hearts no longer decay
* Nightmare hearts no longer decay
* Removes istype() check on process, sets can_decompose instead
* Condenses organ damage report
* Removes organ failure messages
* Less organ damage spam, implements organ threshold messages instead
* Brain damage messages go to owner, not source
* Self-examine shows damaged organs
* Minor code cleanup, adds autodoc comments to the new procs
* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.
* Merged the booleans into a set of flags
* Healthy living improves organ healing rates
* dunno why this didn't update
* my actions have consequences
* Sets ORGAN_SYNTHETIC for overlooked robotics organs
* Doubles heart decay time
* 3 minute heart decay
* Lobectomy/Coronary_Bypass heal more
* removes hivemind spells from the changes
About The Pull Request
Fixes#37273Fixes#37507
Changelog
cl Garen7
tweak: Lesser form lings can now toggle augmented vision
fix: You can no longer turn back into human form as a lesser form ling while ventcrawling
fix: Stuns and Reagents are now passed when transforming into a monkey or human
/cl
It didn't seem like augmented vision was meant to only be usable as a human so I made it usable as a monkey, if the original creator wanted it to be only usable as a human they would have assigned the var req_human of the augmented vision ability to TRUE since thats where this behavior is usually handled.
* adds chromosomes
* Makes the framework nice and functional
* Adds chromosome interaction
* Makes chromosomes work
* removes the double instability update
* Apply suggestions from code review
Co-Authored-By: Time-Green <timkoster1@hotmail.com>
* more review stuff
also fixed some inconsistencies in chromosomes
* unfucks defines
* Fixes saved mutations runtiming with empty pods
* Adds stability to the dna console and advanced health scanner
* removes a random bug i stumbled upon
* Update code/game/machinery/computer/dna_console.dm
Co-Authored-By: Time-Green <timkoster1@hotmail.com>
* makes chromosomes harder to get
fixes double mutations, adds reinforcer and nerfs stabilizer
* fixes edge case where fireballs would be harmless
* cleans up find/replace all mess and 1 in 10 trillion chance of fireball breaking
cl 0d0be32, PKPenguin321, Armhulen, epochayur
refactor: Changeling powers are now action buttons rather than verbs.
imageadd: Thanks to epochayur for creating and compiling sprites for every single changeling action button!
imageadd: Thanks to Armhulen for the changeling button background sprite!
/cl
original pr #35394
the two main bugs i saw are fixed. reviving works, monkeyform/humanform works
fixes#41899
GENETICS
The random hexadecimal rng game has been replaced with gene sequencing from goon.
Adds mutation activators and mutators
You can now store mutations
Everyone now has their own set of unique mutations
Limited mutations per person to 8 (including one always being monkey)
Adds race specific mutations (See fire breathing for lizads)
You can inspect discovered mutations, undiscovered mutations use an alias to recognize them by
Adds a sequence analyzer. Can be used to scan someones genes sequence. Useful for determing what mutations they can safely have and or collecting data for very difficult sequences
Adds mutation combining. It's currently only RADIOACTIVE + STRONG = HULK (So yes you will now need 2 mutations for to get hulk)
Adds several other mutations. Telepathy, firebreath, glowy, radioactive and strength
cl Time-Green
add: Goon genetics!
add: More mutations! Fire breath for lizards! Radioactive! Telepathy! Glowy! Strength, though its cosmetic and should be combined with radioactivity instead! Fiery sweat!
add: Adds void magnet mutation by @tralezab !
/cl
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl
Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.
They have the following specifications:
They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
They do burn punch damage instead of blunt.
They are weaker to blunt; especially when low on charge
They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.
Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove
cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
* Fixes borg names.
* Makes it call the db only once.
* Default cyborg naming scheme.
* Makes cyborgs default to default name instead of random ai one.
* fixed cyborgs not getting their names at round start
fixed cyborgs and A.Is being able to get around appearance bans
* Update job.dm
* Update silicon.dm
* goodbye unneeded config otpion
* Update game_options.txt
* Virus antagonist initial commit
* Updated disease code
* Sentient virus improvements
* Renamed /mob/living/var/viruses to diseases, and /mob/living/var/resistances to disease_resistances
* Added sentient virus event
* Renamed VIRUS defines to DISEASE defines
* Fixed bugs in rewritten disease code
* Fixed advanced disease Copy()
* Finalized disease antagonist
* Made cooldown buttons stop processing if they are removed from an owner.
Made sentient disease active sneeze and cough not available if the host is unconscious.
Made sentient disease menu refresh when adaptations are ready or hosts are added or removed.
Made sentient disease following use movement signals instead of fastprocess.
* Added better icons to sentient disease abilities
* Extensive surgery additions
* ,
* bioware
* restrict
* implants
* oops my hand slipped
* "i only changed a few lines, surely it's gonna compile, let's just push it and be done with it" --me, once again
* zombie surgery
* Adds brainwashing antag datum
* Antur Reviews
* @Antur part 2
* wow