Commit Graph

2920 Commits

Author SHA1 Message Date
Kyle Spier-Swenson
799d45af99 Exempts current players from the extreme pop cap
This will exempt anybody who was once joined into the round, this means people who were assigned at round start or latejoined. even if they died, got gibbed, suicided, or ghosted. This does not exempt people who observed from lobby.
2019-03-20 14:41:48 -07:00
Kyle Spier-Swenson
bf52e95723 If both the extreme and hard caps are active, extreme popcap applies to connected players, not living players. (#43181)
* If both the extreme and hard caps are active, extreme popcap applies to connected players, not living players.

I also have it using the connected players, and not the living players, if the amount of living players can not increase (queue active, entering disabled, round hasn't started, etc).
I also have it allowing the connection if the hard cap is active but has not been hit.

* Redundant if check

* So it occurs to me that IsBanned() gets called by byond on connected players sometimes.
2019-03-21 09:09:11 +13:00
ShizCalev
85be0e5804 Fix stealthmin adminpm issue (#43167) 2019-03-19 14:17:27 -07:00
MrStonedOne
186f6c8ddd dbstickybans: Qdeleting queries, misc fixes, Query select proc for executing mutiple queries at once... 2019-03-16 00:23:40 -07:00
MrStonedOne
de220da1e9 Fix compile after rebase 2019-03-16 00:23:40 -07:00
MrStonedOne
54f5e57880 Fixes and improvements 2019-03-16 00:23:39 -07:00
MrStonedOne
81e9150f43 allow ip/cid tracking 2019-03-16 00:23:39 -07:00
MrStonedOne
f0f40bda51 Fixes and improvements. Hub password changes
Uses lazy access on inner lists (had to make lazy access work on inner lists @cyberboss you won't like this but lazyaccess is useless if you can't use it on inner lists)
Byond only does full stickyban matching when the server has a valid hub password set or compiled in, so now we have to remove it during init.
2019-03-16 00:23:38 -07:00
MrStonedOne
214c0de655 Adds automatic importing of older legacy stickybans 2019-03-16 00:23:38 -07:00
MrStonedOne
03f1eb2f2b Some fixes. 2019-03-16 00:23:38 -07:00
MrStonedOne
2e757683ab Database backed stickybans
Supports disabling stickybans for a round, exempting a key from matching a stickyban, and it now also detects rogue stickybans before anybody currently connected even gets disconnected. (new matches trigger a 5 second sleep and abort enforcement if enough other new matches happen in that timeframe)
2019-03-16 00:23:37 -07:00
Tad Hardesty
1433e48eba Fix some proc calls with bad keyword arguments 2019-03-09 12:56:19 -08:00
JJRcop
8748e6d83e Internet midi respects start and end times (#43021)
* Play Internet Sound respects start time
For example, adding &t=400 to youtube links.
Doesn't try to parse the start time, youtube-dl does that for us already. Will probably work on most sites not just youtube.

* [Play Internet Sound] now supports end time too

Switched event handler for start to loadeddata from canplay

loadeddata fires when the first frame is available
this is quicker and more consistent than canplay, which tries
to predict at least a few moments of playability being
available before it fires

* [Internet Sound] music_extra_data now starts null
2019-03-08 10:51:04 -05:00
Menshin
7f9e50c33b Fixes advanced proc calls not working + various code cleaning (#42952)
* Fixes advanced proc calls not working + various code cleaning

* Reverted Destroy() call protection.
2019-03-08 11:33:57 +01:00
ShizCalev
27e8dde837 Merge pull request #43037 from AnturK/missingticketlog
Adds missing logging for admin tickets.
2019-03-08 04:32:37 -05:00
Jordie
6c65780c36 fix some faulty last conn logic (#42984) 2019-03-07 11:03:09 +01:00
AnturK
70f97d34e1 Adds missing logging for admin tickets. 2019-03-06 11:39:09 +01:00
Jordie
49292a20e9 Merge pull request #42861 from tgstation/MrStonedOne-patch-1
Bans now only default to banning ip if a permaban.
2019-02-25 21:15:01 +11:00
Tad Hardesty
3756bbf900 Move GLOBAL_PROTECT statements after their globals 2019-02-21 20:59:41 -08:00
Tad Hardesty
396101e3a1 Fix some incorrect list/ type annotations 2019-02-20 19:54:23 -08:00
Kyle Spier-Swenson
297fe59a0c Update sql_ban_system.dm 2019-02-20 18:21:13 -08:00
Kyle Spier-Swenson
3c10853a7d Bans now only default to banning ip if a permaban.
CID defaults to always checked.

Use IP and CID from last connection now defaults to enabled unless all the default checked values are provided. 

Use IP and CID from last connection now only fills in checked values, rather then forcing both IP and CID.

Use IP and CID from last connection no longer triggers an error if the user can not be found, instead asking the banning admin if the want to continue (same behavior as when this happens without that option checked).

The main reason behind this is that your avg 1 to 2 day ban shouldn't impact everybody on the same network, especially when it comes to colleges and shared internet. The old system worked such that ip bans were only possible on perma server bans, this still gives full flexibility.
2019-02-20 16:18:40 -08:00
81Denton
0195ce430f Add cancel button to ahelp and asay popup (#42835) 2019-02-18 19:58:36 -08: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
oranges
2b9c04c6ec Merge pull request #42562 from Jordie0608/idontrememberwhythecidcolumnisavarcharsoimnotsureifthatshouldbechangedornot
Banning panel fixes
2019-02-03 22:36:23 +13:00
oranges
cd05d64bcf Species types sources refactor (#42523)
There is now a bitflag that controls all the ways a species can be
selected from the different methods of changing species, xeno spawn,
pride mirror, magic mirror etc.

The soviet and capitalist golems are no longer selectable from the pride
or magic mirrors (just the badmin one)

interesting thing I found, androids and synths (including military
synth) are acheivable via xeno extracts!
2019-02-03 20:33:11 +11:00
Jordie0608
1ed5dc7b95 fixes for non-ckey ban messages and dropping admins on server bans 2019-01-28 22:04:28 +11:00
Kyle Spier-Swenson
fbcb1b924f [s]Advance proc call no longer allows you to call world/datum procs as global procs (#42529)
* [s]Advance proc call no longer allows you to call world/datum procs as static procs

* Update debug.dm
2019-01-26 15:22:43 -05:00
coiax
881e8c1ab9 Refactors NODROP flag into TRAIT_NODROP (#42109)
* Refactors NODROP flag into TRAIT_NODROP

🆑 coiax
fix: Anti-drop implants can no longer be used to drop objects that they
were not responsible for sticking to a person's hand.
fix: Backfiring with a Barnyard spellbook will now play a spooky horse sound.
refactor: Refactors the way that "NODROP" items work to a new system,
there should be no change in functionality.
/🆑

Various items in the codebase were doing weird hoop jumps in order to
preserve the nodrop flag's state when it also wanted to change it, so I
moved it to a trait system.

I may have gone overboard with the type of unique trait sources, but
those can be changed later. My long term plan is make a general "CURSED"
nodrop origin, which means you can unlock cursed items by being hit with
a bolt of door opening or something. But that's for another PR, this has
no functionality changes, apart from some slightly modified descriptions
on cursed masks.

- Removed a bunch of redundant voice changing code for all the voice
changing animal masks, used two new clothing flags for this purpose.
- Also refactored a bit the animal masks, making new cursed subtypes that play
the sound when created.

* Drop location
2019-01-17 15:24:30 -05:00
Jordie0608
20d2bbd8bc new ban group for appearance, emote and ooc, fix javascript error and role bans dcing client 2019-01-12 19:14:29 +11:00
kevinz000
a7e974f9d3 [READY]Ports yet another SDQL2 upgrade, refactors SDQL2 to a datum, adds SDQL2 options/more features (#42008)
Thanks to PJB3005
cl
experimental: SDQL2 has been refactored to a datum!
rscadd: A new SDQL2 panel has been added to admin tabs, for tracking, VVing, and halting SDQL2 queries.
rscadd: SDQL2 documentation is now available in SDQL_2.dm
rscadd: SDQL2 now has MAP added. MAP will cause the query to execute on whatever is specified in MAP, whether it's a variable or a procedure call (which will grab the return results), etc etc.
rscadd: SDQL2 now has a superuser mode, for uses outside of admin button pressing. This causes it to operate without admin protection wrapping.
rscadd: SDQL2 now supports options, including ignoring nulls in select or forcing it to operate in high priority mode, which lets it use 95% of the tick instead of obeying the Master Controller's tick limit. USE WITH CAUTION. Also includes a mode for blocking proccalls
rscadd: SDQL2 now supports TRUE/FALSE.
rscadd: To use options, append OPTIONS to the query. Available are "PRIORITY" = HIGH/NORMAL, "SELECT" = FORCE_NULLS/DISABLE or 0/FALSE, "PROCCALL" = ASYNC/BLOCKING.
/cl

Also displaytimetext is refactored.
2019-01-07 20:03:41 +13:00
YoYoBatty
a0e336e682 Check plumbing verb upgrade + t-ray view verb (#42218)
cl YoYoBatty
add: Added a ghost verb that lets you t-ray view underfloor objects
admin: Checking plumbing verb checks every atmospheric component instead of just pipes
code: Check plumbing verb is less snowflakey
/cl
2019-01-07 19:45:48 +13:00
Tad Hardesty
8ba950e700 Add telescreen announcement when the thunderdome is active (#42199)
cl
add: Entertainment telescreens in the bar indicate when they will show something interesting.
tweak: Entertainment telescreens can be viewed from a distance.
/cl

Bargoers are now informed both visually and in chat when clicking on the thunderdome telescreens is likely to actually show something interesting. Additionally, thunderdome telescreens can be watched without being directly adjacent (think sports bar TVs).
2019-01-06 21:41:22 +13:00
Tad Hardesty
3b2c0e27f7 Scope various unscoped locate() calls (#42195)
* Scope locate calls which are immediately checked against a list

* Remove silly use of locate from bible Topic

* Scope various locate calls (needs testing)

* More WIP

* Buff up lightswitches while we're here

* Tidy record browsing code

* Scope a few more locates

These have caused problems in the past (#41917, #39303). Continues #29349.

Also cleans up lightswitch code while I was already touching it.

I recommend a testmerge.
2019-01-06 20:39:27 +13: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
nicbn
c4213f13ab New() -> Initialize() (#41876) 2019-01-03 18:56:15 -08:00
Jordie
f0cdd841da Ban editing and logging fixes (#42148)
Fixes #42146
Fixes ban created notes being double escaped.
Fixes admin tickets not being resolved for a disconnected client when banned.
Re-adds ban reason to admin log for a ban as requested
2019-01-02 00:31:42 +13:00
Jordan Brown
4c3053d5eb Merge pull request #42041 from Jordie0608/alliwantforchristmasisaspaceinGameMaster
Rework of admin rank loading to support punctuation
2018-12-24 15:26:17 -05:00
Jordie0608
773c95339a less backslashes 2018-12-24 13:11:18 +11:00
Jordie0608
b9fb0388f7 rework of legacy admin loading to support punctuation with new format 2018-12-22 18:35:50 +11:00
Jordie0608
f40546def8 edit ban reason url encode and clicking disabled reason/server radios 2018-12-20 16:55:02 +11:00
Jordie0608
0d4db5b978 compatability for IE8's lack of css3 breaking panel checkboxes 2018-12-17 23:03:48 +11:00
Jordie
997440dbd2 Merge pull request #41962 from tgstation/optimumtact-patch-1
Update the SDQL grammar comment
2018-12-17 09:59:18 +11:00
coiax
e8e77047b9 The admin Investigate shows which categories are empty (#41924)
* The admin Investigate verb hides investigate types that are empty

🆑 coiax
admin: The Admin->Investigate verb will now hide investigate
topics that have had no messages logged this round.
/🆑

Investigate logs are good. Being shy to add new categories because
we're worried about clogging the list is bad.

Hiding unused ones is good.

* Now the branch name is wrong

* Ignore if cancelled

* Combines checks, and removes unused investigate cat.

* Remove defines

* Also remove that define too
2018-12-16 12:45:28 +11:00
coiax
d27c64c3a8 Christmas code changes (#41763)
* Christmas code changes

🆑 coiax
add: Santa can now examine presents to see what's inside.
del: Santa no longer has a mass summon presents spell, because of his
new regenerating bag!
add: Santa's bag regenerates presents as long as Santa is holding it.
balance: You can only find one gift under a christmas tree per round, no
matter how many trees you search.
balance: Santa's teleport does not announce where he's going.
fix: Fixed Santa not having a full head and beard of white hair.
fix: Fixed Santa not being genetically white-haired.
fix: Fixed Concentrated Barber's Aid not growing extreme amounts of
hair.
/🆑

The `box` var has been moved down from `/datum/outfit/job` to
`/datum/outfit`.

Added unlimited christmas tree with presents, for testing.

Santa's restriction against opening presents is now done by
TRAIT_CANNOT_OPEN_PRESENTS. Santa's ability to see inside presents is
done by the TRAIT_PRESENT_VISION, which also determines if Santa's Bag
will regenerate presents every 30 to 60 seconds.

Santa no longer starts with a breath mask and O2 tank, but instead has
an internals box. Santa no longer has a no-access gold ID, he can
teleport from room to room!

Gifts determine what type is inside them on initialization, rather than
when unwrapped.

- Reasoning -

Unlike last year, there are various possible methods of accessing
christmas trees spawners, allowing for an unlimited number of anything
presents. Cutting down the presents to one per round regardless of tree
count will avoid this.

Santa should be able to see what he's giving, because then he can reward
the naughty and nice children with different gifts.

* Missed a merge

* Adds present investigate logs, and visible messages

* Use the body+mind checking of mob.has_trait

* Less globals, more static vars on types; also event renaming
2018-12-16 12:44:53 +13:00
oranges
ede3e0b4d7 Update the SDQL grammar comment
variable allows for proc calls and technically the call option just uses variable to parse out it's function (even if you provide something that makes no sense)
2018-12-15 08:42:35 +13:00
moo
2d70ac7cd6 Merge pull request #41862 from Jordie0608/watchaswehaveprefixeslongerthanthebanreasonitself
Adds roles and duration of ban to note created by ban
2018-12-09 14:15:15 -05:00
Jordie0608
360ebb3e33 adds roles and duration of ban to note created by ban 2018-12-08 23:52:44 +11:00
Unknown
7ff32c1b8c as text to as message
it really is that easy
2018-12-07 20:09:29 -08:00
Jordie
6f1884341a fix for opening player panel for clientless mobs (#41826) 2018-12-06 20:01:44 -05:00