Commit Graph

909 Commits

Author SHA1 Message Date
Kyle Spier-Swenson
efec302bfd Fix my fix (#44750)
I messed up #44748 minorly. I check for a string in a list of a numbers because I don't convert it again (job is a if scoped var in the above if)
2019-06-23 08:59:43 +12:00
Kyle Spier-Swenson
03554f0aa1 Moves the asset cache bug check to below the topic limiter
While we were looking at logs to try and figure out how someone has been crashing the servers, oranges pointed out to me that these lines aren't below the topic limiter or the logger. The main asset cache stuff should be above it so legit asset cache sends don't eat up the user's topic limit, but this line can be below it and doing so should protect the user from getting spammed with asset cache browser resets whenever that one bug happens. (I also looked at logs, and the bug this code works around does still seem to be a thing.)
2019-06-22 12:30:26 -07:00
Tetr4
ab731ea712 fixes headless suicides (#44711) 2019-06-22 01:24:23 -04:00
Shaps
8954265573 Agender fixes (#44597)
Credits to Europaisch for help finding all the records stuff

Fixes a few issues I was not aware of with my initial PR

* Being agender is now a distinct DNA value (fixes agender spessmen
  turning female when having their DNA referenced, like during cloning
  and some rudimentary transformations)
* Neatens up preference code, more in line with previous code, fixes
  an issue with male underwear not surviving preference loading and
  defaulting to female underwear
* Allows agender spessmen to change their facial hair with mirrors
* Change medical, personnel, and security records from sex to gender
  and add "Other" option (they currently display "plural" even for
  agendered species like ethereals)
* The -san honorific now applies to plural gender instead of just
  neuter with the Chinese Cartoons admin secret (highly important)

I have never really played genetics and only tested the DNA code with
cloning and rudimentary transformations while still in a body (which
causes it to reference the old body's DNA, like with cloning). Please
let me know if there's a better way to do this and/or if this is apt
to create issues.
2019-06-19 13:59:39 -07:00
AnturK
b5eacbbc87 Fix another version of the asset exploit (#44570) 2019-06-18 00:08:59 -07:00
oranges
f8c012abf4 Revoke JS error handler's right to exist (#44581)
unused, vulnerable
2019-06-18 00:06:45 -07:00
wesoda25
850be477d9 Update preferences.dm 2019-06-15 19:05:16 -04:00
wesoda25
aab808ef41 buwgow! 2019-06-15 18:59:32 -04:00
AnturK
53adafe60d Fixes asset topic sanity. (#44550) 2019-06-15 14:57:44 -04:00
Shapsy
453a4dd185 Updates gender prefs 2019-06-14 21:48:37 -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
TheChosenEvilOne
a66126d7e3 Add map voting (#44244)
- Add map voting
- Rename config option for preferred map weighted map selection
2019-06-04 23:55:14 +02:00
Rob Bailey
0d86efdb52 Widescreen toggle support (doesn't actually enable it) (#43754)
cl
add: Added support for a widescreen toggle, actual widescreen will require a config change.
tweak: Auto-fit view is now the default. This will only apply to new players.
/cl
2019-06-03 11:11:09 +12:00
AnturK
8796a518a0 Fixes having overflow role toggled not hiding other preferences. (#44153)
* Fixes having overflow role toggled not hiding other preferences.

* Also makes this bit cleaner.
2019-05-27 22:57:58 +12:00
vuonojenmustaturska
653e7531d3 Fixes colored items like scarves and beanies being shown as white in vending machines (#44007)
* scorf

* whoops
2019-05-18 15:27:54 -04:00
vuonojenmustaturska
f5fdf4fa65 Makes vending machines use spritesheets over artisanal handwritten getflaticon memes (#43914)
About The Pull Request

Pretty much what it says on the tin.

Oh yeah I also removed the string concatenation nonsense in favor of multiline strings and a list.
Why It's Good For The Game

Removes many getFlatIcon calls during the round, also some runtimes from ephemeral items being created and immediately deleted when the vending machines are used.
Changelog

cl Naksu
tweak: vending machines now use spritesheets
/cl
2019-05-12 10:51:03 +12:00
AnturK
3f20ee690b that's why i waited for reviews ;_; 2019-05-09 23:38:59 +02:00
AnturK
c075978062 Job pref revamp (#43559)
* Job Preferences 2.0 with old vars and upgrade.

* Fixes pref upgrade.

* Lazy option

* Removes debug message.
2019-05-09 09:22:22 +12:00
AnturK
4cf3ea152f Split NOEYES flag into NOFLASH and NOEYESPRITES (#43661)
* Splits NOEYES flag.
* Actually let's rename this to avoid confusion. NOEYES is horrible name
  for what it does.
* Name doesn't conflict now. Speak up if you come up with better name.
2019-04-22 20:37:12 -07:00
nervere
80ff869077 Fixes for asay, asay darkmode, and asay when custom asay colors enabled (#43422)
About The Pull Request

Fixes several annoying and unintentional things about asay.
Fixes #43370
Changelog

cl Nervere
fix: Default color for when custom asay colors is not enabled is now orange, not red.
fix: Asay is now properly bolded in lightmode.
fix: Asay is now properly bolded in darkmode.
tweak: Default color for when custom asay colors is enabled is now orange, not black.
/cl

closes #43370
2019-04-03 10:51:24 +13:00
Tad Hardesty
687f3c97c3 Fix being sent back to lobby not allowing changing quirks (#43319) 2019-03-28 14:49:44 -04:00
Rob Bailey
ceca1e605e [READY] Yet more darkmode tweaks and fixes (#43306)
* fuck you whoever made the last icon it was garbage

* ticket log fixes

* ticket log fixes

* changes colors from hardcode per line to a define

* some nicer darkmode colors

* asay and ooc name default fixes

* fuck you appveyer build again

* slight brightening of the default font color

* properly fixes tip of the round being hard to read
2019-03-25 20:49:59 +13:00
ShizCalev
192a5333c3 Automatic deadminning (#42780)
* does the thing

* cleanup

* unbroke deadminning

param broke the verb somehow? honk.

* correct prefs

* more robust handling

* corrected return, cleanup
2019-03-23 10:46:35 +01:00
Rob Bailey
9290358482 fixes (#43275) 2019-03-22 10:53:19 -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
Kmc2000
6b6537cccd Adds toggleable darkmode to the game! (#43072)
* Adds toggleable darkmode to the game! (Use the toggle darkmode verb if you want to use light mode)

* Removes a random linechange

* Undo unintentional changes

* Changes some forced font tags to use spans, which won't break darkmode.

* Fixes up some problems I found while testing
Darkmode is no longer default (this caused some issues with people getting a broken chat)

* Darkmode sucks less now

* Darkmode button now works again
2019-03-21 11:02:41 +13:00
oranges
de70c67639 Merge pull request #43152 from kevinz000/bunker_message
Panic bunker message is now a config.
2019-03-20 22:09:12 +13:00
kevinz000
f8777444d6 syke, nah let's load this every time from the datum 2019-03-17 14:55:50 -07:00
kevinz000
1bb07280c2 the message is now cached and the line has been added to config 2019-03-17 14:54:34 -07:00
kevinz000
92983243c5 panic bunker message config 2019-03-17 14:41:35 -07:00
oranges
b526be704c TGUI and asset cache sending improvements (#43090)
Pills are now two spreadsheets instead of individual icons.

This reduces assets sent by about 19-20.

Furthermore tgui has been extended with a new proc ui_base_html which
allows a user to customise the html sent as the base for a tgui window.
This allows someone to provide custom spritesheet css as links in a
specific tgui window without having to add it to the global html.
2019-03-17 09:47:48 -07:00
oranges
cde413db78 Add an asset cache log that logs send assets (#43089) 2019-03-17 11:31:07 +01:00
oranges
5451cef5e9 Merge pull request #43029 from AutomaticFrenzy/patch/procpath
Add a type annotation to represent proc paths
2019-03-17 23:23:23 +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
Tad Hardesty
2bc2e7fe31 Add a type annotation to represent proc paths 2019-03-05 21:09:12 -08:00
MacHac
203cac22ff Bank cards can now talk again. (#42849)
* recursive_loc_check now returns the appropriate atom.

* Added a preference to disable bank card chatting.

* Converted spaces to tabs, collapsed conditionals

* Update code/modules/economy/account.dm

Co-Authored-By: MacHac <piheads@gmail.com>

* Added the pref to the game prefs screen.
2019-02-25 15:07:34 -05:00
ShizCalev
98fd2f6b8d Fixes bad default ethereal preference color (#42756)
* Fixes bad default ethereal preference color

* Fix
2019-02-14 21:15:33 +11:00
YoYoBatty
c33235f108 Fixes an undeleted sql query (#42703)
* Fixes an undeleted sql query

* ARE YOU SURE ABOUT THAT
2019-02-09 21:52:10 +11:00
Jack Edge
5f3be2a50a Merge branch 'master' into seperate-job-files 2019-02-01 08:37:19 +00:00
nichlas0010
3ec4eb619f [s] disables the Middle Mouse Button exploit (#42594)
* disables the MMB exploit

* Adds a config option to set a minimum build, with the recommended minimum build for 512 users being 1421

* readds the post-block detection, and changes MMB -> Middle Mouse Button

* Makes it the standard, I guess

Co-Authored-By: nichlas0010 <nichlas00100@gmail.com>

* Update client_procs.dm
2019-01-30 11:07:45 -05:00
Jack Edge
9740ebb7ad Jobs code is in seperate files
🆑 coiax
code: Jobe code has been moved into seperate files. There should be no
change in behaviour.
/🆑

Every time I've ever gone into job code, this has annoyed me so much.
Some jobs have seperate files, some do not. So I put them in seperate
files, which I thought was a simple job. I removed some comments in the
process.

But it turns out the display order on the job preference screen was
literally determined by the ordering of the datums in the source files.
So I needed to add a way to order it. Now you can reorder the jobs by
changing the values of the defines.
2019-01-26 20:54:13 +00:00
kevinz000
620db42963 Refactors the Preferences window to use appearances (#41978)
Instead of using expensive getFlatIcon() calls, character previews are now shown using appearance clones in a second map window.

Its creating a secondary map and adding mut_appearances as screen objs on that map.

There are 1 set of dummy objects per client, it also only creates them while the preview window is open and garbage collects them when it's closed.

Because it creates the MA from the main preview dummy mob, the dummy mob's appearance remains a seperate object and they don't affect each other
2018-12-30 00:11:26 +13:00
Kyle Spier-Swenson
d0c14d850d Fix cid randomizer note repeating more often then it should
The expire_timestamp checks were always failing because `null` is not higher than `now()`
2018-12-26 17:00:30 -08:00
Carbonhell
449bd89c9e Adds the system discussed in the felinid poll, to allow for people with a felinid character to not be reset to human 2018-12-18 01:20:12 +01:00
Qustinnus
14bd2ef2eb [Ready]You can now select what your pills will look like when making pills from the Chem Master (#41825)
cl Floyd/Qustinnus, paid for by Kryson
add: You can now select what your pills will look like when making pills from the Chem Master
/cl

we had 21 pill sprites and used 1. waste. now you can pick from our list of 21 and it'll show you beforehand what they look like

== Original commit names==

* pillshere

* names for fruit-kun

* they do

* they do

* done

* thanks mr mrdoombringer

* reeling it in

* Revert "reeling it in"

This reverts commit 2b795a8baf5eec89fdc1e6b6a6ef9d36276c2e62.

* [maximum peepee]

* u got a boyfriend

i bet he ddoesnt kiss ya

* redpilled

* adds random pills

* boom

* mrdoombringer is fat
2018-12-16 12:57:36 +13:00
Time-Green
29ecfa47bf [READY] Goon Genetics (#41258)
GENETICS

    The random hexadecimal rng game has been replaced with gene sequencing from goon.

    Adds mutation activators and mutators

    You can now store mutations

    Everyone now has their own set of unique mutations

    Limited mutations per person to 8 (including one always being monkey)

    Adds race specific mutations (See fire breathing for lizads)

    You can inspect discovered mutations, undiscovered mutations use an alias to recognize them by

    Adds a sequence analyzer. Can be used to scan someones genes sequence. Useful for determing what mutations they can safely have and or collecting data for very difficult sequences

    Adds mutation combining. It's currently only RADIOACTIVE + STRONG = HULK (So yes you will now need 2 mutations for to get hulk)

    Adds several other mutations. Telepathy, firebreath, glowy, radioactive and strength

cl Time-Green
add: Goon genetics!
add: More mutations! Fire breath for lizards! Radioactive! Telepathy! Glowy! Strength, though its cosmetic and should be combined with radioactivity instead! Fiery sweat!
add: Adds void magnet mutation by @tralezab !
/cl
2018-12-09 23:26:04 +13:00
moo
b0073fddb8 Merge pull request #41754 from coiax/always-in-the-way
Adds Physically Obstructive quirk
2018-12-06 12:06:03 -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