Commit Graph

6355 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
tralezab
b4f6581988 Magic Survivalists can have spellbooks count if they did not use them (#41610)
cl
tweak: spellbooks now count towards the survivalist objective if they were not used.
/cl

fixes #40857

It feels like shit if you don't know spellbooks don't count and you just lose out of nowhere. It also doesn't make sense for them to count if they still have magic powers.
2018-12-02 08:24:00 +01:00
AnturK
03690ae1ac Fixes cult assigning their own members as sacrifice. (#41600) 2018-11-21 17:10:31 +01:00
4dplanner
8d1be69d22 Passes thrownthing to hitby (#41411)
* Passes thrownthing to hitby

* Items now also pass thrownthing

* No longer uses default arguments

Also fixes bananium shield

* Adds more arguments to hitby calls

* Standardises throw_impact

* Clears up some loose ends

* Adds back wacky comment

* Reinstates can_push=FALSE on bananium shield
2018-11-15 14:30:27 +01:00
ShizCalev
ef7fe406e7 Cleans up dead area paths. Removes dead music var. (#41429) 2018-11-13 19:17:26 +01:00
oranges
88e8168a2a Merge pull request #41352 from Cruix/slip
Fixed Bananium Weapons
2018-11-12 16:57:21 +01:00
oranges
aadd290b91 Merge pull request #41316 from AnturK/objective_dupes
Adds duplicate search range to objectives
2018-11-08 15:11:49 +01:00
Jordan Brown
ceae115e5b Merge pull request #41057 from AnturK/dumbcult
Raises cult minimum pop to match scaling.
2018-10-22 19:56:09 +01:00
Kierany9
226e8b015e Finding an objective target by role now actually picks a random target (#41036)
* finally

* length check
2018-10-21 19:37:45 +01:00
Jordan Brown
bf10594b52 Merge pull request #40997 from ShizCalev/suicide-roles
Adds a config option to automatically reopen job positions of folks who suicide at roundstart
2018-10-21 08:01:08 +01:00
Ling
ae3282d2c5 Merge pull request #3067 from yogstation13/upstream-merge-40938
[MIRROR] Fixes monkey revhead issues
2018-10-17 18:07:50 +02:00
Kierany9
4c5ee9d466 Assimilation Update (#40769)
* new objectives + qol

* beep

* oof

* one line

* prevent kill objectives from having the same target as assimilate objectives

* Free objectivev

* code review

* fix

* yes
2018-10-16 14:13:05 +01:00
ShizCalev
f8b972ad2b Fixes monkey revhead issues (#40938) 2018-10-16 10:19:28 +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
Ling
1207d39e76 Merge pull request #3007 from yogstation13/upstream-merge-40872
[MIRROR] Fixes servant_spawns empty list runtimes
2018-10-13 19:57:17 +02:00
ShizCalev
f4f5c233e3 Fix servant_spawns empty list runtimes (#40872)
A couple things depend on this list being populated to teleport mobs around
towards end game, so removing the spawnpoints just to spread players around at
the very start of the round seems like a pretty blatant oversight.
2018-10-12 22:44:42 +01:00
AnturK
fefd74a2fd Fix some steal magic dumbness (#40862)
Alright let's start with not generating typecache of every item.
2018-10-12 22:30:17 +01:00
Ling
b001bf127c Merge pull request #2947 from yogstation13/upstream-merge-40764
[MIRROR] Suiciding no longer counts towards completing the "Die a glorious death." objective
2018-10-10 19:29:10 +02:00
Ling
3b9c3d3476 Merge pull request #2945 from yogstation13/upstream-merge-40814
[MIRROR] Fixes manual assasinate completion.
2018-10-10 19:28:27 +02:00
ShizCalev
bbd594707f Suiciding no longer counts towards completing the "Die a glorious death." objective (#40764) 2018-10-10 15:15:04 +01:00
AnturK
b109e91f93 Fix manual assasinate completion (#40814) 2018-10-10 15:14:46 +01:00
ShizCalev
b534bcb829 Makes syndicate belts and backpacks fireproof (#40804) 2018-10-10 15:13:56 +01:00
ShizCalev
97a60f9fe7 Summon magic items now count as magical artifacts (#40718) 2018-10-07 00:39:46 +01:00
AnturK
682dee0ea0 Ticker subsystem cleanup (#40649)
* Removes unused vars from ticker.

* More ticker cleanup

* This too.
2018-10-05 19:49:58 +01:00
AnturK
9ecaeea3ac Make adding random kill/protect/etc objectives easier. (#40614) 2018-10-02 01:16:11 +01:00
Ling
a513010e4b Merge pull request #2680 from yogstation13/upstream-merge-40296
[MIRROR] [READY] [Gamemode Bounty] Assimilation
2018-10-01 11:19:09 +02:00
Ling
1944301716 Merge pull request #2723 from yogstation13/upstream-merge-40365
[MIRROR] Admin team panel
2018-10-01 11:17:17 +02:00
oranges
962aa9e79d Merge pull request #40365 from AnturK/team-panel
Admin team panel
2018-09-27 22:26:41 +01:00
Ling
d7cb212a32 Fix merge conflict 2018-09-26 20:09:46 +02:00
AnturK
8675660c97 Improve custom steal target picking (#40447) 2018-09-26 20:08:54 +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
Ling
008f5d49f8 Merge pull request #2621 from yogstation13/upstream-merge-40220
[MIRROR] Objective refactor
2018-09-26 18:54:06 +02:00
Ling
a5f961cd57 Allows departments to access their corresponding mech maintenance protocols (#40397)
Allows departments to access their corresponding mech maintenance protocols

Fix merge conflicts
2018-09-24 13:18:01 +02:00
AnturK
d7c79d5f81 Objective refactor (#40220)
* Objective refactor

* Custom antag types for leftover objectives.

* Removes dumbness.

* Forgot to hide these from TP

* Makes the list static.
2018-09-20 16:18:57 +01: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
1fbff5f83b23d39d38b1dfcb4cac8d9b
a9cdc214da Merge pull request #2339 from yogstation13/nichlas0010-patch-1
Nukes ling-team objectives
2018-08-29 15:31:28 +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
1fbff5f83b23d39d38b1dfcb4cac8d9b
a697003fbd removes our fix 2018-08-28 13:39:48 +02:00
AnturK
2060493249 Fixes replacement mode not ending. (#39927) 2018-08-28 10:56:20 +01:00
Nich
b1906c88f5 Merge pull request #2336 from yogstation13/upstream-merge-39870
[MIRROR] Enhance the power of the Shuttle Manipulator
2018-08-27 18:30:51 +02:00
1fbff5f83b23d39d38b1dfcb4cac8d9b
ac4872fffd Merge pull request #2338 from yogstation13/upstream-merge-39864
[MIRROR] Move signal registration from components to datums
2018-08-27 15:39:49 +02:00
Tad Hardesty
4c846aa4aa Give multiple copies of shuttles their own area instances (#39890) 2018-08-27 11:04:58 +01:00
Nich
56063a99cd Update changeling.dm 2018-08-26 20:24:59 +02:00
oranges
a0e3aa0bc8 Merge pull request #39864 from ninjanomnom/datum-registration
Move signal registration from components to datums
2018-08-26 12:41:01 +01:00
Tad Hardesty
9602f3915d Enhance the power of the Shuttle Manipulator (#39870)
The 50s/5s thing appears to be a mistake, given that 5s is 50ds and fast travel checks seconds against 50 and sets deciseconds to 50 on adjacent lines.

In addition to sending shuttles to docks, three extra modes are added:

    Infinite Transit puts the shuttle in transit which lasts until another destination is chosen
    Delete Shuttle does what it sounds like
    Into The Sunset marks every mind on the shuttle as 'escaped' and then deletes the shuttle
        Also puts the mobs in stasis so they won't suffocate, bleed out, etc. before roundend

It is also now possible to change the destination dock of the arrivals shuttle (example: an event where arrivals are sent to the Lavaland Wastes dock instead).
2018-08-26 12:40:41 +01:00
XDTM
b4b543e111 [Ready] [Reviewed] Nanites 2 (#37922)
* Adds programmable nanites to robotics

* Oh yeah i might want to actually PR the files

* nanite injectors, nanite printer, nanite analyzer

* We're back

* remove some reagent stuff

* more removal

* those too

* cool icons!

* might pass travis now

* lotsa code

* tgui fixes/misc fixes

* WE'RE FUNCTIONAL BOYS

* some ui stuff

* Misc fixes, cloud update, access nanites

* activation check

* stuff

* preparing for new chamber sprite

* Physical backups, sensor nanite programs

* techweb sensor nanites

* fix

* include

* fix again

* revert

* blinding nanites

* minor change

* minor tweaks

* makes minor shocks interfere with nanites

* fix

* split trigger file into the others, for consistency

* cleanup, added mindshield nanites to techwebs

* include n all

* how'd that even happen

* Fixed HUD, readded missing remote icon, added nanite scanner, health analyzers can now detect nanites, added stealth program

* cost tweaks

* better term

* new icon! by MrDoomBringer

* icons/tweaks

* tgui build

* boards

* fix

* fixes implants not updating mindshield status

* move implant hud to living

* new remote sprite

* scanner sprite

* biotype checks

* some nerfs

* new open chamber sprite

* Fixes mindshield implants not updating the HUD, fixes uninstalling always removing the first program, adds 25% and 75% health sensors

* correction

* nerfs antistun nanites

* fixes scanners and minor tweaks

* fixes revs with mindshield

* oh yeah haha

* Fixes wonky techweb

* Moves pyro program to weapon node

* Adds defib program and some investigate logging

* mistype

* fix

* fix2

* save your files before committing

* emps can desync from cloud

* pretty outdated

* Cloud backups are now tied to the cloud consoles; you can no longer build a new console to access existing backups.

* UI fix

* more fix

* okay fix for real

* tested and working

* Extra Settings rework, sensor nanites vastly better

* non-unique glitches

* Public chamber, extra settings rework, new sensors, speech program

* Mute and mind control nanites

* mind control into hazard

* better description

* fixes

* fixes relay nanites

* fixes TK access

* mind control costs less

* UI update

* removed pointless code bit

* tgui build

* compiles

* dammit

* paralysis keeps victim upright

* Adds sounds to consoles

* some feedback for some subtle effects

* new chem lore

* Viral nanite customization

* fix

* tgui build

* Added mitosis nanites

* removes glitched nanites from techwebs

* Added flesh eating nanites, poison nanites, hallucination nanites

* ,

* #traviscoding

* Adds memory leak, renames nanite roam node to nanite smart

* Voice sensor + some techweb desc tweaks

* hallucination and Hear() fix

* changes signal registering to the new method

* 75% done, i think

* should be all

* more fix

* more changes

* okay should be fine now

* ninja

* inheritance

* i don't care about originality!

* line endings

* line endings 2

* maybe

* fixes program installation

* new review

* line endings?

* line endings??

* line endings???

* wait do i even use this

* fixes public nanite chamber cloud id

* maint overlay for chambers

* args doesn't work well here

* antiabuse checks

* compile tho

* fixes locked remotes

* disk renaming

* skull echo nanites

* self scan program

* Condenses a lot of sensors into a few generic but customizable versions

* fixes machinery runtimes. Hacky, but a proper fix would likely require a refactor of machinery typing.

* forgot to save

* empty

* metastation nanite lab

* Removes duplicate APC

* fix for nanite chamber

* Raise max programs

* UI Tweaks, aggr. replication rebalance, minor fixes

* let's not do that again

* Fixes nanites meta merge conflict

* Merge conflict v2

* fuck this HDD is slow

* What the fuck did you just fucking say about me, you little leaf? I'll have you know I graduated top of my class in the Lawyer School, and I've been involved in numerous secret DMCA raids. I am trained in law violations warfare and you are nothing to me but just another target. I will wipe you the fuck out with precision the likes of which has never been seen before on BYOND, mark my fucking words. You think you can get away with changing the code? Think again, fucker. As we speak I am contacting my secret network of attorneys in the Fox and your IP is being traced right now so you better prepare for an outstanding warrant, maggot. The storm that wipes out the pathetic little thing you call your leaked code. You're fucking done, kid. I can file for an injunction anywhere, anytime, and I can take legal actions in over seven hundred ways, and that's just with my bare hands. Not only am I extensively trained in unarmed combat, but I have access to the entire arsenal of the Florida Statute and I will use it to its full extent to wipe your miserable ass off the face of Canada, you little shit. If only you could have known what unholy retribution your little "clever" action was about to bring down upon you, maybe you would have held your fucking tongue. But you couldn't, you didn't, and now you're paying the price, you goddamn idiot. I will send you to spend time in a Florida State Penitentiary if you ever decide to travel from Canada to the U.S. You're fucking done, kiddo.

* Adds virus symptoms that interact with nanites

* Fixes spreading nanites being more infective the more protection the victims have

* Review plus public chamber tweak

* . = ..()

* ball

* cloud

* . = ..()

* always press save all before committing

* missed a couple
2018-08-20 12:45:39 +01:00
WJohn
352d6e50cf Updates titanium and plastitanium floor sprites. (#39723)
New titanium floors! The intent here was to reduce the eye strain that the current max saturation fuckbois have, and make some floor tiles people might actually consider using. Right now the options are still pretty limited with blue, yellow etc only coming in full tiles, and I expect this will remain so until an actual greyscale rework comes along that shrinks the file size down from its bloated 4,000 sprites to something more reasonable and modular. Decals, perhaps?
2018-08-19 12:48:39 +01:00
Ling
2e730491f0 Merge pull request #2115 from yogstation13/upstream-merge-39009
[MIRROR] Key instead of ckey for user facing logs and ui
2018-08-12 14:05:03 +02:00
Jordie
7e94c282a4 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-10 20:33:24 +01:00
kevinz000
b5e2daa978 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 21:55:07 +01:00