Commit Graph

990 Commits

Author SHA1 Message Date
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
spookydonut
3195ceaa22 Update SpacemanDMM suite to 1.2 (#48785)
* Update SpacemanDMM suite to 1.2

* Fix new lint errors
2020-01-16 11:49:39 -05:00
AnturK
8e94ad36a1 Fix santize_hexcolor (#48716)
This whole helper is a mess. Maybe I should just replace it completely 
instead.
2020-01-12 19:13:00 -08:00
Qustinnus
be23312096 New achievements and achievements icons (#48544)
* sdasd

* fixes

* fixed

* attempt 2

* Update skill_achievements.dm
2020-01-12 18:46:51 -08:00
actioninja
db161a7570 Roulette Machine
initial work

more work

more roulette work

more work

more

yet more

FINALLY

small fixes

use global colors for last spun box

no low memory mode

cleanup

nuke old roulette assets

kills remaining 2 usages

forgot this var
2020-01-10 20:05:11 -08:00
oranges
70bb8fde34 Some changes suggested by lummox 2020-01-05 05:12:06 +00:00
Rob Bailey
ba876548f3 Revert "[ready] Smooth-ish move rising: revengeance" (#48156)
Reverts #47817

People are complaining about motion sickness and I don't know what the issue is.
2020-01-04 23:58:31 +13:00
Jordan Brown
b679b35bca Fixes false positive quirk cap trigger (#48452)
The positive quirk cap failure will only trigger when attempting to add more positive quirks
2019-12-30 22:49:38 +01:00
AnturK
47b168f4a3 Makes config version check support beta properly. (#48459) 2019-12-30 15:57:10 -05:00
BadSS13Player
184d055cca Creation of AIs and silicon law changes are now reported in deadchat (#48216)
About The Pull Request

This PR adds deadchat notifications for law changes of AIs and unsynced borgs (listing the full new lawset), uses of AI/Cyborg Upload and the creation of new AIs.
Why It's Good For The Game

The AI is one of the most important players in the round, so it only makes sense that players watching in deadchat are kept up to date on its laws, especially hidden laws since they are never stated.
Changelog

cl
add: Silicon law changes are now reported in deadchat.
add: The creation of new AIs is now reported in deadchat.
/cl
2019-12-27 08:26:55 +13:00
AnturK
3388205dda Keybinding update fix (#48316) 2019-12-21 00:56:19 +01: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
Rob Bailey
798bbd3d99 [ready] Smooth-ish move rising: revengeance (#47817)
* Smooth movement

Squashed commit:

[870d550fff] updates a variable name to not shadow a parent variable

[65131a9a4b] redundant

[7c85f7b87e] override based pulling and pushing

[60a9760c4b] unnecessary when it's done via an override

[0a67dfb3cb] removes a redundant manual override

[7f25104fed] pushing

[2bfd9973eb] eh

[fca7155245] cast properly

[ad4b9ad8ab] compile fix

[c28fde4bfb] some wonkiness with pulling fixed

[0e028d30b3] buckling fix + finer rounding

[8f93df2bbe] dragging + buckling fixes

[1541e1ce78] small optimization

[bda72345dd] smoother movement

fix to dragging being fucky

vehicle fix

orbiter fix

eof newline

cleanup

comment cleanup

stupid hack

bunch of tweaks/hacks + 60 fps default oh god

potential fix for orbiter issues (in a shitty way)

early override for some cases

unset orbit

multiply instead of add offset

no

no more timescale scaling and higher multiplier

meant to include this in last commit

comment

* clamp to 6, 1.25 multiplier

* (poorly) fixed buckles not always propagating

* get rid of some debug prints whoops

* fixes an infinite loop

* syntax + update savefile instead of interpreting 0 different

* uuuh
2019-12-05 02:34:46 +00:00
ShizCalev
a4c31559bb Merge pull request #48098 from AnturK/cc_runtime
Fixes client colour runtime
2019-12-03 12:31:39 -05:00
AnturK
a94c600d5a Let's save some more time here. 2019-12-02 10:09:58 +01:00
AnturK
c2e89e88bf Fixes preference instantation runtime (#48048) 2019-11-30 04:13:24 -08: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
ArcaneMusic
9dd407924a Adds a new App for Modular Computers, the NTOS Arcade. (#47862)
Hey you, punk Are you hip with modular computers?
...What's that, you think there's nothing to do on that old tablet of yours? Whoah brochacho, don't dump that tablet in the trash, and check out the new gaming app that's sweeping the station!
2019-11-26 13:15:05 +02:00
AnturK
a31c460dc0 Moves achievements from Hub to DB. (#47617)
Drops byond hub support and adds score and top 50 browsers.

Requires DB changes and manual creation of migration script if we want to keep old achievements so no random merges please.
2019-11-26 20:35:28 +13: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
skoglol
738bda22f3 Fixes some admin lookups (#47806) 2019-11-16 20:35:08 -05:00
Aleksej Komarov
e87b6c6701 Tgui error reporting, Keyboard passthrough, RPD, NtOS, Power Monitor (#47749)
* Improve tgui fatal error reporting

* Keyboard passthrough in tgui

* New Rapid Pipe Dispenser interface

* Update README with new components

* Release held keys when browser window loses focus

* Power Monitor Interface, NtOS theme and core components

* Yet another CSS rework

* Fix Table, Chart stubs for IE8

* NtOS Main interface

* Supermatter Monitor interface

* Tweak NT color, color + sort gas bars
2019-11-16 04:02:33 -08:00
Coul
49767dd0c8 hotkey not hotkeys 2019-11-15 03:51:12 -05:00
Coul
0b4d5918b9 keybindings save file fix 2019-11-15 03:46:31 -05:00
Couls
26a61a489c ports TGMCs click hack for non-hotkey players ports classic keybinds from TGMC (#47670)
About The Pull Request

Ports tgstation/TerraGov-Marine-Corps#2977, overrides click proc to return focus back to chat bar using winsets also ports tgstation/TerraGov-Marine-Corps#1904 which has two sets of defaults for hotkey and classic mode
fixes #47672 fixes #47659

much credit to @Rohesie and the TGMC team for a bunch of these improvements
Why It's Good For The Game

lets the non-hotkey players walk and talk again
Changelog

cl
add: Custom keybinds will now check what style (classic / hotkey) you prefer when resetting if you use classic mode make sure to reset your keybinds to default!
add: multiple keybind support
tweak: non-hotkey mode keeps focus on chat
fix: pressing 4 as cyborg now properly cycles
fix: AI location hotkeys now work again
/cl
2019-11-14 09:22:33 +13:00
Shaps
e42c0591b8 Clean up admin moreinfo (#47681)
Agendered spessmen are no longer highlighted on the (?|F) more info 
thing. Also deletes a useless list in preferences file I forgot to 
remove a while ago.
2019-11-09 09:30:31 -08: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
Qustinnus
8a01398814 Adds achievement datums (#47058)
* First step

* achievements part 1

* epic

* done

* epic

* removes test datums

* adds minecraft achievement

* asss

* ass 2

* ass

* fix

* UPGRADE

* back-end partially

* back-end

* woops

* epic

* linted

* Achievements (#19)

* initialize SSachievements lists

* achievement ui actually tries to load

* witty commit description

* menu

* done

* done

* jesus christ

* ok linter

* Update code/datums/achievements/_achievement_data.dm

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

* Update _achievement_data.dm

* Update misc_achievements.dm

* Update achievements.dm

* Update

* And a space, goddamit!

* Rebuild tgui

* woops

* bruh moemnet

* ok conflicts

* finally
2019-10-26 05:57:42 -07:00
oranges
58d8c248c8 Merge pull request #47388 from Rohesie/path
Variable definition path cleanup
2019-10-26 21:20:24 +13:00
Aleksej Komarov
a87349c658 Tgui early initialization (#47384)
* Remove clockwork tgui theme

* Perform early tgui initialization

* Fix IE8 compatibility

- No frills mode was not working on IE8
- Conditional comments do not work in embedded webview

* Rethink console stubs, more proc inlining

* some microoptimizations

* Constraint window position

* Rebuild tgui
2019-10-25 22:11:43 -07:00
skoglol
0de1546927 Ui styles default back to midnight 2019-10-25 17:09:32 +02:00
L
42873d424e Cleanup 2019-10-25 04:26:09 -03:00
tralezab
fcf2dbfa02 [READY] Mime PDAs only accept emojis for messages, mime cartridge comes with an emoji guidebook (#47177)
* relic file

* Revert "Merge branch 'master' of https://github.com/tralezab/tgstation"

This reverts commit 826916d87b421dbb0ebcfce7fad96e456b6d3674, reversing
changes made to a0f476d874.

* mime pda

* hey maybe it works

* some steps forward

* IT WORKS HAHAHA YAAAAAAAAAAAAAAAAA

* logged properly in everything
2019-10-22 20:19:21 -07:00
skoglol
938e66f62c Adds sorting to most input() lists (#47117)
* Adds sorting to most input() lists.

* Sorted some global lists, added more input sorting

* Should now use correct sort everywhere.

* compiles

* Last fixes.
2019-10-22 04:28:42 -07:00
Aleksej Komarov
2e725d93d5 tgui-next: Low level stuff (#47122)
* tgui-next: Low level stuff

- More robust cache reloader, support WSL pathing
- Add a way to only reload the cache once without launching a full dev server

Throw a warning when using lowecase onclick on Button

Improve logging, add loader to inline svgs

- Logger can now handle circular references;
- Logger will not truncate long objects.

Typo, rebase, rebuild

Support --debug flag on dev server, improve logging

Lots of cosmetic and other changes

- Add support for Babel macros
- Implement a "multiline" macro for creating long multiline strings
- Rename interfaces to better match the component naming convention
- LabeledList.Divider size is 2 by default
- Sort routes by name
- Remove package-lock.json files on --clean
- Catch weird JSON parsing errors for better debuggability

Ignore sourcemaps

Clarify what that multiline function is

Try this travis fix

Bump NodeJS version to 12.x

Add a stub to make multiline usable as a template tag

- Just in case we will need to remove macros and have it still working.

Document debug flag in README

Fix LabeledList.Divider, reduce expensive SCSS calls

Separate dev and production builds so that they never overwrite each other

Run linter as a part of the production build

Rebuild tgui

Add react eslint plugin, massive jsx cleanup

* Mint janitor

* Optimization of tgui initialization path

- Call browse with titlebar and resize flags disabled

* Fix backend reducer

* Rebuild, fix linter errors
2019-10-20 16:49:13 +02:00
spookydonut
4e8ff18b07 Fix Travis grep script to use PCRE to actually match things (#47065)
Several of the greps were missing the `-P` switch which caused them to 
fail to match things. The EOL grep also wasn't working right so I 
replaced it with the one I added to TGMC.
2019-10-19 10:21:05 -07:00
Aleksej Komarov
5521c8ebee [READY] tgui-next: Initial PR, speedy new Air Alarm interface. (#46764)
* Initial tgui-next commit

* Improve dev server, slight changes to layout.

* Add more components, fix dragging, finalize scrubber list

* Complete an air alarm interface.

* Multiple improvements based on feedback

- LabeledList now has a "buttons" prop, where you can put buttons.
- Improved Box and Flex components
- Whole UI is now dimmable if non-interactive
- Basic documentation of components (Box and Flex so far).
- Icon and Box now accept a "color" prop.
- Routing improved in "Layout" component, you can now specify whether an interface is scrollable.

* Less harsh dimming

* Redux, Toasts

- Fixed inconsistent backend updates with Redux.
- Added Toasts which are currently unused, but are functional.

* acclimator + ai airlock ui

* Add a progress bar component, implement resizing

* Fix a zero in title bar

* Add a linter to keep shit tidy, fix danger level mapping, add some more docs

* better ai door interact ui

* final ai airlock interface

* Fix issues with code, enforce hard 120 line length cap, automerge binaries

* Implement hot module reloading

* Fix progress bar, add color support

* Fix ProgressBar baseline alignment issues

* Remove unwanted padding on the bottom of the LabeledList.

* Component improvements

- Fix baseline issues with Button and ProgressBar components
- Box how inherits props from Box
- Atomic colors and Button colors are now auto-generated, all range of colors supported

* Chem Dispenser UI, animated numbers, more style fixes

* Add an IE8 polyfill

* Intermediate state of fixing IE8

* Lots of shimming and general misery

* Fully working old TGUI chainloader for IE8, more pipeline improvements

* Support title-less Sections

* Delete Yarn, use Lerna for workspace management

* Improve maths and animated numbers

* Fix loss of focus for scrollable content, activate buttons with keyboard

* Attempt to bust the cache, grab focus on keyboard presses too

* Fix hot module replacement by manually pulling replaced modules.

* backend logging

 un-nuke line endings

changes without insane line endings

* helper procs + href support

* slight optimization

* compiles

* Redux, Hotkeys, Kitchen Sink (for UI testing), Tabs component

* Push logs to backend, small kitchen sink changes, tab fixes

* Update component reference in README

* Small fixes

* Next bunch of IE8 fixes, PureComponent optimization for Inferno

* Delete old tgui html

* Log the event of loading the old tgui

* Enable tgui logging on server by default

* Final solution

* Extract routes into a separate file, fix ChemDispenser bug

- Chem dispenser was needlessly disabling transfer amount buttons

* Disable baseline alignment for vertical tabs

* Fix tabs and box units

- Tab content was not taking full page width
- Box can now accepts strings as units, which will be treated as raw style values.

* Fix tgui on Terry

* Fix sending all logs with an "error" flag

* Some macro UI component changes and improvements

- Refer to README.md diff to see what's new

* Tooltip component

* Add support for themes, nanotrasen logo is back

* Clockwork theme hotfix

* Slight adjustment to logo positioning

* Actually proper solution for logo positioning

* Fix color maps

* tgui-next thermomachine interface

* tgui-next canister interface

* Add icon_class_name proc to asset cache

* Lots of stuff backported from actioninja's repo

* Cleanup oopsies

* Cargo UI adjustments

* Nuke lodash

* Minor fixes and cleanup

- Remove local Inferno package in favor of upstream Inferno
- Fix "initial" prop on AnimatedNumber
- Force fancy=0 for IE8
- Click-through dimmer

* Add a bat file for dummies

* podlauncher interface fix

* Update README, assert code dominance

* Clarify usage of event handlers in Inferno

* Document LabeledList.Divider

* Fukken grammar

* fixes cellular emporium readapt button not working

* fixes incorrect action on button in atmos control interface

* remove unneeded data from airlock electronics ui

* Set +x mode on bin/tgui

* Fix filename cases

- They were untracked by git on windows

* Ignore package lock, make batch more robust

- package-lock.json is very random and unreliable as fuck. Yarn was better.

* Build tgui-next in travis

* bruh

- fixes tgui error reporting

* logging cleanup + always log
2019-10-15 17:20:37 +02:00
skoglol
b68abe7e6d Adds random character when antagonist preference (#46952)
About The Pull Request

Well known statics rejoice! You can now choose to have random name/body/age/gender whenever you roll roundstart antagonist.

Since player mobs are generated before antag datums are handed out, I added a list that collects minds chosen as antags during pre_setup() to keep track of this.

"Other" was also missing from the random gender, added it.

Wizard, clown op, nukeop, latejoin and midround antags are excempt.
Why It's Good For The Game

Some static namers get metagamed to the extreme when antagonists, this should help alleviate that while allowing them to keep static naming for the RP. Keep in mind all conversion, midround and latejoin antag rolls are excempt, this is not a guarantee someone is a non-antag.
Changelog

cl Skoglol
add: Random name/body/age/gender when roundstart antagonist preference added.
add: Random gender will now have a chance of picking "Other".
/cl
2019-10-13 17:00:17 +13:00
nemvar
c38a7a3bb5 Removes a bunch of var/ in procs (#46946)
* Removes a bunch of /var in procs

* reset this

* Why wasn't this already?
2019-10-10 04:20:27 -07:00
Names Are Hard
057be7fdf2 Adds phobias as roundstart quirks (#46524)
* Phobia as quirk

* Changed value

* Valueless again

* Moved to neutral

* Actually gives trauma roundstart
2019-09-27 00:26:51 -07:00
oranges
9d91853f78 Non temp workaround for admins matching stickybans because of… (#46462)
* temp workaround for admins matching stickybans because of a byond bug.

* Globalify the lists used for stickyban exemptions
2019-09-25 18:45:18 -07:00
Qustinnus
20397d59f1 [READY] Roulette wheels (#46418)
* Basic roulette interface

* at least it compiles

* roulette

* fixes jackpot sound

* beacon

* epic

* push

* Update code/game/machinery/roulette_machine.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* sprites and more audio

* color

* Woops

* epic

* wires

* sprite

* Nya mergies pwease OwO (#17)

* Moves style to .styl

* test

* Fixed

* da real shiet

* fix

* fix

* fixes

* woops

* assets

* stop github stop

* fix

* static

* nya (#18)
2019-09-20 12:21:49 +02:00
Rob Bailey
85adb0c031 input checking (#46425)
Sanity checks + flood checking.

Changes keys_held to a rolling buffer instead of a list of arbitrary size. This limits held keys to 15, I recommend not holding keys with your toes personally.
2019-09-16 16:37:14 +12:00
nightred
dc23d15170 Blindness removes your ability to see colours (#46475)
* Blindness removes colours so you can only see if an object is near, not the fine points on it.

* Fixed up the monochromatic trait to persist when removing blindness

* Removed added trait and created new colour filter for blindness

* Blankspace Removal

* removed the src before the proc as it was not needed
2019-09-15 00:34:21 -07: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