Commit Graph

204 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
Jordan Brown
e832dbeab4 Merge pull request #40916 from lordpidey/report_fixing
Fixes gamemode reports to not generate duplicates
2018-10-15 21:15:54 +01:00
Nich
56063a99cd Update changeling.dm 2018-08-26 20:24:59 +02:00
morrowwolf
d5540cd9bb makes it actually compliant to standard 2018-07-17 07:05:55 -06:00
morrowwolf
1070e827a3 re-added redundant dumb shit because ling is lame 2018-07-16 18:07:01 -06:00
morrowwolf
b2e00e73e9 does some shit or something iunno 2018-07-16 03:21:12 -06:00
Nich
6c879778b6 spellchecks tg whatever 2018-06-28 21:26:38 +02:00
AnturK
27963e1855 Adds logging to failed gamemode startups (#38735)
* Adds logging to failed gamemode startups

* ]

* While i'm here
2018-06-27 15:12:42 +01:00
Jordan Brown
1f0b362b18 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 20:49:09 +01:00
oranges
424a65b3e6 Merge pull request #38360 from ShizCalev/key-cleanup
Cleans up some logging
2018-06-12 00:49:00 +01:00
Nich
216a54619f Update changeling.dm 2018-05-11 08:52:51 +02:00
oranges
feca7a7b38 Uppercases slot defines. 2018-04-28 09:49:08 +01:00
Sirenfal
937ad3afc7 Antagonist reputation system (#35485)
* Implement antagonist reputation system

* Cleanup

* Quadruple point values, maybe a bit underwhelming before

* Simple feedback changes. Waiting on input on a couple questions for the other requests.

* * Comment out unnecessary variable

* Half of the requested changes (testing in game pending, standby)

* Last set of changes. This should be finished now.

* Remove line causing a warning to fix Travis build
2018-03-02 13:38:49 +13: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
AnturK
3d813853b5 Roundend report refactor (#33246)
* Roundend report refactor

* I won't be fixining every moved part but here you go

* Preparation for feedback

* Fixup

* First draft of feedback (wip)

* Simple version of feedback for custom objectives/explanation texts

* Debug verb removal

* Fixes & show again action button

* Admin objective handling

* Fix and first step of css standarization.

* Every time

* More css

* Fix

* Fixes, abductee datum, css tweak

* Feedback and css fix

* CLIENT DETAILS DATUM + CLIENT ACTIONS + spilled css fix

* Integrates clockult badcode

* Fix

* Fix lists in assoc feedback

* Unified antagonists and teams feedbacks, bumped up antagonists version

* Adds chat link to reopen the the report

* Fixes some clockcult stuff, passes antag name to feedback

* review stuff

* fix

* Adds some missing spacing

* Roundend corners, has css gone too far.

* Spacing between same antags

* Changeling and traitor objectives now have same spacing

* Wizar report typo fix

* Wrap brother team.

* Also move it to more relevant file

* Fixes cult summon objective

* Fixes roundend report for full-round observers

* Fixes wizard with apprentices roundend report

* Tutorial scarabs don't show in roundend anymore, adds some check_ticks

* Prettier station goals

* Merges roundend delay things

* Spread the lag around

* Fixes relogin qdeling eminence

* ckey -> key
2017-12-11 11:57:20 -05:00
Robustin
92403e4d2b Standardize report weight 2017-12-05 11:17:24 -05:00
Robustin
a448235d83 False report standardization 2017-12-04 12:27:09 -05:00
Jordie
8b19b490d1 JSON feedback (#32188)
* wip

* wip2

* makes code actually compile on 511 + fixes

* versioning

* s

* adds python conversion script, schema change and removes 'force ' from item_used_for_combat

* fix to compile

* forgot to actually commit this
2017-11-17 02:43:12 -05:00
AnturK
70d0357b33 Ling datum antag standarization. (#32183)
* Ling datum standarization.

* Removal of redundant file

* Ok
2017-11-05 20:32:37 -05:00
AnturK
f9fb3084ef Removes unused list (#31662) 2017-10-14 00:49:29 -05:00
Firecage
ee3e8d2846 merge conflict fix 2017-10-05 11:22:57 +02:00
Firecage
2ae0380fef Does some code standardization/consistency 2017-10-05 11:13:47 +02:00
kevinz000
0ac476cd22 Adds steal research levels objectives to traitors+lings, makes it work for everyone not just ninjas. (#30722)
* initial commit

* bugfix

* Update changeling.dm

* Update datum_traitor.dm

* Update datum_traitor.dm

* Update objective.dm

* compile
2017-09-29 15:44:15 +13:00
Jordan Brown
4178c209f1 Configuration datum refactor (#30763)
* Configuration datum refactor

* More WIP

* New easier on the eyes format

* More WIP

* Finished config.txt

* Fucktons more WIP

* The end of conversion draws near...

* Add all this shit

* Done converting entries finally

* Hunting down compile errors

* More WIP

* MORE CONVERSIONS

* More WIP

* More WIP

* Oh shit only 90 errors this time!

* IT COMPILES!!!

* Fixes world start runtimes
2017-09-29 15:36:51 +13:00
KorPhaeron
ed43a09864 Prevents the creation of Shadowzombiechangelings (#30681)
* Prevents the creation of Shadowzombiechangelings

* You can still zombie yourself if you really want

* (
2017-09-15 10:07:03 +02:00
Mike Long
0eef60e841 Refactors roundstart centcom threat report. (#30241)
* Refactors rounstart centcom threat report.

* Changes a .Add() to a +=

* Fixes merge.

* Another fix from the merge.  Whoops.

* Removes slashes from sandbox report.
2017-09-13 11:45:57 -04:00
Jordan Brown
c1ef78f8c9 Soft crit (#28649)
* Soft crit

* Fix

* New define

* Fix shitcode

* Tabs not spaces

* Shitcomment

* Default to whispering in soft crit

* Fax
2017-08-28 14:42:11 -05:00
nicbn
77a2d3f5cd Replaces "istype"s with is_helpers macros (#28676) 2017-06-22 15:03:19 -03:00
Joan Lung
3315c4c311 People converted to clockcult will actually have their world turn yellow briefly, matching the messages (#28397) 2017-06-13 21:47:29 -03:00
Cuboos
827967c965 Adds some antag alerts (#26931) 2017-05-12 17:16:57 -03:00
Cyberboss
729010bbb2 Unorphans the blackbox (#26129)
Moved sql_poll_population from server_maint to this new SS. Moved few remaining server_maint tasks to SSping and deleted it.
2017-04-27 10:04:57 +12: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
Cyberboss
d0bfbc3e13 Rename ticker to SSticker 2017-03-22 10:48:25 -04:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
swindly
3ac7819d50 Fixes players not losing the cellular emporium button when losing changeling status (#22838)
* removes button

* nulls the variable after the qdel call
2017-01-10 12:35:23 +13:00
chowdermcarthor
c7e474ccae Neck Slots (#21169)
* Added in a neckslot. Moved some tie items over to said neckslot.

* Changng some stuff to fix the new neckslot items.

* no message

* Altered comment to say that the old tie system is being kept as-is due to armbands and such instead of just avoiding conflicts.

* no message

* Changed the number for this.

* Fixed jaws of life not having a category, thus they only would show up when searched.
2016-10-26 19:03:41 +13:00
Shadowlight213
bf83024652 Makes changeling assign the special_role in pre_setup() (#21026)
* Makes changeling assign the special_role in pre_setup()

* traitorling

* Fixes jobban check
2016-10-20 12:42:48 +02:00
Shadowlight213
7ac8212175 Removes comments 2016-07-26 16:59:16 -07:00
Shadowlight213
6afaebdb7a Fixes a duping issue in ling antag selection. 2016-07-26 16:54:27 -07:00
Xhuis
566f89c9d9 Gamemode code improvement (#19354)
* Gamemode code improvement, initial commit

* Wraps up announce messages and removes Henderson

* Fixes an incomplete comment
2016-07-19 10:59:32 +12:00
Jack Edge
9543fc891b Changling evolution menu becomes cellular emporium
Now with TGUI! Wow!
2016-06-17 16:37:09 +01:00
Robustin
f02fb50825 Adds Hivemind Link (#17618)
Adds Hivemind Link ability to changelings
2016-05-17 20:42:44 +01:00
Shadowlight213
d026232f63 Fixes latejoin antag jobbans 2016-03-27 23:28:41 -07:00
Mike Long
0669fca278 Neatens the code, by making non-visible antaghuds a subtype of antaghud. 2016-03-08 21:19:46 -05:00
Mike Long
cdd9fa5116 traitor/changeling/abductee/abductor/ninja no longer see their own huds. 2016-03-05 14:23:19 -05:00
Mike Long
12f4d11f7e Adds antag hud for traitors/changlings/abductors/abductees/ninjas
Right now, it's admin only.

Has not been tested.
2016-03-05 00:52:59 -05:00
Firecage
0cb6814c18 Merge conflict fix 2016-01-17 19:15:30 +02:00
Firecage
332bde0f4f Does the rest of the if()'s/ else's 2016-01-17 19:03:12 +02:00
Tkdrg
5589ac7559 Revert "Merge pull request #12935 from AndrewJacksonThe2nd/objectives_rework"
This reverts commit 52a45b6292, reversing
changes made to 19b43ba668.

Conflicts:
	code/datums/mind.dm
2016-01-07 23:15:35 -03:00