Commit Graph

472 Commits

Author SHA1 Message Date
TheChosenEvilOne
a7cde8ce39 [Ready] Ports dynamic gamemode from /vg/ (#44639)
About The Pull Request

Port the dynamic gamemode from /vg/.
(Really bad explanation of the mode incoming.)
The dynamic game mode generates a threat number which is used to "buy" rulesets (rulesets are basically your antagonists). This means you can have rounds with for example traitors and cult (you can have up to three roundstart rulesets depending on the pop and threat level), and then there are latejoin and midround rulesets which basically do what they say (latejoin ruleset assigns late joining player as an antagonists and midround assigns ghosts or a currently alive player as an antagonist)
Why It's Good For The Game

This increases the chances of people getting their important antagonist role and makes rounds more interesting (when cultists gets their hand on wizard's magic) when everything can happen at the same time (cult, wiz and traitor could happen on high threat level).
Changelog

cl
add: Ported dynamic mode from /vg/, originally made by DeityLink, Kurfursten and ShiftyRail
/cl
2019-08-09 11:26:03 +12:00
Rob Bailey
6a26744d83 Clothing /under repath (#45548)
About The Pull Request

repaths clothing/under to be more sane
Also fixed a couple of bugs relating to pathing being incorrect, and modified a couple of bad descriptions and names
Also adds a map path updating script, which also helps show the full repath.
Why It's Good For The Game

improves maintainability, makes mapping easier, stages for a clothing dmi split
Changelog

cl
refactor: repathed all under clothing, keep an eye out for errors
/cl
2019-07-30 19:20:21 +12:00
spookydonut
88eca69eb5 converts some spawns into timers (#45429)
* converts spawns into timers

* linter

* change per review
2019-07-29 02:23:15 -07:00
RandolfTheMeh
48fbc073e5 [TMC] Defib Rework, Organ Damage Effects (#45104)
* 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
2019-07-29 02:18:22 -07:00
nicbn
44a07d712d BoH bombing rework II (#45174)
Ever since the big BoH nerf, BoH bombing is kind of a joke. The damage it does is not really huge, and it's lame for traitors - it lacks emotion and their target may not even die, as they can use the ladders to get away.

So, what this does is add back some soul into BoH bombing, while not making it too round-ending and adding some degree of damage control for admins in case of griefing.
When BoH bombing, a stationary singulo with custom sprite will spawn. Its gravitational pull is REALLY strong, so people near it are probably going to get eaten, and there will be some real damage to the hull. The singulo will cease existing after 5 seconds.

For antags, I think this becomes much more interesting than the current BoH bombing. In the case of griefers, the damage to the station isn't too big because the singulo is stationary and fades away after some seconds. And then, admins can click a button in their chat to bring back everything the singulo ate into the game (the button expires in 10 minutes, however, but this can be changed if you think it is needed).

Settings like gravitational pull can be tweaked if yall find it to be too strong or something.
Changelog

cl
tweak: BoH bombing changed again. Now it's more violent.
/cl
2019-07-25 21:18:01 +12:00
nervere
ea6ec655ce Adds CTF and Reboot buttons to check antags panel (#44851)
Makes dealing with end of round grief easier and faster for admins.
2019-06-30 17:19:07 -07:00
vuonojenmustaturska
90467b120d Adds a toolbox verb for spawning reagent containers and grenades (#44261)
Changelog

cl Naksu
admin: "Spawn reagent container" verb has been added to the Debug tab. It can be used to spawn reagent containers and grenades with fully customized contents.
/cl
2019-06-03 12:08:49 +12:00
AnturK
a386f71194 Saving/loading custom outfits. (#44183)
* Saving/loading custom outfits.

* Small fix and some more relevant name
2019-06-01 10:31:37 +12:00
81Denton
546592529c Adds confirmation popup to undelaying round end (#43780)
* Adds confirmation popup to undelaying round end

* Popup lists current delay reason
2019-05-02 12:17:48 -04:00
nervere
d04fd9417c removes unused secrets panel button, fixes a button in the global player panel (#43427)
* fixes secrets topic check_antagonist

* removes code related to check_antagonist topic that doesn't work or does nothing

* changes the name of the button in the secrets panel

* removes old secrets panel topic check_antagonist

* player panel antag button no longer relies on secrets topic

* player panel antag button no longer relies on secrets topic

* readds something i shouldnt have removed
2019-04-03 18:21:26 +02:00
Kyle Spier-Swenson
759b2cd436 Made mode selection better (#43334)
Now you can set the mode after the round starts, to be saved as the
default for next round and on

Otherwise you can now choose rather or not the mode change is for the
current round only or saved as the new default mode.
2019-03-27 16:53:12 -07:00
ShizCalev
93c9fb4cd3 Fix admin follow runtime (#43282)
Fixed a minor runtime caused by admins clicking a follow link while in
the lobby.
2019-03-23 22:50:50 -07:00
ShizCalev
c56869fe0a Fix incorrect var passed to admin makeAI AIize (#42677)
Second param is for the client.
2019-02-05 17:56:35 -08:00
coiax
d94c5cacb0 Podspawn admin verb, like Spawn, but more IC (#41981)
* Podspawn admin verb, like spawn, but more IC

🆑 coiax
admin: New 'Podspawn' verb, which functions like 'Spawn', except
any atoms movable spawned will be dropped in via a no-damage, no-explosion
Centcom supply pod.
/🆑

Essentially, sometimes you want to spawn stuff in, quickly, in an adhoc manner.

Use of the full Centcom launchbay is fine if you're doing a full blown drop or event
or want some customisation, but sometimes you want a quick supply pod.

The admin smite "Supply Pod (Quick)" has been used for this purpose, but it has a side
effect of setting people on fire and damaging them, which isn't what you want
if it's just for spawning stuff in.

* Adds option to Game Panel->Create Object

* Code review I
2019-01-04 10:00:04 -05:00
Jordie0608
f40546def8 edit ban reason url encode and clicking disabled reason/server radios 2018-12-20 16:55:02 +11:00
Jordie
8a66665e95 Ban system and interface update (#41176)
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.

Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.

The legacy ban system is removed.

The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.

New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.

New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.

Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.



cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
2018-12-05 08:48:37 +13:00
ShizCalev
f999167b80 Replaces radio channel names and keys with defines 2018-11-16 09:36:49 -05:00
AnturK
9306d01f6f Adds old name tracking to player panel, cleans up some name assignments. 2018-10-25 20:39:51 +02:00
ShizCalev
1f5e451a7e Jobbans now use DisplayTimeText (#41025)
Forgot these were separate.
2018-10-20 11:36:27 -07:00
ShizCalev
d470262007 Ban Message Duration (#40986) 2018-10-18 14:02:12 -04:00
MrDoomBringer
33eef00d85 Clean up some admin-transform related code (#40890)
1. there was an option for cancel when the input already had a cancel button
2. hitting either of these cancels did nothing, and it continued on with the
   transformation
3. there were some 1's and 0's that shoulda been TRUE and FALSE
2018-10-13 12:16:40 -07:00
oranges
a94a9c8efa Merge pull request #40365 from AnturK/team-panel
Admin team panel
2018-09-28 09:27:15 +12:00
AnturK
6be82692fd Fixes ban logging issue. (#40457)
* Fixes some ban logging issue.

* This too
2018-09-25 12:27:24 +03:00
Jordie
6bc51275fb fix banlist runtime not creating notes for server bans (#40458) 2018-09-25 12:26:21 +03:00
AnturK
dcf802e4b2 Team Panel 2018-09-20 20:54:52 +02:00
ShizCalev
ced052879d Correct terminal punctuation mistakes (#40123) 2018-09-05 23:11:53 -07:00
XDTM
3f32f8c110 [Ready]Logs when speech is forced by an external factor (#39964)
* Logs when speech is forced by an external factor

* makes say args uniform

* fix
2018-09-03 11:38:16 +02:00
TheDreamweaver
bb2f1334d4 [READY] Fixes Sentience Potion notifications and role management (#39994)
* -Fixed intelli potions requiring you to have Xeno toggled on in special preferences to be notified.

-Split xenos, intelli potions, and mind transfer potions into separate roles for a more precise role management.

* -Made sentience potions and mind transfer potion roles bannable from jobban panel.

-Gave Sentience potion role its own toggle in game preferences.

* Fixed bad reference

* Cleaned up role references

* Cleaned up a few defines

* Cleaned up more defines
2018-08-31 22:12:17 +02:00
CitrusGender
bb2c82375e Add Note severity and changes UI of administrative notes (#39808)
* Adds note_severity and updates dbconfig. New SQL stuff too.

* whoops please don't hack into my database >:^(

* UI change, changed how it's stored in the DB, removed some queries when it returns, changed stuff to key.

* Update sql_message_system.dm

* this was not defined

* random indent

* wait how did this get here

* okay enough web edits I promise

* just kidding I got u

* Update common.css

* Added buttons, changed UI again, standardized the inputs, added severity for appearance bans, fed the dog

* forgot about the banning panel

* added an asset cache

* corrects asset datum var name
2018-08-26 20:23:29 +10:00
Jordie
31f020f3cc Add expiration time for admin messages (#39502)
* add expiration time for messages

* typo

* fix

* src to usr

* allows removing expiry from existing messages

* cancel button
2018-08-12 06:31:14 +10:00
Jordie
0d7ef3ed65 Key instead of ckey for user facing logs and ui (#39009)
* converts to using key instead of ckey for user facing logs and ui

* more key_name for airlock wires

* futureproofing check for if key changes

* --onlyckeymatch script argument and fail/success counter

* fix
2018-08-11 02:15:50 +10:00
kevinz000
5f4b418eaa Movespeed Modification System (#39181)
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.
2018-08-09 16:55:15 -04:00
ShizCalev
89752866aa Merge branch 'master' into spellcheck 2018-06-26 16:43:41 -04:00
ShizCalev
ff532a4ca4 Spellchecks TGStation 2018-06-19 18:57:44 -04:00
Armhulen
f337890fc3 Admin Kicks now prompt the admin to avoid accidental kicking (#38544)
* TO THE PLAAAAAACE I BELOOOOOONG

* TAKE ME HOOOOOOOOOOME

* WEEEEEEST VIRGINIAAAAAAAAAAAAAAAAAAA

* fixes my shit

* No meming in admin frontend
2018-06-19 15:12:10 -04:00
Jordan Brown
cf7e8aa9ec Qdels queries, adds sleep safety checks, DBcore checks for leaks (#38363)
* Qdels all queries, adds sleep handling

* DB Core messages admins about undeleted queries

* Compile fixes. Adds missing set waitfor

* Remove world/New shennanigans. Add DBQuery/BlockingExecute()

* Less spammy notifications to admins about undeleted queries

* Increase dbcore fire time to 1 minute

* Upgrade undeleted query warning

* Better place of death

* Fix build

* Remove BlockingExecute, see BSQL PR for why

* Yep, missed that one.

* Psyche, that's the WRONG QUERY!!
2018-06-18 22:48:35 +03:00
Jordan Brown
78e7c5f3b5 Merge pull request #38482 from DaxDupont/syndicatemess
Add syndicate headset messages, squashes both together.
2018-06-15 13:52:12 -04:00
CitrusGender
1975524bdd Fixes rudimentary admin panel transformations not logging (#38473) 2018-06-15 02:17:41 -07:00
Dax Dupont
57f1fb4889 Adds Syndicate headset messaging 2018-06-14 13:43:04 +02:00
Dax Dupont
da5ede5ff7 Admins can now send CentCom messages as an alternative to SMs (#38401)
* Admins can now send CentCom messages as an alternative to SMs for a more ICly feel.

* aaaa

* oh shit its easy

* aaa
2018-06-14 00:23:44 -07:00
Dax Dupont
93fb5313ad aaa 2018-06-13 20:03:58 +02:00
Dax Dupont
113678dba8 Admins can now send CentCom messages as an alternative to SMs for a more ICly feel. 2018-06-10 17:42:46 +02:00
oranges
df02e48ecb Individual Logs now follow the client around automatically (#37790)
The logging is now stored in the persistent client/player_details datum,
that will survive an entire round

The existing mob log is retained and a new admin verb is added to access
it. It will only show logs for the mob in question, across all players
who possibly spent time in that mob

A new log type is added that tracks the mobs the player changes across
into and the times they occured, to better help admins manage complex
situations, this also appears in the mob log as a record of the players
who entered/exited control of the mob
2018-06-06 11:09:59 +02:00
Tad Hardesty
75e029ad2e Default to not adjusting direction in Create Object (#37998) 2018-05-26 00:27:55 -04:00
vuonojenmustaturska
4f0b0b7ec1 Replaces /atom.initialized and .admin_spawned with flags (#37981)
kill .initialized and .admin_spawned from /atom
2018-05-24 02:20:50 -07:00
Jordie0608
d25762dddd query debug logging as a config option 2018-05-16 14:59:39 +10:00
Jordie0608
6b4316a201 query debug logging 2018-05-14 19:55:20 +10:00
Jordie
e44298a36c some dbadmin fixes (#37623) 2018-05-04 12:14:35 +02:00
oranges
4b455e82ca Merge pull request #37267 from Jordie0608/iwasgoingtolaughatcitrusfordoingthisbutthenimadethesamemistake
Adds log and management tabs to permissions panel
2018-04-28 13:25:56 +12:00
AnturK
52a99c09d6 Uppercase slot defines 2018-04-27 10:38:32 +02:00