Commit Graph

37 Commits

Author SHA1 Message Date
Jordie
a28de54405 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-04 20:48:17 +01:00
Ling
cb1e668b4e Fix merge conflicts and yogstation.dme 2018-09-26 19:30:23 +02:00
Kierany9
270d2bcd96 [READY] [Gamemode Bounty] Assimilation (#40296)
* it's ready boi

* typos, things i forgot to uncomment and mindshields revealing hosts

* Requested bugfixes/syntax changes

* Fixes Network Invasion runtime and other misc fixes

* oops

* Fixes mindshield runtime

* Mind control and lots of fixes

* Admin logging and runtime fixes

* dumb bugs and fluff text

* Commented out code, typos and finalizing player numbers

* runtime

* Major runtime fixes, buffs and distortion field

* death on MC'd vessel death, destroy_hive and hive removal on death

* code review

* oops

* Mind Control realname fix
2018-09-26 19:29:54 +02:00
Joe Schmoe
8d529da4f5 resolve conflicts 2018-09-10 00:08:53 +02:00
Joe Schmoe
cdc7febc91 it kinda resolved itself? 2018-09-09 17:52:54 +02:00
Nich
a3b61d6dd7 Gives IAA its own preference (#40019)
* Gives IAA its own preference

* Why did I add it for the ban when I didn't add any way to ban them from it.

* de-capitalizes
2018-09-05 17:42:49 +01:00
Nich
584bb21141 Merge branch 'master' into slingshots 2018-09-01 09:59:15 +02:00
Fluffe9911
7b7d5a1da6 Vampire Gamemode 2018-08-31 19:44:53 -04:00
TheDreamweaver
05b9a683ca [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 21:12:11 +01:00
Joe Schmoe
1b5d3b39df more shit 2018-08-29 21:34:48 +02:00
Joe Schmoe
064a4999ee merge 2018-08-29 20:23:50 +02:00
Francesco
44800bb040 [READY] Overthrow gamemode (#39876)
* Overthrow gamemode, again!

* Fixes objectives even more, especially AI one, removes boss antag subtype

* Fixes and refactors objective code, especially AI

* Expands greeting msg, fixes AI getting storage implant, rewords objectives to make it clear that they're teamshared objectives

* Resets gamemode required players to production values

* Lowered the number of teams existing during highpop

* refactors code a bit, fixes special_report to not use roundstart list, renames converter

* Cannot convert mindshielded people anymore unless you remove the implant

* Changes the Nothing explanation_text of head objective to hint at autoupdating, updates greet()

* Fixes define compile error
2018-08-29 01:34:23 +01:00
Joe Schmoe
104ae21bbd yogs 2018-08-26 12:20:03 +02:00
Joe Schmoe
2ad79e0934 initial commit 2018-08-25 21:08:47 +02:00
AsV9
d338cac150 Merge remote-tracking branch 'tgstation/master'
Not sure if this worked. Used a wonky special snowflake strat to merge.
2018-03-24 08:57:13 +01:00
XDTM
9d41e9734d Extensive surgery additions (#35520)
* 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
2018-02-19 14:29:06 +02:00
ShizCalev
ee18d6f8e2 Fixes clockwork sigil candidate runtime, cleans up some jobban checks with defines (#34907)
* Cleanup

* .

* Synced special_role & factions with role defines

* Revert

* more cleanup

* fix
2018-02-04 03:03:34 -06:00
AnturK
e38e6b8fa4 Antag Panel / Check antagonists Refactor (#34236)
* Antag Panel & Friends Refactor

* Prettfying

* Removes abduction also blob from default configs.

* Ninja fixes

* Ninjafix

* First draft of the new check_antags

* I love coding without compiler

* Yes

* Fixes

* Check_antags part  2

* Fixes and cleanup

* Okay should be good now.

* Adds simple no move & no tc syndie for events

* Integrates toggle objective pr

* Why i even bother.

* Offer mob shows all antags

* Some minor visual stuff

* Proper name for the helper
2018-01-19 09:43:23 -05:00
KorPhaeron
be748e3323 Disentangles blob from blob mode/removes blob mode (#31780)
* Disentangles blob from blob mode

* Observer examine

* Fixes runtimes

* Blob now has infinite points in critical mass and will consume the entire station visually

* Different icon

* Blob event more common

* All overminds get to pick their core location

* Blobs block the shuttle

* Not sure when controller would be different from overmind
2017-10-18 21:55:28 -04:00
pubby
1e4d1ca42f Traitorbro gamemode (#30344)
A dead-simple traitor variant.

It's like traitor, except instead of an uplink you get a buddy: your blood brother. You must team up with your brother to complete your objectives. It runs along side regular traitor mode, thus the name "traitorbro".
2017-09-18 11:02:23 +12:00
MoreRobustThanYou
c48def94d8 Removes gangs (#30056) 2017-08-31 17:31:49 -03:00
Jordan Brown
ef96559701 Removes cortical borers 2017-06-26 11:21:08 -04:00
PKPenguin321
c2bfa07473 Revert "Removes the gang gamemode" (#26915) 2017-05-04 21:19:02 -05:00
Lzimann
59eed8f11c Removes the gang gamemode 2017-05-02 14:28:55 -03:00
Cyberboss
9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
uraniummeltdown
ea81370dce Cortical Borers (#21118)
Adds cortical borers, a midround antag originally from Bay. The code here is from yogstation, baystation and paradise station.

Borers are little brainslugs that when adjacent to a human can infest them. They can supply you with useful chemicals such as medicines and meth, and can revive you from the dead if they have maximum chemicals. They can also take over your body, putting them in control of you while you become a "captive mind". A captive mind can take back control by doing Resist. Health analyzers show borers in people, while medHUDs show borers in control. If you have Sugar in your body the borer can do nothing, it gets kicked out of control if it's controlling and becomes docile. Organ Manipulation surgery on head to remove the borer. If the brain of the body gets removed (decapitation, brain removal surgery, gibbing) the borer falls out of the host and loses control if they were controlling. Changelings can remove borers with Anatomic Panacea or Lesser Form (or Last Resort). Borers can reproduce and have an objective to escape on the shuttle with X hosts alive.
2016-11-10 09:25:41 +13:00
AnturK
93f444fd38 Removes Hand of God gamemode. 2016-09-18 13:32:26 +02:00
Incoming
6b3bc18a5b Adds a new option to how the game handles a situation where a player doesn't qualify for any jobs they have set. Previously you could only have it set to play a random job (risky and potentially unfun) or play assistant (greytide). 2016-07-18 19:45:06 -04:00
Joan Lung
c801f9a9c9 Replaces umbras with revenants (#19059)
Umbras have been removed.
Revenants have been readded, though they are now vulnerable to salt piles.
2016-07-03 01:33:52 +12:00
Xhuis
8a852f196b Removes shadowling (#18951) 2016-06-27 20:53:35 -04:00
Xhuis
527dddd95d Complete Revenant Rewrite (#18522)
I'm unhappy with the way revenants are right now, and my code for them is pretty unsatisfactory in comparison to what I know now. Although revenants will still fill the same role of just being spookier ghosts, they'll be a bit more passive - incapable, for instance, of giving diseases to people. The new revenants will be called umbras and will use vitae instead of essence.

Total change list:

    Revenants have been renamed to umbras. Essence has been renamed to vitae. This may be temporary.
    Umbra spawn events are now weighted higher and spawn an unoccupied umbra. Ghosts are alerted to the umbra's position and may interact with it to take control of it.
    Umbras' health is not based on vitae but has a hard cap at 100.
    Umbras have a passive vitae drain each tick, defaulting at 0.01. If the umbra runs out of vitae, they will die irrevocably. They also slowly regenerate health by doing this.
    When an umbra dies, they leave behind umbral ashes that reform after one minute. They're difficult to see and can be scattered by activating them, although they also have high research levels if you're fast enough.
    Harvesting vitae from critical targets no longer kills them. Harvesting a target in general prohibits them from being harvested until five minutes later, but they can be drained again after that.
    EMPs revitalize umbras and give them hefty amounts of vitae due to their physical nature.
    Umbras have four abilities: Toggle Nightvision, Discordant Whisper, Possess, and Thoughtsteal.
        Toggle Nightvision is self-explanatory.
        Discordant Whisper is identical to the original revenant's transmit.
        Possess allows the umbra to slip into a human's body unnoticed. While in their body, umbras will slowly drain vitae from the human at a tiny rate - not enough to cause harm, but enough to induce adverse effects in the clueless human. These effects intensify over time and eventually lead to the umbra being forced out of their host.
        Thoughtsteal paralyzes a living human for several seconds while the umbra steals their memories. After several seconds, the umbra copies the notes of the target's memories and turns invisible - the hapless victim is stunned for several seconds afterwards and can't be Thoughtstolen by the same umbra again. Umbras have an objective to steal the memories of 25% of the station's population.
    Salt piles have been added, created by salt shaker or just by splashing salt. These piles will prevent an umbra from passing and reveal them briefly if they try.
2016-06-17 10:58:07 +12:00
Xhuis
265c0e1484 Conflicts IV 2016-05-15 01:05:53 -04:00
Xhuis
98139f8990 Conflicts I 2016-05-15 00:59:29 -04:00
Xhuis
45ef8a5e00 Ratvar, the Clockwork Justiciar 2016-05-15 00:59:28 -04:00
KorPhaeron
57d29d11d4 Replaces malf with traitor AI 2015-12-18 00:05:30 -06:00
Nerd Lord
746c7738c9 Fixes revenant antag pref being impossible to toggle. 2015-12-09 22:15:45 -05:00
Remie Richards
b9394257da About a million changes, but largely: Functional (Sort of) Antag Huds, Mind fixes, and Final glue to get the mode working. 2015-10-07 22:11:19 +01:00