Commit Graph

436 Commits

Author SHA1 Message Date
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
Jordie
6f1884341a fix for opening player panel for clientless mobs (#41826) 2018-12-06 20:01:44 -05: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
Jordie
b54895f175 fix rankchange button in player panel (#39834) 2018-08-22 15:05:09 +03: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
Tad Hardesty
723c8e5227 Fix even more weird syntax (#39594) 2018-08-08 12:47:24 -04:00
AnturK
b1295ea02b Add client version display to player panel (#39310)
Getting questions about "Is my version good ? I don't know what it is." and
having to vv it is getting annoying.
2018-07-25 16:35:21 -07:00
Tad Hardesty
c4dbe0a619 Add DOM-based linkify to goonchat (no more URLs in IC) (#38693)
* Add DOM-based linkify to goonchat (no more URLs in IC)

* Add linkify spans to places where OOC messages appear

This includes:
- OOC
- Deadchat
- Admin chat
- Admin logs
- Admin PMs
- Prayers

* Limit fallback behavior to linkify spans
2018-06-26 14:44:34 +12: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
Dax Dupont
2eff5a4662 Forgot to remove this 2018-06-14 13:52:51 +02:00
Dax Dupont
9ed24a5ed2 merge 2018-06-14 13:47:34 +02: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
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
ShizCalev
3abd2b6d27 Cleans up logging 2018-06-09 15:51:58 -04: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
Nich
3c7bd52e80 allows changing the rank of players in the playerpanel (#38172)
* allows changing the rank of players in the playerpanel

* Update permissionedit.dm

* Update permissionedit.dm
2018-06-01 16:26:21 +03: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
Jordan Brown
575d098944 Update DMAPI to version 3.2.1.0 (#37429)
This is primarily a compatibility layer that enables both forward and backward compatibility for all past and future APIs based on the detected running TGS version. It also bundles all it's includes to make future upgrades not have to modify the dme, heck, could even use a submodule if it wanted (not happening). No other changes necessary.

There's an upcoming event system and new chat management functions. Check them out here: 303448457e/DMAPI/tgs.dm

Also added /datum/proc/CanProcCall()
2018-05-09 14:33:07 +12:00
vuonojenmustaturska
ece7de4fb2 Admin borg panel (#36990)
* borgpanel

* wip borg upgrades

* some more

* lockdown

* Update borgopanel.ract

* Update borgopanel.ract

* Update borgpanel.dm

* fuggin borg upgrades :DDD

* more compile, less whatever

* meaningless churn

* and we're done

* usr, vtec

* Update borgopanel.ract

* Update borgpanel.dm

* many squid are cool

* reviews

* coerce to client, much nicer this way

* add admin logging

* review stuff
2018-04-08 11:46:27 -04:00
kevinz000
0c27e227cc Latejoin Silicons (#36560) 2018-04-05 10:09:52 +02:00
kevinz000
f53a0ea159 logging (#36819) 2018-03-29 20:09:20 -04:00
Ian Turk
276c7c86d0 Admins can now drag ghosts onto camera mobs like they can onto living mobs to place the ghost's client in the camera
Fixed mutable var not being copied from advanced viruses
2018-03-06 21:05:15 -06:00
Jalleo
5bcf8b21f1 Little changes and standardisation of some admin commands (#36091)
* Adds a cancel button to the timing section of turning the nuke on.

* Adds a custom input for managing job slots. No longer must it be infinite or many add button clicks.

* Adds |null on all input (I believe they need that to have the cancel button)
and updates from !holder to new admin check
2018-03-03 20:23:49 -06:00
vuonojenmustaturska
a1a45f07f1 makes cargo spawning easy (#36094) 2018-03-03 16:33:28 -05: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
3ab8b52cd3 Cleans up some time stuff with DisplayTimeText 2018-02-22 15:33:45 -05: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
JJRcop
1b1287e009 Removes some hrefs from logging (#34310)
* Removes key_name_admin calls from logging

* Removes JMP from gibtonite reaction logs
2018-01-12 11:03:28 -02:00
Jordan Brown
5de03186df Fix newscaster href tokens 2018-01-09 16:40:56 -05:00
Tad Hardesty
f2dbe5cf13 Replace explicit z-level checks with defines (#33829)
* Replace explicit z-level checks with defines

* Rename turf_z_is_planet for consistency

* Use TRUE/FALSE in onSyndieBase
2017-12-29 14:40:06 -05:00
Leo Z
16c9be816e Changes manage job slots to use a browser datum, also lets it be used before round start 2017-12-15 23:18:35 -02:00
Jordie
e889f56d7b Feedback changes (#33441)
* various feedback changes

* no bad github no spaces
2017-12-15 11:36:08 +13: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
AnturK
e704f060b1 Fixes devilstuff 2017-11-26 20:32:43 +01:00
ShizCalev
8eafaccc88 Cleans up unused code 2017-11-20 00:03:33 -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
vuonojenmustaturska
39375d5cc2 Replaces a bunch of mob loops with hopefully better ones (#32786)
* Free codebase churn

* fixes dviewmob

* a commit

* Partial revert "Free codebase churn"

This reverts commit 9dd41b3860c331637bbc85e694dd32dc59768ad5.

* better fix to dviewmob

* renames living_mob_list to alive_mob_list, adds mob_living_list and carbon_list

* make some use out of the shiny carbon list

* make some use out of the shiny new living list

* more things, also make the mobs subsystem (Life) use living list

* bonus

* domo arigato mr. roboto

* compile fixes, also made the drone code less dumb

* better?

* make admin message prettier

* honk

* fixes blobs

* rev fixes

* one small thing
2017-11-16 23:08:40 +01:00
Emmett Gaines
28e6359939 makes blueprints work on station and able to expand old areas (#32280)
🆑 ninjanomnom
add: You can now select a nearby area to expand when using a blueprint instead of making a new area.
add: New shuttle areas can be created using blueprints. This is currently not useful but will be used later for shuttle construction.
tweak: Blueprints can modify existing areas on station.
admin: Blueprint functionality has been added to the debug tab as a verb.
/🆑

Additionally the code for getting all turfs in a contained space has been refactored for some pretty good performance improvements.

Old proc: Self CPU 8.816, Total CPU: 10.009, Real Time: 10.009, Calls: 5000
New proc: Self CPU 4.174, Total CPU: 9.000, Real Time: 9.001, Calls: 5000

They've been moved into a area helpers file.
2017-11-13 22:32:36 +13:00
Emmett Gaines
825ab4def4 [512] The great \ref purge (#31824)
* The great \ref purge

* cleanup
2017-10-28 17:20:04 -04:00
Jordan Brown
62f788fbc6 Server tools API v3.1 (#31000)
* New API for service communication

* Safer this way

* Gives the game the ability to kill itself

* tick_lag

* Sanity check

* Updates comment

* Formalization of the server tools API

* Fixes, finishes, and cleanup

* Remove unecessary scoping

* Compile fixes

* Didn't Ctrl+S

* Reimplement chat commands

* Fixup

* Required parameters

* Fax

* Testing

* Fix ON_TOPIC

* The more defines the more better

* That's bass ackwards

* Fix tgs2

* Fuck it, call him pichael

* Do this

* No, we only use the modern methods now

* Remove tgs2 relay support

* Remove kebab

* Kill kill kill

* This is back baby

* Missed a GLOB

* Remove DownloadPRDetails()

* Cache custom commands by name

* Adds "notify" chat command

* Use the official API

* Fix API misuse

* Readme licensing memes

* Fix API

* Moves chat new game announcement to when the API is confirmed compatible

* Add TGS3.json

* Fix the input options

* Removes notify command
2017-09-29 16:19:50 +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
AnturK
292638c209 Specifies one format of variable declaration for the codebase. (#30926)
* Removes occurences of var name

* Contributing note

* note fixup
2017-09-22 13:43:52 -04:00
ShizCalev
39380d5b03 Removes old debug text 2017-09-19 18:56:39 -04:00
vuonojenmustaturska
a0fc9c3af8 Enables Dead OOC at round-end (#30716)
* Enables Dead OOC at roundend

* proc

* proc #2
2017-09-17 17:22:12 -04:00
Jordan Brown
e5929eb15b More admin auth fixes (#30688) 2017-09-14 13:16:23 -03:00
KorPhaeron
10a3238fd6 Makes the station Z level into a list instead of a single define (#30297)
* Makes Station Z Levels a global list

* Things didnt get committed

* Define

* Removes files

* Fix mind.dm

* Wrong list name

* (

* Fixes rev checks and signpost

* Makes it actually compile

* Signpost fix

* I hate these sign posts

* Never use the web editor
2017-09-11 13:39:52 -04:00
Jordan Brown
84b1e3d71e [s] Adds a security token to all admin hrefs (#29839)
There's a certain issue of people spoofing real byond links to admins. Now all links should come with a generated key that is validated when the Topic is run.

Added DEBUG_ADMIN_HREFS to debug this system while we test it (Allows hrefs without tokens and complains about it in the logs)

Just add [HrefToken()] as a parameter to all admin hrefs. Anything that ends up running through VV or Holder will be verified
2017-09-09 12:15:53 +10:00
Shadowlight213
e458845453 Adds tracking amount of time spent playing departments 2: The fall of the Assistants. (#29105)
* Ports Paradise Job exp system

* changed to use json_decode and json_encode as recommended by oranges

* updates changelog

* Reee cyberboss

* Changes to use a seperate table

* Updates database changelog
Changes to use mediumint

* Back to wip we go.
Changes sql stuff to how mso suggested
Attempts the changes requested in the other pr.

* work on stuff.

* work on stuff.

* Renamed proc for time remaining.
Fixed updating time amounts.
Added delay to fix firing at roundstart

* exp is now stored in a global list, and only updated to the db at round end.

* some stuff

* Added button to toggle exempt status on a player.
Still need to make it update the db

* REEE Jordie.
Undoes delaying exp updating to round end.
Adds the updating filtering to the update_exp_client proc which is used again

* Lowers a bunch of the times needed.

* Makes tracking per job instead of per department.
Department time is now calculated from job time.

* Whoops forgot to update master first. Lemme save this

Reverb should play cheeki breeki to people

* I think I did this right.
Too tired to test atm.
Busy rewatching twintails ni narimasu

* Removes var from proc arguments
Fixes database stuff

* Does some requested changes.
Makes special_role be tracked instead of bundled under special.

* Done, but need to refactor how it handles ghost roles.

* Less false data wew

* Changes

* Updates db version
More changes

* More changes

* More changes

* revision fix

* OOPS

* fix schemas

* Makes SQL error logging handled by Execute
Gang role tracking now strips out the gang name and is generic.
2017-08-20 23:01:08 +12:00
Jordan Brown
d1ae0a0c95 Adds helpers to avoid << use (#29611) 2017-08-09 00:27:54 -03:00