Commit Graph

47 Commits

Author SHA1 Message Date
Erki
29fdefbd8e Fix SQL migrations (#7194) 2019-10-19 00:00:46 +03:00
Lady Fowl
f9334feb41 Client FPS Tweak (#7127)
Allows you to set your FPS via preferences
2019-10-18 23:37:44 +03:00
Karolis
c540d9d021 dark skin for reals (#7084)
This passed review with (#7035) let's get this.
2019-09-28 23:09:01 +03:00
Werner
612bb40e30 Removes the option to join as random job. (#6886) 2019-09-08 12:24:42 +03:00
Werner
7b6a759361 Cleans up the Database. (#6893)
* Cleans up the Database.

Changes the charset to utf8mb4
Changes the collation to utf8mb4_unicode_ci
Adds foreign keys to various tables that use the ckey
Cleans up various inconsistencies (key used in a ckey field, wrong dates, ...)
Changes the columns in ss13_cargo_items that hold json to JSON

* Corrects Migration Number

* Only drop tables if they exist.

* Attempts to please travis

* Moves another comment

* Moves the sol swords out of energy and into misc
2019-08-26 23:08:53 +02:00
skull132
190a34757d Fix migration 2019-08-07 22:43:49 +03:00
Lady Fowl
bb4007a912 Overhauls Custom Synthetic Code (#6803)
Loads custom synths from json or SQL as opposed to a txt file. Adds support for multiple borg sprites, ai chassis and custom ai hologram sprites as opposed to one sprite per player. Adds the ability to use custom pai sprites
2019-08-07 21:30:01 +03:00
Werner
5e1f7de096 Fixes Travis SQL Errors (#6813)
* Shut up Travis and do your job

* Let´s see if that shuts up travis aswell
2019-08-02 22:07:23 +02:00
Erki
9535f738ad Port TG's stickyban panel (#6806) 2019-08-01 10:37:23 +03:00
Werner
9f5a26d9ff Removes CCIA (#6678)
view duty log verb and changes the way their recorder works.

CCIA recordings are now written to the database once the interview is complete (if enabled) and printed out.
2019-07-17 22:39:31 +03:00
Erki
bd2d9a184d Better factions and contractors (#6493)
Intent of this PR: make factions actually matter.

How we're going to do this:

Make factions limit job choices.
Make factions have alternative loadouts that override job uniforms
Make factions be visible in the employment records.
Revert existing faction loadout options or put them behind a preference, in favour of new shit.
2019-07-16 00:21:34 +03:00
MarinaGryphon
0cd61f4f48 Adds Random Notes (#5644)
Adds SSDocs, which manages randomly spawned documents.
    These documents can be specified in a json file or in a database.
    Adds /obj/random/document and adds /obj/random/document to the loot pool of /obj/random/loot.

Actually adding the notes to spawn is up to loredevs. If there are no notes to choose from, /obj/random/document will leave a blank sheet.

The notes can have HTML in them, meaning custom CSS and images. We're giving the loredevs a good bit of responsibility here.
2019-07-13 17:50:19 +03:00
Werner
e21c130ae0 Adds the game_id to the connection_log table (#5839)
Adds the game_id to the connection log table and changes the queries to use parameters.
2019-01-12 21:22:19 +02:00
Werner
af0a4df520 Better antag tracking (#5816)
This PR moves the tracking of the antagonists from the char spawn to the assignment and removal of the antag status.

It should properly account for all antags that are added/removed via the add_antagonist / remove_antagonist verbs
2018-12-22 23:42:47 +02:00
Mykhailo Bykhovtsev
b23f17bc64 Fixing old/new bugs/runtimes (#5763)
Fixes #3410

Ranged hostile mob stop if they are in range of fire, instead of keep going to point blank range. They also try to get to person within 6 tiles, not point blank.

Hostile mobs also check if their target is in the view or not.

Fixes #4468

Fixes #2867

Fixes #2721

Fixes #2678

Character input limit in Security/Medecal records was increased from 1024 to 3027 for all fields, to keep it consistent with character setup records. Fixes #5766

Fixes Energy net turret sprites. Updates spawned ionrifle turret to allow for two modes, adds lethal turret sprite for ionrifle.
2018-12-16 15:23:42 +02:00
Werner
2447da3d6e Adds additional logging to figure out what causes NULL job entries in the db (#5494)
Adds additional logging to figure out what causes NULL job entries in the db
Adds logging of the alt_titles the chars join with.
2018-11-01 11:42:48 +02:00
Werner
e3560362d8 Only Announce Faxes if someone doesnt have their PDA linked (#5291)
* Adds the ability to announce a fax only if someone doesnt have their PDA linked,

* Added SQL migration of expansion of do injunctions

* Changes "warning" to "reprimand"
2018-10-07 00:18:38 +02:00
Karolis
4065e29e86 Vue.js UI implementation (#4868)
This UI is going to be more integrated with BYOND host objects. It's update principal is very different from nanoui's. It is based around state that is being synchronized with server and client (browser). Such synchronization has it's problems, like it can't handle rapid changes, what could cause client and server to become out of sync and client state to be discard.
2018-08-04 20:19:29 +03:00
Werner
4e63821d1e Adds a notification system (#4931)
Allows to set up notifications if a specific player connects.
2018-07-01 22:47:50 +03:00
Werner
aab67e5e2e News Loader Changes (#4788)
Some changes to the news loader to prep for player news.
2018-05-24 20:59:35 +03:00
Werner
6158575afc Load static lore news from the DB at the start of the round (#4618)
Converts the news network into a subsystem
Loads news from a database at the start of the round
No longer ties the PDAs to the tcoms system to access the news (which was broken anyway)
Removes the trivial news event
Adds the already existing virology / xenobiology containment events to the rotation
2018-04-29 22:47:30 +03:00
Werner
cfd1900ee4 Security Fines (#4634)
Allows security to fine criminals with the sentencing console
Prints a human readable copy of the charges and the applied sentence
2018-04-29 20:34:49 +03:00
Werner
ed504cbe20 Add a approval step to cargo_items (#4639)
Expands the cargo table to require the approval of items before they are displayed on the server, enabling the creation of a module in the web interface.
2018-04-29 17:35:06 +03:00
Werner
d4c2268c4e Poll Fix + Link (#4655)
Fixes the permissions required for polling / the button not showing up for devs.
Adds the option to display a link in the poll
2018-04-25 23:01:58 +03:00
Erki
be323e7fac Fixes final ticket logging bugs (#4643) 2018-04-19 22:42:43 +02:00
Werner
ad1833815c Adds a SQL migration to fix a oversight (#4623)
Adds a SQL migration to allow the path_old and suppliers_old in the cargo_items table to be nulled.
Sets their default to null aswell
2018-04-16 23:01:03 +03:00
Werner
a61801d80d Combines the ss13_admin and ss13_player table. (#4540)
Combines the ss13_admin and ss13_player table into one.

I kinda want to rewrite the entire backend logic since its somewhat dated.
2018-04-08 16:30:38 +03:00
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
Werner
8733d9b2ae Private Polls (#4488)
Allows to set poll results to private
2018-04-02 14:30:32 +03:00
Werner
d89798cf7e Various Cargo Improvements (#4435)
Implements #4434
The reason for the order can now be viewed in the cargo control application
Calculate the shuttle fee per order
It is now possible to pay for orders that have been approved by cargo before they are shipped to the station
A mainfest spawns in the crates
Schema Changes:
The supplier, path and amount columns have been retired and are no longer used
Instead the following columns will be used:
supplier - the short name of the supplier that will be used
price - the price for the items
items - the items and their variables

If you are storing the cargo items in the SQL DB, then you dont have to do anything.
They will be migrated automatically to the new format

If you are storing the cargo items in JSON Files then you have to rewrite the files to adhere to the new format.
A example file of the new format is included
2018-03-31 23:26:23 +03:00
Erki
18baa01d0a Ticket improvements (#4432)
Adds some features and fixes some shit:

Closing of tickets sent to Discord will now alert discord as well.
Adds a reminder period for tickets which starts after they're opened. It's intended to remind staff to close their tickets. Say, something like 10 minutes since opening sounds like a solid idea. If the staff who claimed it is offline, then all staff are reminded of it.
Adds the logging of all tickets to the database at the end of round. Sortable by staff closing, person opening, time opened, time closed, and round ID. This is primarily for Aboshehab.
2018-03-25 16:32:12 +03:00
Werner
24433b2e9f Adds a gui to create polls (#4429)
Also expands the API with poll related options.
It is a known limitation that options that have not been voted for are not returned by the api
2018-03-25 12:55:27 +03:00
Werner
089cc9de0c Saves the client version connecting to the server (#4273)
Saves the byond version and build of the client connecting to the server to the database.
2018-02-19 19:36:17 +02: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
97c1343189 Deletable mirrors and indexing for faster searching (#4026)
Makes individual mirrors deletable as per admin request.
Adds indexes for queries in isbanned() to make them roll faster.
2017-12-31 14:28:00 +01:00
Karolis
00ead7d560 Added webhook implementation of discord integration (#3748)
Adds ability to get server updates to Discord using webhook API, instead of complicated bot API. Simple config options make it a breeze to add / remove linked channels.
2017-12-23 23:56:20 +02:00
chaoko99
c0ee47579d Adds a preference to have an intent check for guns (#3653)
what title says
2017-12-17 11:37:16 +02:00
Werner
ff853542b1 Cargo Overhaul (#3221)
Changes cargo to be based on credits instead of items

The following is still ToDo:

 Test SQL Loading + Add flyway migration
 Add changelog
 Restore the PDA Application
2017-09-14 21:32:06 +03:00
skull132
ee503f015f aaaaaaaaaaaaa 2017-07-21 12:34:19 +03:00
Erki Meinberg
f541c68cc0 Saner mirrors (#3119) 2017-07-20 20:46:25 +03:00
Lohikar
42f91d8117 Remove privacy poll & other tweaks/fixes (#2863)
changes:

Removed the privacy poll as it is unused.
Observing no longer creates a new mannequin, instead fetching one from SSmobs.
Observer ghosts now have a description again.
Converted new_player.dm to absolute pathing.
Fixed a bad init on holomaps.
Removed a sleep from light fixture Initialize().
Added a queue length stat to the MC panel for Icon Smoothing.
Halved time taken to create lighting overlay objects.
Species & body marking lists are now sorted alphabetically.
Commented out calls to lighting profiler to remove overhead of string interpolation in some procs.
Blood dries instantly if present during mapload instead of setting a timer.
2017-07-01 21:53:39 +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
4678b8bbcc Implement signatures (#2098) 2017-05-27 12:39:22 +03:00
skull132
7039840323 Implements IPIntel, Panic Bunker, and custom access control (#2436)
What it says on the tin.

IPIntel and BYOND account age relating panic bunker settings from TG. Also implements methods for potentially tagging VM users. Ontop of all of this, creates a spiffy UI for admins with R_SERVER to adjust the settings of the entire suite at runtime.
2017-05-26 13:26:58 +03:00
skull132
b1b4ce00a8 Implement SQL migrations with Flyway (#1661)
Has a readme and everything.

Tables to be dropped with this:

ss13_customitems
ss13_bot_cache
ss13_feedback_archive
ss13_news
ss13_stats_ie
2017-01-29 21:14:58 +02:00