Commit Graph

51 Commits

Author SHA1 Message Date
LordFowl
64e386785c Abling Disability (#4485)
This PR implements a system for manipulating a client's color safely and also ports a prioritization system for sorting client color from /tg/. Currently this PR also implements client coloration in the form of color blindness, namely:
Monochromacy
Deuteranopia
Tritanopia
Protanopia

DTP are mild brain traumas, whereas monocrhomacy is a severe brain trauma.
Furthermore, this PR removes the Needs Glasses prompt in character creation, and replaces it with a disability selector, allowing people to more closely refine their special little snowflakes.
Current disabilities available:
Nervousness
Nearsightedness
Deuteranopia
Tritanopia
Protanopia
Deafness
Muteness
2018-04-05 21:57:50 +03:00
Lohikar
2fddb0a25c Bag styles (#4099)
changes:

You can now select in preferences if you want to take a generic (grey) bag instead of your job-specific variant.
Cleaned up some leftover bagcode from before the bag type vars.
2018-01-21 01:05:33 +02:00
Lohikar
90886a3076 Branded IPCs (#3388)
This PR adds 2 subtypes of industrial and two subtypes of baseline, one for each cybernetics manufacturer. Sprites by BRAINOS.

other changes:

IPCs can now be flashed or flashbanged.
Admin spawn paths have been added for subspecies that did not have them.
IPCs are no longer slowed by being cold.
2018-01-21 00:34:06 +02:00
Erki
ba57b5a5e5 Preferences SQL tests (#4016) 2017-12-29 15:57:31 -06:00
Lohikar
c1e0952a4f Add support for non-genetic markings (#3643)
Adds support for non-genetic markings which are not embedded into DNA.
2017-11-08 21:26:44 -06:00
Lohikar
61b5203d24 Runtime Map Loading (#3597)
changes:

Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
2017-10-18 23:07:34 +03:00
skull132
86220edeb3 Merge branch 'master' into development 2017-09-14 22:59:07 +03:00
MarinaGryphon
3b29f295eb Fixes eye color in character setup (#3442)
Fixes #3336.
2017-09-13 11:22:04 -05:00
skull132
16d33365c2 Merge branch 'master' into development
# Conflicts:
#	code/modules/client/preference_setup/loadout/loadout_xeno.dm
#	code/modules/customitems/item_defines.dm
2017-09-09 21:38:02 +03:00
Lohikar
4fbf1c15b8 Fixes - 2017/09/05 (#3399)
Fixes #2663.
Fixes #2677.
Fixes #3185.
Fixes #1716.
Fixes #1004.
Fixes a minor grammar error.
2017-09-05 14:18:41 -05:00
Lohikar
d5f7bc76a7 Preferences HTML cleanup (#3301)
changes:

Changed a lot of string building to use lists & Join() - this should reduce the number of strings generated at runtime.
Fixed a bug where the incidents menu was not populated.
Changed color boxes to use CSS & divs instead of one-cell tables.
2017-08-17 12:22:20 +03:00
Lohikar
eace452b30 Human icon key & preferences tweaks (#3274)
changes:

Reworked how human body icon keys are generated; resulting keys should be much shorter now and involve less duplication of the same string.
Players are now shown a message when they try to add markings to a species that has none available.
Admin revive for human-types will now also re-apply their organ and marking prefs.
Admin revive now also resets shock_stage (fixes rejuv'd mobs being slow for a while)
2017-08-14 01:01:40 +03:00
Erki Meinberg
283f63d098 Preferences fixes, ahoy! (#3045)
Fixes #1670
Fixes #1780
Fixes #1781
Fixes #1493
2017-07-21 20:50:59 +03:00
Erki Meinberg
e2d0b56740 Add language validation (#3115)
Why didn't we have this?
2017-07-20 02:43:04 +03:00
skull132
d55a9bc42a things 2017-07-16 01:34:49 +03:00
inselc
3e184c4eaf Bugfixes: Dronesay and Underwear/Socks in Character Setup (#2992)
This PR contains bugfixes for:

Drones being able to transmit empty messages when talking in local drone chat ("dronesay")
A possible runtime in dronesay, caused by a null-reference in player_list, or a mob not having a client
Underwear and Socks selection in Character Setup breaking when switching genders.
Character loadout is now sanitized each time before it gets displayed. Invalid selections will be reset to "None", when changing the character's gender.
2017-07-10 20:13:02 +03:00
skull132
e92f1fdd2e Fix some RTs - 03JUL2017 (#2938)
Fix the most common RTs from Sunday's testing.

Also works on orebags. Limits their capacity to 200, as anything higher than that breaks the fancy inventory system something awful. Maybe I should write a UT to test and confirm this. Expanding: I don't think TICK_CHECK in inventory procs is a good idea, without fully implementing a non-fancy storage subclass. Non-fancy would just be speedy without all of the fancy inventory orientation bullshit. But CBA to do that now and I'm not sure if it's worth it for the edgecase of drone satchels atm.
2017-07-05 23:26:35 +03:00
Alberyk
0e977d08e6 Ports baystation character preview system (#2630)
Ports the bay's character preview system, which is far better to observe aesthetic changes in the character creation, also solves the issues such as markings don't showing up at the character selection menu.
2017-06-09 15:14:24 +03:00
Alberyk
17354e5109 Ports body markings from polaris (#2607)
Ports the body marking system from polaris. And I think I got all the SQL related procs.
2017-06-06 00:43:45 +03:00
skull132
a3ec0cf45d Better SQL prepared statements (#2474)
The system used to be of complexity O(n^2). Essentially two for loops running per every argument. Which ended up being surprisingly slow (there were instances where I saw the argument parser as using quite a lot of CPU time).

This replaces it with a more linear algorithm. It's somewhere near O(n) where n is the length of the unparsed query. Which is more stable and faaaster. This comes with two changes, however:

Parameters inside the query now have to be delimited from both sides with : (colons). The alternative to this would be to use something like $n or just assume that space marks the end of a marker. Only the former is workable, the latter would break a few queries already.
Arguments in the argument array no longer have to be prefixed by : (colons). So, while in the query you would write :thing:, you'd initialize the array of args as: list("thing" = somevar). It could be made to work without it, but eh, I think this is fine.
Argument validation is slightly weaker. What I mean by this is that with the old system, unused keys would result in an error. This is no longer a thing. Missing keys will still result in an error, however.
One more improvement: double delimiting removes an edge case where if key A partially covers key B, depending on the order, key A would mangle key B.
Updated and tested all queries that I could find. So this should be good.
2017-05-29 21:17:41 +03:00
skull132
805d0a3d9f Signature fixes (#2477)
Two dumb bugs
2017-05-27 23:09:31 +03:00
skull132
4678b8bbcc Implement signatures (#2098) 2017-05-27 12:39:22 +03:00
Lohikar
63eafb3643 Code Cleanup: Destroy() fixes part 1 + Misc Fixes (#1933)
In this PR:

Destroy() fixes backported from PR #1783.
JaniPDA fixes & improvements.
Chickens no longer consume their own eggs.
Language adding in setup is now 100% more sane.
Chemical dispensers now actually check that the user is still alive before renaming.
Ghosts are now marked as non-simulated atoms.
Non-simulated atoms no longer trigger proximity listeners.
Vendors no longer accept synthetic tools as stocking options.
Fixes #812.
Fixes #1877, Fixes #1929.
Fixes #1930.
Fixes #1152, Fixes #1917.
Fixes #1902.
Fixes #1165.
2017-03-18 23:06:24 +02:00
Lohikar
73c29bd5a7 Miscellaneous Fixes (#1868)
changes:

Engineering now actually gets engineering-type alert consoles instead of the non-functional base type.
Lighting is no longer broken by shuttles.
The ERT shuttle autoannouncer should no longer cause lighting runtimes.
Fixed some bad newlines in some character setup help texts.
Custom loadout tweaks now properly write to SQL.
Custom loadout is now saved as JSON.
Players are now shown a notice when the server was unable to load their custom loadout.
Drowsyness is now clamped to zero.
Added some new tips to the example.
Tweaked some tips' grammar.
Removed some tips that do not apply to our code base.
Probably fixes embraced vampire thralls not getting vampire verbs.
Fixes #1844.
Fixes #1835.
Probably fixes #1687.
Probably fixes #1824.
Fixes #1839
2017-03-05 15:14:28 +02:00
Alberyk
5a355914fc Port bay newest loadout system (#1648)
-ports bay newest loadout system, which is pretty much a tab of their own, with different sections instead of a single list
-adds code that allows for several tweaks of custom loadout, like color, item path and contents
-adds dumb lunchboxes that can be filled with some food selection
-adds the option to select pre-filled vacuum-flasks or flasks
-also tries to fix the issues with xeno gear again
2017-01-29 21:52:09 +02:00
LordFowl
e2442c27f4 nerfing shells to the ground (#1524)
In compliance with Jackboot's freshest tyranny, I've restricted Shells to being human only. This actually simplifies the code tonnes, and may solve several Shell-related bugs reported previously.
2017-01-12 23:13:28 +02:00
skull132
9d3556283e Fix #1490, #1495, #1430, #1425, #1472, plus spacelube (#1537)
Fixes #1490
Fixes #1495
Fixes runtimes from meteors.
Fixes #1430
Fixes #1425
Fxies #1472
Fixes spacelube not drying.
2017-01-12 23:07:46 +02:00
Alberyk
858690a62b Nuke disk fix, preferences fix, bay lore purge and more (#1523)
-may fix #1493
-fix missing the nuke disk being deleted when put inside any container
-fix several references to bay lore, like nyx and etc
-add some missing splint related code
-added fireandglory's hammer weapon to uplink and heist
-tries to unfuck the designs.dm
2017-01-12 23:03:40 +02:00
LordFowl
13ac6c9351 Plenty'o'fixes (#1478)
Nerfs blob rollercoaster of death by making it so that blobs cannot interact with the mobs inside of other blobs.
Replaces blob's gibbing mobs with husking humans, merely killing borgs, and gibbing everything else.
Makes flamethrowers modestly more effective versus blobs - a consistent source of minor AoE damage.
Makes blobs more aesthetically pleasing.
Distinguishes the main core from the aux cores slightly more.

Fixes #1426
Fixes #1427
Fixes #1432
Fixes #1461
Fixes #1464
Fixes #1471

Modifies BFG's to be more like actual BFG's.
Fixes Industrial IPCs being able to select Baseline IPC screens.
Fixes several baycode company names to fit ours in guns. Changes several of our guns to fit Baycode's naming paradigm.
2017-01-09 01:04:36 +02:00
skull132
a78209d2e6 Fix whitelists (#1411)
Sending non-text will never create issues anymore.
2017-01-07 17:37:02 +02:00
Lohikar
bd9b5c1aea Fixes #1396 (#1399) 2017-01-05 23:29:09 +02:00
Lohikar
cef746cd6d Misc fixes (#1370)
changes:

bugfix: "Fixed formatting of forms when held up to a security camera."
spellcheck: "Fixed grammar error in IA and CE's headsets."
Fixes #1196.
Fixes #1358.
Fixes #1376.
Fixes #1347.
Replaces some BYOND text macros with spans.

Issues:

M'sai's preview image does not work (missing image).
2017-01-03 01:54:30 +02:00
LordFowl
bc8871ac2b Shells and Periphery (#1327)
Adds Shells. Adds tags. Adds IPC subspecies. Adds HK-47's. Does not add IPC construction.

Beyond the obvious review of shells, the exact stats of the IPC subspecies need review. They were largely an afterthought, and quickly overshadowed by the shell project.
2016-12-28 02:23:26 +02:00
skull132
22c43472ae More Merge Fixes (#1304)
* Fixes SQL saving of hex numbers
* Removes completed TODO-MERGE notes
* Changes one instance of Galactic Common to Ceti Basic
* Renames instances of blind.layer to blind.invisibility (as is proper)
* Fixes the SQL schema some more
* Implements pAI saving
2016-12-26 02:34:29 +02:00
skull132
24258106da SQL Saves - Season 2 Episode 2 - The Fixening (#1286)
Update the schema
 Modify player_preferences and character related tables
 Readd the incidents + missing CCIAA tables to it
 Fix loading
 Fix saving
 Make it impossible to edit character name after a while
 Sanity check so you cannot enter without a valid (saved) character
 Fix New Character button
 Remove debug messages

Fixes #600 
Fixes #588
2016-12-25 00:56:36 +02:00
Alberyk
b247ba78a4 Adding socks (#1284)
The long waited sock update;

Socks are being added as another underwear like option, with some exclusive ones for females. Only humans (and squish) can have them atm.

Also, I am nearly sure this will work.
2016-12-24 04:28:43 +02:00
LordFowl
51bd200d7c Porting Apollo Infractions Computer (#1033)
Ports Apollo's infraction's system, creating a permanent criminal record for every character. Every minor or medium infraction accrued over the course of a round is added to the character's permanent security record which is available at vanilla records councils. Antagonists are automatically exempt from this process, and players can exercise control over what charges they consider canon or not.

Brigging a person is now dependent on the criminal sentencing computer, which reads a person's ID and applies a brig timer automatically for the charges selected. Personnel without ID's will have to be brigged manually.
2016-12-23 01:00:04 +02:00
skull132
1bf9e6a389 Fix all the things
YAAAAY!
2016-12-15 14:22:08 +02:00
skull132
ff7f93cbd8 Saving + Updating + ALL THE THINGS
Everything. Absoloutely positively everything. Fuck.

Hey, it compiles now, doe!
2016-12-11 21:44:35 +02:00
skull132
7925063160 SQL Saves - Sanitization
Everything is now proper good sanitized!
2016-12-10 19:48:00 +02:00
skull132
cc1d254b6a Partially implement loading
TODO: sanitization
2016-11-21 01:01:40 +02:00
Techhead0
bd9ae18d63 Fixes #11991 2016-01-16 13:23:42 -05:00
Techhead0
77ecaac36b Quick fix for #11772
Changes character setup to use species' bodytypes to determine hairstyle availability.
2016-01-07 17:01:25 -05:00
GinjaNinja32
a56597a3c5 Merge pull request #11823 from PsiOmegaDelta/151230-MapTweaks
Fixes.
2015-12-30 18:48:44 +00:00
PsiOmegaDelta
7e58375e4f Removes a debug line in the character flavor setup.
Fixes #11831.
2015-12-30 18:25:03 +01:00
PsiOmegaDelta
a85f408c29 Re-fixes skin tone not displaying the proper value when being edited in the character setup. 2015-12-30 12:16:16 +01:00
Jon
5e73b92bd4 Fixes the general flavour text field.
The field was blanking each time it was opened to edit.
2015-12-21 09:13:46 +01:00
Jon
d890a4ce30 Removes the else to properly for the switch statement, meaning that it no longer wipes your flavour text/thinks you're opening the general slot ever time. 2015-12-17 17:38:34 +01:00
PsiOmegaDelta
5c8516e2b7 Transfers language shortcut keys from per character setting to a global one. 2015-12-05 13:01:51 +01:00
PsiOmegaDelta
e40246e9df Character setup tweaks.
Adds client verb to access the character setup screen from anywhere.
Moves name validation to species level, making it possible for IPCs to have numbers in their name.
Adds gender validation, also adds support to add neuter/plural genders in the future if ever desired.
Now sanitizes preferences before applying them to a mob.
Fixes #11433.
2015-11-11 13:50:22 +01:00