Commit Graph

115 Commits

Author SHA1 Message Date
Tümer Türkmen
e314669651 ooc no longer checks if message is ic if round hasn't started (#51660)
* pog

* fixed

* oops
2020-06-16 12:18:04 -04:00
PrimordialOoze
60a9158a9b Better Player Ignore (#51353)
* Revamp the player ignore system

* Move a variable definition out of a loop

* Replace a |= with +=

* Improve some code

* Fix some code

Co-authored-by: Local <none>
2020-06-01 01:01:40 +02:00
Ryll Ryll
753af7bda5 Adds friendly commendations (#51217)
* with message

* remove message, neaten up
2020-05-25 01:49:12 +08:00
peoplearestrange
c8bd6a175d changes to category
changes Administration to Admin
2020-02-04 20:23:30 +00:00
peoplearestrange
060d16d5eb Changes to category
changes Administration to Admin
2020-02-04 20:23:13 +00:00
peoplearestrange
75304837f0 Changes Category
Adminwho = Administration
2020-02-04 04:36:01 +00:00
peoplearestrange
c9f82866ae Changes Category
Set player OOC color = Server
Reset player OOC color = Server
Adminnotice = Administration
2020-02-04 04:35:21 +00:00
MrPerson
12eecfd181 Makes raw HTML and browser datum popups UTF-8 aware (#49066)
* Makes raw HTML and browser datum popups UTF-8 aware

Admin menus specifically really shouldn't break just because you named some guy "☺s the Clown"

* Fixed new_player.dm

* Fucking filing cabinets
2020-02-01 22:14:31 +01:00
skoglol
b735d25cb6 Swaps boh and ooc confirm dialog button positions (#48905)
* Swaps boh confirm dialog button positions

* and the ooc alert
2020-01-22 12:52:17 -05:00
MrPerson
f7eb2c905b Unicode awareness Part 2 -- copytext() (#48512)
* Unicode support Part 2 -- copytext()

This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.

I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````

with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.

This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.

* Makes the code functional

* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.

* Removes ninjaspeak since it's unused
2020-01-18 13:07:22 +13:00
skoglol
10de2370cf New disarm intent suicide (#47902)
About The Pull Request

Adds a new disarm intent suicide. Fixes the intent logic, it will now run different suicides for disarm and grab. Added some ghostize that I overlooked last time.

https://streamable.com/ifx25
Why It's Good For The Game

Fixes, silly new content
Changelog

cl Skoglol
fix: All human intent suicides now work properly
add: New disarm intent suicide
/cl
2019-12-10 20:44:28 +13:00
Bobbahbrown
0d7ef73b17 Refactors References to IRC to be TGS (#47954)
* TGS updates round 1

* TGS updates round 2
2019-11-30 03:59:42 -08:00
skoglol
ad0d270d58 Cleans up observer mind on control transfer, ghosting, DNR, suicide (#47826)
* Fixes admin ghost drag

* Covers more cases

* And assume control
2019-11-18 17:59:47 +00:00
Couls
971ef6a416 Custom movement hotkeys and restore macros for T, O and M (#47626)
* Custom movement hotkeys and restore macros for T, O and M

* stray comma

* update movement keys on SSinput initialize

* use cardinals
2019-11-07 18:07:17 -05:00
Couls
65ce56587c fixes modifier hotkeys and adds alternative move intent toggle (#47569)
* fixes modifier hotkeys and adds alternative move intent toggle

* Fixes pulling keybind

* make the wrappers look more like the old popup windows

* it was the freaking save file

* bump up save file version

* reset keybindings to default
2019-11-06 04:20:30 -08:00
spookydonut
2591ce17a6 Travis EOF newline detection v3 (#47539)
* scream

* aaa

* aaa

* new one
2019-11-04 19:16:50 -08:00
Couls
070bb5e69c Port Custom hotkeys from TGMC (#47003)
* custom keybindings

* Update _lists.dm

* Update robot.dm

* modify weights and clean up some vars

* Update say.dm

* Apply suggestions from code review

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* some review changes

* formatting

* include focus hack, remove me_wrapper, give default keybinds to new characters, misc fixes

* revert hack and more reviews

* remove another focus hack

this was causing issues with the keydown proc returning early
2019-11-03 01:35:30 -07:00
Brett Williams
77d3fd8136 jannies get this too 2019-10-31 12:27:56 -03:00
Brett Williams
c13585621d we fixed it for real 2019-10-31 00:43:33 -03:00
kingofkosmos
8358169b8e New 'hear' span class (#46369)
* Reverts italics-span back to no color.

* Cleans up many extra spaces and indents.

* Adds 'hear' span class.

* Replaces all 'italics' used in heard messages with 'hear'.
2019-09-14 23:56:34 -07:00
bgobandit
90fbce8d95 ignoring OOC players should display the correct name (#46155)
About The Pull Request

Fixes #46039. Or should at least I haven't tested it.

please note I did not write the ignoring code
Why It's Good For The Game

bug, fix, etc
Changelog

cl bandit
fix: Fixed an erroneous message with ignoring a player's OOC messages.
/cl
2019-08-28 11:11:30 +12:00
skoglol
c3c96ad010 Delete a few forgotten VR files (#45963)
These files are already removed from the .dme, but werent deleted in 
the removal PR. Also some other references.
2019-08-18 10:53:35 -07:00
81Denton
f5b0184d93 Moves death + suicide logging to the attack log (#45779)
This PR moves player death+suicide logging from the game log to the attack log.
@nfreader @bobbahbrown You might have to adjust your log services if this gets merged.
Why It's Good For The Game

Attacks and succumbing are already being logged in the attack log - moving deaths+suicides to the attack log makes it easier for admins to establish death timelines.
Changelog

cl Denton
admin: Player deaths+suicides are now logged in the attack log and no longer in the game log.
/cl
2019-08-09 11:27:04 +12:00
Rob Bailey
e61c9a8aa8 fix (#45396) 2019-07-25 14:04:16 +02:00
tralezab
9b6f3983ac separates the client and the name so we can put in fake names (#45306) 2019-07-21 18:57:53 -07:00
kingofkosmos
df1aa091b2 * adds warning-spans to various messages 2019-06-24 21:05:22 +03:00
Tetr4
ab731ea712 fixes headless suicides (#44711) 2019-06-22 01:24:23 -04:00
AnturK
69ac935bde Upgrades policy config + policy verb. (#44296)
* Upgrades policy config + policy verb.

* Better example and proper default value.

* hr on top

* Cleanup
2019-06-10 11:51:25 -04:00
Rob Bailey
930e9dc501 [READY] Darkmode fixes (#43252)
* better darkmode v1

* ever better colors

* slightly improved tip color + fixed scrolly bug

* updates skin.dmf as well as some small color tweaks

* slightly tweaked more readable info and admin shit

* span_class fix

* merges ooc fixes

* whoops

* MC and ticket screen fix

* no default darkmode

* skin fixes

* more obnoxious adminpm

* more obnoxious adminshit

* skin revert to ensure proper light theme.

* prevents weirdness with default whiteness
2019-03-22 08:56:17 +13:00
Name
4a36c1399c Hands now kill brains as hard as everything else 2019-03-08 06:24:23 -05:00
Name
28db79575c Makes suicides log at the right times and not at the wrong times 2019-03-08 05:54:14 -05:00
Name
07f8558e1f Fixes it 2019-03-06 04:35:12 -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
k-k-karma
35054db279 Fix colorooc checking for R_ADMIN and byond (#41463)
* Update ooc.dm

* Update ooc.dm
2018-11-14 05:44:03 -05:00
ShizCalev
c12012c3ad Admin prefs stuff (#41041)
fixes #41106 since it'll have it's own fucking location.

cl ShizCalev
add: Admins can now personalize their asay message color on servers with the feature enabled.
tweak: Moved some admin only preference verbs out of the Preferences tab and to a new admin preferences tab to help unclutter it / prevent accidental toggling of fun things.
/cl

Note that the start of the admin message will still use the default formatting just so it can be quickly recognized as an admin message and not an OOC one.
2018-10-25 11:43:30 +13:00
ShizCalev
b3e4cc3dc2 Automatically reopens position slots of mobs who suicide at roundstart 2018-10-17 19:57:15 -04:00
ShizCalev
f7fcc4e929 Removes tactical suicide borging (#40754)
* Removes tactical suicide borging

* correction
2018-10-15 22:51:22 +03:00
kevinz000
3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
Jordan Brown
4325bbff8d Merge pull request #39672 from zaracka/emote-and-suicide-restraint-checks
improves emote and suicide restraint checks
2018-08-18 12:03:48 -04:00
zaracka
527034df51 improves suicide restraint checks
gives SOFT_CRIT stat check a to_chat message
grammatically corrects UNCONSCIOUS to_chat message
gives stun check a to_chat message
swaps canmove for IsStun and IsKnockdown
2018-08-12 16:36:22 -04:00
Patrick Chieppe
2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02: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
Tad Hardesty
657c2f70f1 Fix the MOTD having too many newlines 2018-06-22 18:19:40 -07: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
Tad Hardesty
2f8f166d88 Merge pull request #38287 from ninjanomnom/signal-define
Use a define to speed up sending signals to datums with no signals
2018-06-14 22:17:01 -07:00
Tad Hardesty
75aa8ec4b2 Add "Fit Viewport" verb to automatically size the map window (#38351)
* Add a verb to automatically size the map window

* Add a preference to auto-fit the viewport
2018-06-14 10:03:16 +02:00
ninjanomnom
d483ff3ef0 Regexes
`([^_\.])SendSignal\((.+?)\)` -> `\1SEND_SIGNAL(src, \2)`
`([\.\w]+?)\.SendSignal\((.+?)\)` -> `SEND_SIGNAL(\1, \2)`
2018-06-13 19:19:23 -04:00
ShizCalev
c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
Jordan Brown
c737760a14 Adds OOC verb to show the last round end report you've viewed (#37900)
You can now view your last round end report window with the "Your last round" verb in the OOC tab

stores the HTML in a data dir
2018-05-22 09:47:49 +12:00
george99g
f28092423a Deactivate suicide prescans via ghost var (#36839)
* Create suicide_log proc in /mob/living

Suicide logging moved to there.

* Stop after-suicide prescan clones
2018-04-30 14:35:00 +12:00