Commit Graph

78 Commits

Author SHA1 Message Date
Whoneedspacee
5b89dea70f [Ready] The Virtual Reality Hub (#42879)
About The Pull Request

VR sleepers now lead to the VR Hub, a place with a bunch of portals that lead you to other areas, or just has chill stuff like a bar. Includes portals to all the old vr maps, the megafauna training simulator map, a soon to be minecraft map, and my crappy game runner where you run away from falling tiles and fight to be the last person to survive. Merges murderdome and syndicate trainer into the vr hub map so they spawn every time with vr. Recall portals now can have multiple exits to support the old vr waypoint system from the hub. Also moves a lot of stuff around in the files to make it more organized. There's now also a ghost role that can access VR as well with infinite spawns.

VR NOW HAS A CONFIG OPTION SO ENABLE IT OR VR WILL NOT WORK.
Why It's Good For The Game

Being a ghost is boring for most people, it's nice to have a place for people to hang out rather than just leave the server. This is also a nice place where people can put gamemodes they're testing or other fun little minigames that can't be main gamemodes. VR currently is not used by really anyone so I don't see anyone getting bothered by this PR as well.
2019-04-22 12:16:11 +12:00
ShizCalev
d1c3ac84ba allows byond members to bypass pop cap (#43458)
* allows byond members to bypass pop cap

* fix

* new line
2019-04-03 10:20:03 -04: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
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
ShizCalev
2c9b6c4d44 [s] adds logging to cloning 2019-03-18 16:18:02 -04:00
kevinz000
92983243c5 panic bunker message config 2019-03-17 14:41:35 -07:00
oranges
c9d2b8c5f8 Logging tweaks and fixes (#42817)
* Add a virus log, plus a log for facehuggers

Logs each infect event and contains detailed descriptions of the virus

I also added a log message for printing virus culture bottles including
who printed them

Finally i tacked on a change to adding a game log entry for facehuggers
because why not

* Further logging fixes and updates

Medbots now combat log

combat log no longer tries to run keyname on an object because that
doesn't make much sense

* Dead say no longer logs twice

* tabs to spaces
2019-02-26 21:13:36 +11:00
zxaber
aba756ea58 Adds a max length config option for AI law upload boards. (#42700)
* Adds a length check for freeforms, 250 char cap

* added a define as requested.

* Actually it's better if it applies to all boards

* Now it's better good

Also added a max to the Asimov board that was missing it before.

* Better defined

* Undefining defines

* Config code

* Adding config line

* whoops

* Update AI_modules.dm
2019-02-12 15:18:17 -05: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
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
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
Jordan Brown
db68cd1f9d Leverage the TGS4 chat tagging system for the new game message (#41697)
Allows specifying the tag to send the game announce message to on TGS4

Needed by downstreams
2018-12-01 15:33:20 -08:00
Kyle Spier-Swenson
08ff95180a Allows floats on all config entries that have no valid reason to disallow them (#41624)
* Allows floats on all config entries that have no valid reason to disallow them

Needed for run speed changes, but I'm allowing them on any config that has no bonafide reason to disallow them.

The criteria used was "Is there a technical reason why floats should not be allowed or is there a technical/logical reason why floats would never mean anything more compared to a integer".

For instance: The cloning timer was made to allow floats because 0.5 ds increments are valid at our current fps and more would be valid at other fpses. Yes, from a practical standpoint nobody would ever want to have cloning be valid for 30 minutes and 50 milliseconds after death, but from a technical standpoint there is no reason not to let them.

* Update general.dm
2018-11-22 18:33:53 -05:00
XDTM
2ddf3609fe configurize 2018-10-26 16:49:59 +02: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
d05a25d43b changed config to use seconds to be more user friendly 2018-10-18 17:48:27 -04:00
ShizCalev
b3e4cc3dc2 Automatically reopens position slots of mobs who suicide at roundstart 2018-10-17 19:57:15 -04:00
vuonojenmustaturska
6f26dfd1df Overhaul mecha logging (revival of oranges's PR) (#40664)
* Overhaul mecha logging

Removes user access to the log, not needed and that log can get large

removes all the internal log vars and passes all logging through to a
new log file, the mecha log

* somehow this makes it compile

* add it to the config too
2018-10-05 09:59:28 +13:00
Iamgoofball
f735a7d34d [READY][PAID CODE] economy PR (#40312)
With the power of CAPITALISM AND ECONOMY, you too could be This Guy.
2018-09-23 02:50:51 -04:00
Potato Masher
62b15a2ee6 I bless thy code with a config, so that this feature may arise once again 2018-09-09 23:40:40 -04:00
Tad Hardesty
00f61ac0aa Remove SSminimap (#39459)
Return of #37112.

@Carbonhell from Hippie reported an SSminimap crash on 512.1440 due to accidentally leaving the config on.

Nothing uses this subsystem, its maps look terrible, and it still after all this time is prone to crashes. If someone actually wants to start using these maps again they can just add the SS back in when they do that.
2018-09-05 23:15:29 +12:00
kevinz000
5f4b418eaa Movespeed Modification System (#39181)
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.
2018-08-09 16:55:15 -04:00
kevinz000
5b5e1ee577 Third time's the charm - Photography update: 7x7 cameras, photo logging with full metadata, persistent albums and wall frames! (#38944)
* Photography Update

* Pictures logged in their own /data/picture_logs folder rather than normal logs

* Pictures logged in their own /data/picture_logs folder rather than normal logs

* Photos broke, retrying

* Persistence stuff

* I'm almost done I promise!

* Persistence mostly working, compile, etc etc

* Persistence mostly working, compile, etc etc

* Remove something really not needed from the PR

* Prevents duplication

* default to off

* removes check tick

* increase slots in albums to 21

* Allows for singular loading

* Update camera_image_capturing.dm

* Addresses review

* Anturk

* Update camera.dm

* Update misc.dm

* Update datum.dm

* Update camera.dm
2018-08-01 14:52:41 +02:00
Jordan Brown
32a2221302 Adds BSQL thread limit to configuration options 2018-07-24 14:46:36 -04:00
Patrick Chieppe
308bfdb1ed Telecomms chat logging (#39276)
* Add telecomms logging to a new file (telecomms.log)

* Add LOG_TELECOMMS config option
2018-07-24 22:38:25 +12:00
Jordan Brown
d210adbf1a Adds BSQL (#38323)
* Add BSQL library v1.1.1.0

* Modify dbcore to use BSQL

* Add missing QDEL_NULL for connectOperation

* Moves BSQL_Shutdown() call to dbcore shutdown

* Fix passing the wrong argument to DBQuery/New()

* Darn it @Jordie0608. Fixes db calls without Connect check

No seriously please make sure I'm not breaking anything

* Queries with a null connection won't runtime

* Fix quoting

* Fix mistake

* Update BSQL to v1.1.2.0

* Update BSQL DMAPI to v1.0.1.0

* Fix connection instatiation

* Does the smart thing in regards to quoting

* Fix braces

* Update BSQL to 1.2.0.0. DMAPI to 1.1.0.0

* Execute/NextRow/MassInsert now have async parameter

* Build BSQL for tests

* Add missing apt source

* Def still need gcc-multilib

* Wut

* Revert "Wut"

This reverts commit d7c98a9a6b27f6db03e9f5cc534650d59d018048.

* Try this then

* Could it really be that simple?

* Literally running out of ideas here

* Update BSQL to v1.2.1.0 DMAPI to v1.1.1.0

* Update BSQL travis version

* Nothing about this makes sense tbqhwyfam

* Whoo boy

* No idea why this isn't working tbh

* Absolute madness

* Ahhhhhhhhhhhhh

* *deep breath*

* "though yet again i was frustrated by failure"

* Add BSQL to Dockerfile

* Pass through MassInsert async param

* BSQL to v1.3.0.0 DMAPI to 1.2.0.0

* Add timeout support

* Wait, something's fucky

* Wtf is this meme?

* Just get good lmao

* Just stop being shit lol

* Stupid verbose logging

* Remove verbosity

* Good god

* BSQL to v1.3.0.1 DMAPI to v1.2.0.1

* BSQL to v1.3.0.2

* Update BSQL travis version

* Update BSQL docker version

* Didn't mean to change that

* Strip connection information from debug logs and make it configgable

* Move this to where CONFIG_GET is defined
2018-07-16 17:05:41 +03:00
Jordan Brown
26b6fab1fe Merge branch 'pr-38604'
Signed-off-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2018-06-28 14:22:03 -04:00
AnturK
2322db30ba Moves divide occupations debugging information to a file log. (#38721)
* Moves divide occupations debugging information to a file log.

* Copypaste failure.
2018-06-27 20:58:00 +12:00
ShizCalev
89752866aa Merge branch 'master' into spellcheck 2018-06-26 16:43:41 -04:00
CitrusGender
501fd35cba Fixed cyborgs not getting their names at round start (#38675)
* fixed cyborgs not getting their names at round start
fixed cyborgs and A.Is being able to get around appearance bans

* Update job.dm

* Update silicon.dm

* goodbye unneeded config otpion

* Update game_options.txt
2018-06-24 21:55:13 +03:00
ShizCalev
ff532a4ca4 Spellchecks TGStation 2018-06-19 18:57:44 -04:00
Jordan Brown
d060e4e996 Antag reputation rewards are now configurable (#38077)
* Antag reputation rewards are now configurable

* Use keyed_number_list for antag rep
2018-06-02 16:48:19 -07:00
Jordan Brown
f988a13548 Adds config for monkey cap (#38165) 2018-05-31 13:30:49 -07:00
Jordan Brown
7df9cae3b2 Merge pull request #37896 from ShizCalev/statbus-memes
Provides a link to round specific logs/stats on statbus when the round reboots.
2018-05-18 11:13:10 -04:00
ShizCalev
70a69c5913 Provides a link to statbus & round logs 2018-05-17 11:59:35 -04:00
Jordie0608
d25762dddd query debug logging as a config option 2018-05-16 14:59:39 +10:00
KorPhaeron
cfe8df4d97 Finishes overflow roles (#37053) 2018-04-09 13:10:10 +03:00
MrStonedOne
455dfab442 Minor Refactor of click code. 2018-03-30 18:19:55 -07:00
Jordan Brown
feb929041b Merge pull request #36554 from Jordie0608/tbhthisisntreallyalegacysystemanymore
Adds config to allow ranks only from txt
2018-03-28 14:01:50 -04:00
AnturK
90a7bfdf15 Adds load away mission verb (#36568)
* Adds load away mission verb

* You seen nothing.

* Is this more readable ?
2018-03-26 22:33:45 -04:00
Jordie0608
d3db8970e7 adds config to allow ranks only from txt 2018-03-20 15:04:42 +11:00
Kyle Spier-Swenson
b43355e98a Fixes client version config not working
1, the number is non-inclusive, so if you want to show a message to 511 and lower, you set it to 512 meaning this should have been `DM_VERSION-0`, and 2, if i want to limit it to a version higher then the server's version that is something that should be allowed.
2018-03-11 20:44:56 -07:00
Qustinnus
5140cff38c [reviewpls] Adds moodlets to the game - [Please give suggestions for trait additions in comments] (#35475)
Floyd / Qustinnus (Sprites by Ausops, Some moodlets by Ike709)

add: Adds mood, which can be found by clicking on the face icon on your screen.
add: Adds various moodlets which affect your mood. Try eating your favourite food, playing an arcade game, reading a book, or petting a doggo to increase your moo. Also be sure to take care of your hunger on a regular basis, like always.
add: Adds config option to disable/enable mood.
add: Indoor area's now have a beauty var defined by the amount of cleanables in them, (We can later expand this to something like rimworld, where structures could make rooms more beautiful). These also affect mood. (Janitor now has gameplay purpose besides slipping and removing useless decals)
remove: Removes hunger slowdown, replacing it with slowdown by being depressed
imageadd: Icons for mood states and depression states


What this PR is

This PR adds a system that allows player to gain and lose moodlets based on events occuring to, and around them. These events then give the player a mood value based on what it is. For example a hug could give you +1 mood, while being stabbed in the eye with a screwdriver can give -5 mood. All these moodlets together determine the mood of your character which currently affects the following things:

    Movement speed - If you are very sad you move slower. Replacing movement slow from hunger. (hunger now instead affects mood)
    Screen blur - If you are sad you gain an overlay that slightly blurs the screen, increasing in severity as you get sadder.
    Interaction / do after speed - If you are sad or happy your interaction speed with things such as handcuffs is changed. with a 25% longer time if you are sad, or 10% shorter time if you are extremely happy.
    Hunger rate - You gain hunger slower if you are very happy.
2018-03-08 14:15:57 +13:00
Ashe Higgs
ab9e2e8902 Adds minor roundstart traits! (ala CDDA, etc.) (#35440)
* Roundstart traits

* Unspaghettifies night vision

* Fuck everything

* Issues patch
2018-03-02 13:39:44 +13:00
Sirenfal
937ad3afc7 Antagonist reputation system (#35485)
* Implement antagonist reputation system

* Cleanup

* Quadruple point values, maybe a bit underwhelming before

* Simple feedback changes. Waiting on input on a couple questions for the other requests.

* * Comment out unnecessary variable

* Half of the requested changes (testing in game pending, standby)

* Last set of changes. This should be finished now.

* Remove line causing a warning to fix Travis build
2018-03-02 13:38:49 +13:00
Jordie
23a45889ed Modernizes SQL admin loading (#35264)
* updates sqladmins with excluded flags and tempminning

* rank, editing and permission protections; json backup

* fixes

* reverted the wrong file

* fix slidecolor cascading and disabled switches not being sent in form

* removes debug uncommenting

* whoops this too

* commas fix + versions for changelog entry headers since 3.0

* actually account for can_edit_flags and use of @ with - or *

* fixes and rearrangement of admin > localhost > autoadmin precedence

* in case you want to not have autologin autoadmins
2018-03-02 13:38:26 +13:00
kevinz000
8ebc63d2f2 Randomized Station Time + Night Shifts 2018-02-20 21:59:44 -08:00
Leo
a2ccca5f96 All medal methods are handled on SSmedals as opposed to global procs and also have proper defines. Killing with a crusher grants special medals. (#35673) 2018-02-16 13:17:51 -05:00
Jordan Brown
30f3156ce2 Rename /datum/config_entry/var/value to config_entry_value (#34699)
This works around some vv-fu you can use to pass in a config_entry to a proc that reads the value var of some other datum. Byond is stupid enough to actually read it, so it must be uniquely named.
2018-01-24 16:40:28 -05:00
Cyberboss
5e961e23e7 Revert "[READY] Easy hosting of roundend sounds (#33618)"
This reverts commit 03e3dee35c.
2017-12-28 14:24:48 -05:00