* Fixes disabled limbs from compound fractures, only robotic limbs can be disabled by pure damage now (#54922)
* Fixes disabled limbs from compound fractures, only robotic limbs can be disabled by pure damage now
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'. (#54665)
The PR aims to allow advanced tool users to be defined by traits rather than a hardcoded proc.
Also necessary for the CanUseTopic refactor I'm working on, which will be PRed separately for atomization purposes.
This PR also fixes an inconsistency with can_hold_items (since monkeys can actually hold items).
* Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Mob stays vertical while in cryo (#54800)
Currently, mobs in cryo will turn horizontal in the cryotube when they fall unconscious. This should stop that.
* Mob stays vertical while in cryo
Co-authored-by: prodirus <44090982+prodirus@users.noreply.github.com>
* performance logging (#54809)
Dumps a bunch of perf info to a csv every 10 seconds.
Currently this info is only stored in blackbox where it's effectively useless.
csv is a very easy to parse format and is natively supported by a lot of data analysis tools
* performance logging
Co-authored-by: Rob Bailey <actioninja@gmail.com>
* Merge pull request #54757 from Ghommie/Ghommie-tg33
[s] send2adminchat now stops links from embedding.
* [s] send2adminchat now stops links from embedding.
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.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>
* Readds the tesla, reworks it a bit (#53072)
* Makes tesla movement nicer, fixes some atmos concerns, changes how energy is handled, and readds the tesla
* readds delam and desc
* I fucked it
* flags
* holy fuck
* Constricts the zaps that can generate power from a tesla coil
* *kick?
* Readds the tesla, reworks it a bit
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Mecha followup one (#53470)
fixes#53384fixes#53327
fixes a bug where mechs could move too fast
fixes cooldown being inconsistent
makes strafe behavior better
fixes lights being very small
fixes#50639fixes#47373fixes#43605
Moved some code to the correct spots and did the varedit bitfield thing
* Mecha followup one
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* Adds swab for netherworld critters (#53201)
Adds netherworld critters as a swab. They take primarily maintenance, lavaland, and bartending reagents, they're supplemented by all geyser chems and minorly chemistry, and they are suppressed by any kind of generic growing meat (liquid gibs, nutriment, protein and peptides)
The abberant cells randomly pick a netherworld mob every time they are created. the big jackpot here is migo for the reasonable health and high damage, and the whiff are blank bodies for having good health but awful damage.
Why It's Good For The Game
Players love migos and other netherworld critters are aight. They're fairly strong, and so have a medium amount of reagents. Tried to get funky with it since they're supposed to be odd creatures.
(New swab for netherworld critters! Make sure you put them into a different vat system than your other ones, as they do not react well with normal reagents!)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Adds swab for netherworld critters
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Overhauls discord verification system (#53289)
This completely replaces the previous verification system, for one that
will interoperate with a discord redbot instance that uses the cogs
located at you github.com/optimumtact/orangescogs
This cuts out several steps in the system, but it also leaves alone the
existing notify system (which just uses a file list of discord ids) as a
record of who to notify
SQL changes required for the new database system
Version 5.10, 7 August 2020, by oranges
Changes how the discord verification process works.
Adds the discord_links table, and migrates discord id entries from
player table to the discord links table in a once off operation and then
removes the discord id on the player table
The user connects to any tg server, and uses the "Verify Discord
Account" verb, this generates a six word one time use token, with a 4
hour time validity period (defined as 4 hours from the timestamp value)
in the discord links table.
This one time token, and the ckey of the user are stored in
discord_links
At this point the entire DM side is done, this is all it does
* Overhauls discord verification system
Co-authored-by: oranges <email@oranges.net.nz>
* Merge pull request #53020 from Qustinnus/fatgrowing
[READY] Vatgrowing: Third time's the charm
* [READY] Vatgrowing: Third time's the charm
Co-authored-by: 81Denton <32391752+81Denton@users.noreply.github.com>
* Prevent duplicate names for vents and scrubbers in the air alarm (#52398)
It is always a pain adding in a new vent or scrubber to an area and suddenly you have duplicate names.
This prevents duplicate names for vents and scrubbers in an area.
Why It's Good For The Game
Makes engineering's life better, duplicate names are bad.
Changelog
cl
fix: Prevent duplicate vent and scrubber names in the air alarm interface.
/cl
* Prevent duplicate names for vents and scrubbers in the air alarm
Co-authored-by: NightRed <nightred@gmail.com>
* Flyperson organs are all completely unidentifiable (#53008)
All flyperson organs have the same, generic name and description, and their icon is picked from a pool of gross, blackened organ sprites.
There's also a new organ they have that just does completely nothing. It is also disguised and looks the same as all the other organs.
* Flyperson organs are all completely unidentifiable
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Merge pull request #52895 from MrMelbert/blindmanwalking
Prevents blinded people from using camera consoles perfectly fine
* Prevents blinded people from using camera consoles perfectly fine
Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
* Icon smooth refactor (#52864)
bitflag list construct added: an associative list of bitflags for cheap and quick element comparison between two lists using the same system.
canSmoothWith list turned into a bitflag list.
smoothing_groups list added to substitute the type path list.
smoothing procs turned into atom procs, refactored and optimized a bit.
smooth directions redefined in order to fit in 8 bits for a future smoothing system
some variable names changed, foreseeing a second smoothing system
SMOOTH_OBJ flag added, for things that need to scan turfs for smoothing. The old locate() optimization has the risk of returning false negatives by finding a child and returning null while there might be one of the wanted type as well, as it doesn't match the type exactly.
SMOOTH_TRUE and SMOOTH_MORE condensed into SMOOTH_CORNERS. The old behavior can be replicated using smoothing groups without loss.
Does very minor code cleanup.
Processing-wise didn't find a noticeable difference. The system loses on init a bit by setting the bitflag_lists, and by scanning whole turf contents for object smoothing (increasing accuracy), and gains by making less checks per target to smooth, through the same bitflag_lists.
Memory-wise there should be a small improvement, given that on the old system we had 63512 canSmoothWith lists (a few typelists, most unique), and on this new system canSmoothWith + smoothing_groups are both bitflag_lists from the same pool, totaling 46 in number.
Could be tested a bit to see if I missed any icons not properly smoothing.
* Icon smooth refactor
Co-authored-by: Rohesie <rohesie@gmail.com>
* Refactors area stuff (#52751)
-bitfielded a bunch of bools on /area, I left some untouched cus they get called a lot
-Unused vars
-Fixed a var pretending to be a fake bool
-Probably more
* Refactors area stuff
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* Dropping Now, Stand By For Titanfall: Mecha Orbital Pad (#52224)
* mecha orbital pad
* mecha orbital pad 2
* mecha orbital pad 3
* mecha orbital pad 4
* mecha orbital pad 5
* mecha orbital pad 6
* mecha orbital pad 7
* fixing conflicts
* Apply suggestions from code review
Co-authored-by: Rohesie <rohesie@gmail.com>
* conflicts and map and tgui and icons bro
* fix
* wa
Co-authored-by: Rohesie <rohesie@gmail.com>
* tguy
* Removed eslint ignore
Shouldn't be impacting the build.
* Update code/game/machinery/computer/mechlaunchpad.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* some fun stuff
* cool desc
* final changes hopefully
* late initalizing
* bitflags
* one last thing
* rohesie stuff
* Update tgui.bundle.js
* mm
* Update tgui.bundle.js
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* [READY]Dropping Now, Stand By For Titanfall: Mecha Orbital Pad
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Adds an atmos debugging tool and excited group visualizer (#52395)
* Adds an atmos debugging tool and excited group visualizer
* rebuild moment
* yarn install -> yarn run build
* Sigh
* Fixed UI, did not test, needs a rebuild.
* Proper flexing
* Adds varied colors, improved ui courtusy of stylemistake:
* Fixes a runtime, updates tgui
* added superconductors, cleaned up some shitcode, removed a clashing color
* Woop
* Speed
* rebuild
* Adds a tick count
* begone auto-update
* color defines
* rebuild moment
* color improvements, fixes updating
* adds another preprocesser define to handle showing max shares in the ui
* test of application system?
* patches up some display issues, allows for smooth flowing from one group to another
* overlay-ified
* client testing
* dmi moment
* plane master
* it fucking works
* size change
* passthrough
* rebuild moment
* adresses review concerns, toggles active turf vis on when testing
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Adds an atmos debugging tool and excited group visualizer
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Dismemberment wound tweaks, zombies are easy to wound/dismember, tweaks to head vulnerability (#52534)
* adds wound armor to helmets + such, nerfs standard head resist
* dismember + wound species balance, retitle traits
* Dismemberment wound tweaks, zombies are easy to wound/dismember, tweaks to head vulnerability
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* keybind signal support, ported from TGMC
* Thank you linter
* remove unused and extra defines
* move signal defines up and fix emote keybind runtimes
* Apply suggestions
* Update keybinding.dm
* Missed this one in the upstream merge
* Ignore keybindings without names
* back to the OG
* Update living.dm
* Update living.dm
* got it
* trailing newline
* Update code/datums/keybinding/living.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
* makes decal painter a basic tool
Makes the Decal Painter into a Basic Tool instead of a BEPIS unlock. It's very meh for a BEPIS unlock, especially for the Scientists that'll be using it. Though, it does have a use that some builders might like.
* Update maintenance_loot.dm
* decal painter value decrease
decal painter now contains much less mats since it is a basic tool
* decal painter no longer needs an empty ink cartridge to eject
Since maintenance loot was put in the wide categories of trash, common,
uncommon and oddities, the Easter and Christmas maintenance loot was
made incredibly rare.
This commit increases the chances to around 25% of all maintenance loot
to be a special holiday item, rather than the tiny oddity level chance
before.
* Change BYOND version to 513.1526
* Remove BSQL from docker image
* Add a docker publish action
* Add a docker test action
* Cleanup runtime icons
* Cleanup runtime sounds
* Correct docker workflow names
* Add Dockerfile as an appveyor cache dependency
* Fix build issues
* Copy all dlls
* No need for .dlls in docker
* Minor cleanups
* Case of lower
* More changes
* Ruins the nice 420 diff, brainfart when doing the second batch of conversions
* More changes
* Next batch. I think
* Converts even more paths
* Restarts bots
* Capital Free Zone
* Come on travis, do something
* Renames areas
* Bots, please stop dying
* Updates CONTRIBUTING.md and updates a few paths I missed.
* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
* basic antag items
hey
based
game is on
ree
e
brings back good sprites
eueuuee
eeeeeeeeeeeeeeeeeeee
more
tgui baby
FINALLY
e
Small changes
adds better point s
Finishing touch!
FINISHED
ANTAG FINISHED. FUCKING. FINALLY
grammer
E
E?
* rebuilt tgui
* gamemode fixes
* i love inconsistent var names
* sprootes
* ath review
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
* Automatic changelog compile [ci skip]
* a shit ton of changes
* Apply suggestions from code review
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
* sprootes
* more changes ree
* Fixes and upgrades
* sprootes done
* dmdoc compliance
* Apply suggestions from code review
Co-authored-by: Rohesie <rohesie@gmail.com>
* Apply suggestions from code review
Co-authored-by: Rohesie <rohesie@gmail.com>
* mewtewnew revieww ~~
* e
* Automatic changelog compile [ci skip]
* e
* Apply suggestions from code review
Co-authored-by: Rohesie <rohesie@gmail.com>
* E
* autodoc
* E
* Apply suggestions from code review
Co-authored-by: Rohesie <rohesie@gmail.com>
* removed Destroy()
* * 0.5
* bugsquash
* e
* changes to ashlord's rite
* e
e
* e?
* the fuck
* adds station wide alerts for ascension events
* fixes an autodoc
* tgui
* e
e
* removes a redundant line of code
* sickly blade is now normal size item
* changes a line of code in flesh
* no revives for ghouls!
* uwu
* Update code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm
Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
* E
* E2
* Automatic changelog compile [ci skip]
* Makes eldritch cult into HERETICS
* Apply suggestions from code review
Co-authored-by: Rohesie <rohesie@gmail.com>
* E
* unfucks medallions code
* long live list loops
* E
* E
* i love my git crashing
* Magics
* E
* removes TRAIT_GHOUL since it was redundant
* Update code/modules/mob/living/carbon/inventory.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/mob/living/carbon/inventory.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/mob/living/carbon/human/species.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/mob/living/carbon/human/species.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/mob/living/carbon/human/human_update_icons.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* fixies uwu
* hopefully i fixed all return ..()
* E
* EEEEEEE
* wormie now is refactored
* removes destroy
* Update code/modules/surgery/bodyparts/bodyparts.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Automatic changelog compile [ci skip]
* Update code/modules/mob/living/simple_animal/eldritch_demons.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* E
* E
* Update code/modules/mob/living/simple_animal/eldritch_demons.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/mob/living/simple_animal/eldritch_demons.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/mob/living/simple_animal/eldritch_demons.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* E
* E?
* E
* one more
* k
* OH SHIT OH FUCK
* replaces ROLE_ECULT with ROLE_HERETIC and fixes preferences
* REE
* fleshy fixes
* fixes summonings
* REE
* texture fix
* fixes a stupid fucking runtime that i noticed coz i forgot people can be borged. FUCK
* grammer
* nullrods can now remove runes
* HOLY SHIT, HOTFIX NERF
* E
* E
* TEMPORARY SOLUTION TO MAKE HERETICS SPAWN NATURALLY
* Update code/modules/antagonists/eldritch_cult/eldritch_antag.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/antagonists/eldritch_cult/eldritch_book.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/antagonists/eldritch_cult/eldritch_effects.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/antagonists/eldritch_cult/eldritch_items.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* SECOND TEMPORARY FIX
* fixes fixes fixes fixes
* i hope this no longer will qdel summons
* E
* please push this asap
* E
* buffs sickly blade to 17 damage and only allowes culties to use it
* Explanations uwu
* examine changes ree
* e
* E
* )
* E
* E
* Ash fix
* changes to mad touch
* replaces e_cult with heretics and fixes protect objective to suceed when someone suicides
* E
* makes worm code use COMSIG_MOVABLE_MOVED
* replaces bad var names
* makes eldritch knowledge an assoc list
* E
* Update code/modules/mob/living/simple_animal/eldritch_demons.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* what the fuck
* the fuck
* fixies
* EEE
* fixes
* e
* fixes
* mansus grasp slight buff
* changes overall changes
* E
* logging
* changes the eldritch armor into a nicer looking kryson robes
* tgui bundle
* QOL sprites and a spell to contract armsy
* SPRITES
* readds rust floors
* Fixes pointed out by anturk
* E
* E
* E
* Apply suggestions from code review
Co-authored-by: Rohesie <rohesie@gmail.com>
* Cleanup
* Fixes
* E
* EEEEEEEEEEE
* makes heretics a little bit more common
* Update code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* EEE
* eee
* E
* E
* Init
* Makes shit more readable
* h
* e
* E
* wounds compatibility patch
* hnng
* rusty better sprite
* turn
* Apply suggestions from code review
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* E
* further renames e
* E
* JS side
* changes reee
* e
* E
* yeesh
* e
* E
* pr
* e
* E
* changes re
* AAAAAAAAAAAAAA
* e
* antag huud
* e
* e
* hnnng
* hnng
* HNNNNG final patch - LAST TESTMERGABLE COMMIT
* HNNG NEVERMIND THIS IS THE LAST TESTMERGABLE COMMIT DONT LISTEN TO LIES BELOW
* e
* FINAL PATCH - MERGE READY
Adds defines, buffs blood siphon a bit so it can utilize wounds and replaces ROLE_CULTIST with ROLE_HERETIC
* forgot about a single debug line aaa
* hnnnhng
* hng
* a!
* aaa
* applies code review
* e
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.
* Fixes some comments
* Fixes map issue
* Restart lints
* Properly resolves conflicts
An almost complete rework of how creating polls, their data and voting on them is handled.
Instead of repeatedly querying for poll data, running polls are loaded at runtime into poll_question and poll_option datums that stores all the needed variables for both. This datum is then used for creating, editing and accessing poll data. The database is only contacted when saving changes or votes.
Creating polls and options is now done with a html window instead of a series of popups akin to how the banning panel works. The form data is parsed and error-checked before passing to be saved.
This is done in two stages, first time a poll's details are entered and it must be initialized (created as a datum) before options can be added and all of both are saved to the database. Instructions about how this work are shown on the poll creation window.
A new field for polls has been added, subtitles, which is text only shown when a poll is opened by a player instead of on the list of polls. Intended so the actual question text can be kept to only a name and important information about a poll goes in a subtitle.
All polls can now have revoting enabled on them.
Polls can have a starting datetime specified, this can be in the past but why would you do that?
Polls and options can be edited once created, excluding the type of a poll. Doing so will by default clear all existing poll votes. Votes can also be cleared by a button.
The handling of how votes are processed has been adapted for the datum system but is on the whole not functionally that different aside from poll validation not being roughly copypasted across each poll type's vote proc
All poll tables now have a deleted column for retaining 'deleted' data.
poll_question has also gained the columns created_datetime, subtitle, allow_revoting, their function explained above, and a change of idx_pquest_time_admin to idx_pquest_time_deleted_id.
A stored procedure set_poll_deleted has been added. This is called when setting a poll as deleted to avoid needing 4 separate queries from the server or one fairly long 4-way joined
Create Poll verb is renamed to Server Poll Management