* Adds preference to control multilingual behaviour
Examine mode preference should persist across reconnections to a single round
Still looking into how to properly get these to go into the savefile
* typos
* Better notifications
* Add buttons to del/move tabs in edit mode
* Add a <span> to emotes
* Fix duplicate IDs in VChat and add more logging
* VChat: Redone chat output in Vue.js
* Ported tg asset cache
* VChat DME Update
* Replace \image macro with bicon()
* NanoUI Subsystem Fixes
Don't do this, the asset subsystem does this for you
* Allow narrate/globalnarrate shenanigans
Allows HTML if your entire thing is HTML
* Disable bicon() icon object cache, and create text tag cache
* Ore Scanner is written incorrectly
Only revealed by vchat
* Fixes 2 VChat bugs
* Underline links in VChat
* Fix LOOC color
* VChat Improvements
Hopefully, anyway.
- Arbitrary font size setting
- Line height setting
- Multiple crush settings
- Rewrote how tabs work hopefully for performance
- Hidden messages are actually put elsewhere
- Attempts to correct chat backlog restore on rejoin
* Surgery steps to use <span>
* Some VChat Tweaks
- Chat remains between client reconnects if your client didn't close (so things like using the reconnect button, or autoreconnects at round end when that feels like working)
- The client doesn't send pings to the server, the server sends pings to the client. This fixes AFK measurements for AFK kick purposes.
- Turn latency indicator into a green/red indicator to show if you're connected, and when clicked will perform a one-time ping (and block doing it again for 10 seconds). It will display '?ms' if it never got a reply, or '999ms' if it did, but it was over 1s.
* Include date in filename for VChat log save
* Merge pull request #6767 from Cyantime/patch-2
Change chat export naming scheme
* Adds VChat tab saving
Saves every time you enter/exit edit mode. Persists between rounds, VChat reloads via verb, etc.
* Fix chat exporting when someone has used unicode
Only affects clients still using 512
* Use CLIENT_FROM_VAR for ease of code reading
* Update code/modules/client/asset_cache.dm
Co-Authored-By: Novacat <35587478+Novacat@users.noreply.github.com>
* Fix runtime when client disconnects before vchat loads
* Fix polaris version of command reports
* Fix LOOC color in oldchat
* Put some styles in various adminpm messages
* Round info and advanced who spans
* Fix missing tag-end
* Maybe fix images for linux and statpanel but also doom everyone
Co-authored-by: ShadowLarkens <ShadowLarkens@users.noreply.github.com>
Co-authored-by: Novacat <35587478+Novacat@users.noreply.github.com>
Ported from https://github.com/VOREStation/VOREStation/pull/6451
Code done by Aronai
Adds IP reputation checking to detect Tor, proxy, and VPN usage and block it if so configured.
It's disabled by default, but if enabled the default settings are to block all VPN/Proxy/Tor to connect unless the player has been a player for 5 days on a 'normal' connection so that people who legitimately sometimes use a VPN for *reasons* can continue to do so. You can also have it check reputations and just log bad ones, without disconnecting the users.
Whether or not it allows 'existing' players, the length of time they must have played, what's considered a 'bad' IP score, etc, are configurable. You **must** put an e-mail address if you use this, otherwise the service will likely ban you. This is the e-mail address they will send e-mails to if you're performing too many checks or they need to speak to you.
Adds config options, here's a paste from the example config:
```
## IP Reputation Checking
# Enable/disable IP reputation checking (present/nonpresent)
#IP_REPUTATION
# Set the e-mail address problems can go to for IPR checks (e-mail address)
IPR_EMAIL whatever@whatever.com
# Above this value, reputation scores are considered 'bad' (number)
IPR_BAD_SCORE 1
# If you want the people disconnected. Otherwise it just logs. (present/nonpresent)
IPR_BLOCK_BAD_IPS
# If players of a certain length of playtime are allowed anyway (REQUIRES DATABASE) (present/nonpresent)
IPR_ALLOW_EXISTING
# And what that age is (number)
IPR_MINIMUM_AGE 5
```
As you can see, it's off by default, so if you're a downstream this won't change anything for you unless you decide to turn it on. If you want the features, just copypaste the new config lines out of the example and uncomment IP_REPUTATION.
Downstreams can replace the /client/proc/update_ip_reputation() proc with your own, if you'd like to substitute your own service! Just set the client's ip_reputation var at the end of your proc.
* Ports the supermatter grenade, supporting code
* May or may not make movement seem smoother
* Fixes the Sleepy Ring
* Partially ports the GLOB system
* Fixes the bug(s) that allow meat bodies to have metal brains
* ports VOREStation/VOREStation#4165 - i forgot to check if advanced who was a thing here
* Optimizes supply UI
* Transfer shuttle grammar fixes
* Fixes borked E and W fish sprites
* Fixes incorrect ETA in crew transfer announcement
* Ports descriptors from Bay
* Add files via upload
* Removes Noble Defines
* Mech Mini 'Revamp'. Will need playtesting. (#5480)
* Exosuits are now capable of holding more equipment, of specific types.
* Tweaks regarding feedback in staffside thread, other concerns.
* Tweak to be more consistent. Why did the Odysseus have two universals. Tweak to weapon restriction on Med - > Odyss
* Weapons only fit in universal combat slots.
* Adds smart magazine, magazine functionality
* Adds a new subset of grenades that shoot projectiles
* Low alpha now makes HUDs and tooltips not show up on you
* Fixes a UI bug with emptying currently-open bags into smartfridges...hopefully. (#5515)
* Update smartfridge.dm
* actually indicates which line solves the bug
* Adds a whole bunch of Exosuit weapons and other miscellaneous parts.
* Minifrags now use the small fragments mainly as they should.
* Iced beer no longer freezes you to 3 degrees C, which is enough to seriously burn a Skrell. Seriously, that's weird.
* Touch stuff in reference to responses.
* NanoUI now processes again
* Initial Work: Manifest, Newsfeed
* Adds newscast viewing, manifest
* Cartridge devices
* Template progress
* Med records, Sec records, Emp records
* Cartridge work part 1
* Cartridge work: part 2
* Power monitoring console
* Cartridges have persistent, internal data
* Code to load element-specific data upon request, instead of serving all relevant data at once
* Janitorial Supply Locator
* Refactor crew manifest to a separate file
* GPS cartridge
* Reorganize GPS to proper organization, important comments
* Supply cartridge
* Status display access
* Merc blast door controller
* Appeases travis (Round 1)
* Appeases travis (Round 2)
* Headset sprites are now on the default ear, which is left
* Cleave changes, attack code cleanup
* Catching is no longer guaranteed, accuracy code is more general
* Adds a Neural implant for future implementation. Promethean brains have been updated to fit it.
* changelog
* Robots can attack things again
* Might help with air subsystem lag
* Ports the spinny throwing animation from Bay
* Cult heal modifier no longer does Shit-Tons of agony. Does mediocre agony on non-cultists.
* Defines.
* Headset sprite tweaks
* Shield Drone no longer auto-fails with Energy Relays.
* I'm an idiot.
* PoIs can be rotated in increments of 90 degrees
* Might fix the server startup error_handler runtime
* Cult Girders are back to being proper.
* Submaps can now be rotated to any cardinal direction (South is default)
* Should fix another runtime with tools
* Buffs the Vox
* Removes debug code (Yes, I'm an idiot)
* Ready for merge
* Fixes some bugs tangentially related to Vox code
* Ports /vg/ instrument frame work, adds client based sound pref
Also shifts sound files which is 98% of the bulk here.
* Helmets now show only certain hairstyles
* fixes the trailing tag, I think
* Scrubbers no longer automatically scrub phoron (#5512)
* adds manual changelog
* Adds new set of cyborg sprites for medical/science/default/security/combat (#5546)
* Refactor cargo trains, they're just normal trains now. Adds the Quad, and re-enables/fixes the Space Bike!
* communicator_header.tmpl now correctly includes Body
* Adds tails to Unathi rig suit sprites (#5551)
* supplycom/control drops the correct circuit
* Emags have an effect on cargo consoles
* The cybersuit is now a space suit.
* Map Bugfixes
- Fix for mislabeled c_tag cameras, first deck
- Fix for mislabeled c_tag cameras, second deck
- Fix for poi crashed containment shuttle mapping issues (terrain generation)
- Fixed wrong floor type on skipjack
- Fix for scrubbers pipe, central substation
- Fix for air supply pipe, chapel
- Fixed scrubber pipe, Engineering Drone Fab
- Fix for air supply pipe, Prison Wing
- Removed redundant supply and scrubber pipe, Security Auxiliary Dock
- Fix, Fore Aux Dock airlock pipe.
- Fix air supply pipe, library
- Fix, scrubber pipe, coffee shop
- Pipe fix, Medical maint
- Fix, supply pipe medical secondary storage
- Removal, redundant supply pipe, cargo maint
- Fix, virology scrubbers pipes
- Fix Xenobio and Xenoflora missing atmos connection to the main outpost
- Fix, missing atmos connections between Main outpost telecoms and main outpost atmos
- Fix for missing power wires, HoS Office, Warden Office, Heads of Staff Meeting Room
- New, random mouse spawner
- New, random mouse spawners added throughout maintenance on the station (maybe too many, maus station 13)
- New, 30 sheets of lead added to engineering
- Fix, POIs should now be rad protected and characters won’t be affected by the radiation event
* Fixes Lead Walls (#5562)
A material's ``radiation_resistance`` was never considered for calculating a wall's cached resistance to radiation. This fixes it. There is another issue involving r-walls not being better at stopping radiation than their normal-wall counterparts made of the same material but fixing that involves a lot of number adjusting to avoid the SM engine from getting twice as protective.
* Yet Another Circuit Update (#5549)
* Circuit updates, adds new components, improves printer, new assemblies.
* Finishes powernet circuit.
* Adds wearable assemblies.
* Finialization before merging with GLOB port.
* Finishes circuit update, hopefully.
* Forgot to undo map.
* Removes debug output.
* Readds size traits
* Signal pistol can be reloaded (#5566)
* Makes Blobs more useful.
* Rig and Spacesuit additions
- Added the 'military' Rigsuit from Bay.
- Added 'pmc' rigsuits
- Added exploration and pilot voidsuits along with alternate sprites (alternate sprites done by Naidh)
- Addition of suit cyclers for exploration and pilot voidsuits
None of these suits are currently accessible in game outside of admin bus. Currently only the pilot voidsuits have other species sprites. Exploration suits are missing sprites for Teshari (Naidh made some for their alternates but I have to add them) and the rig suits are human only. This is to be fixed in the near future, just wanted to get the make workload actually in the game first.
* Dermal implant doesn't cover hair
* Fixes a couple of tool related oversight/runtimes
* Fixes hand and leg cuffs
* Technically adds the Ore Redemption Machine
* Update combat.dm
* Boot knives fit in boots
* Adds tails to Unathi rigsuits (again)
* PoI fix
* Skrell names no longer contain spaces
* Descriptors now properly respect species differences
* Make the Statue NOT entirely immortal.
* Psychiatric Medication Fix (#5588)
* Psychiatric medications are faster when ingested
* Psychiatric med fix
* Updates changelog
* Tweaks emitters and Pacman
* Adds the Biopsy Scanner to the Surgery Kit (#5589)
* Adds the Biopsy Scanner to the Surgery Kit
Since it's actually used in a surgical operation, it should proooobably be in the kit. Iunno if the kit is really used here aside from antag shuttles, but they might as well have it.
* Added a missing comma
Missed a comma, might be what's causing issues. Iunno. It worked flawlessly in dream-maker.
* Adds some Holy drinks, and Promethean-safe drinks / acclimators. (#5574)
* Adds some Holy drinks, and Promethean-safe drinks / acclimators.
* Carbon + Water + Oil = Sludge
* TRUEFALSE & * removed
* Be Smart about damage things.
* Don't spawn things in Null please.
* Adds a generic proc to the mining vendor to add custom / blank entries.
* Keys now actually exist again.
* Species item slowdown changes
* Pose now shows up under descriptors
* Fixes Circuitry Glasses.
Button in HUD should work now.
* Phase rifle size correction
* Should fix the new bugs with webslinger spiders (#5612)
* Hyposprays can now have different sounds
* admin helps, but working this time.
* handle issue, GLOB staffwho
* admin list seems bork'd cleans up feedback messages
* Fixes grabs breaking defined mob pixel offsets.
Yeah.
* Custom RIG Framework (#5613)
* Framework for Custom RIG sprites.
* Fixfix
* line ending
* Text for handheld plushies when poked
Plushies now make sounds when poked. Squeak!
Ported from https://github.com/VOREStation/VOREStation/pull/4231
* Shotgun cycling animation framework
This adds the possiblity for empty sprites on all shotgun/pump/thing and for cycling animations.
https://cdn.discordapp.com/attachments/407267031562453032/488751327531368481/2018-09-10_18-43-05.gif
This particular weapon was made by a friend so i'll wait for their permission before porting it in.
* Add an animated rifle.
Nothing is particularly impressive except the animation.
* Fixes some bloodloss bugs
* Move almost everythign food related into the kitchen module.
Not moving reagents and tools.
* Minor issues fix.
* Remplace sprite hammer with pickaxe
This particular hammer had been sitting 'waiting for sprites' for 4 years at least. Could be a lot more really.
Fixeshttps://github.com/VOREStation/VOREStation/issues/4183
* Fix mislabelled posters.
https://github.com/VOREStation/VOREStation/pull/4310https://github.com/VOREStation/VOREStation/issues/3597
* Remove kobold.dm
This file has no sprites and is used nowhere. It does have some kinda cute emotes but without sprites it's useless and has been since 2017 and maybe much longer. I haven't found any references of it's origin either.
~~maybe virgo will do sprites i dunno~~
* Fix yes emote not working correctly.
It's a lazy fix but it works.
* Fixes chem master dumping reagents.
Previously, if you used a bluespace beaker and transferred all of it's contents, the chem master buffer would silently drop all of those chemicals without warning.
* Fixed smes terminal construction requiring more cable than used.
* Fixes laptop blocking grown adults.
* Fixes several typos with oxygen_pump.dm.
* Fix the condimaster not working.
Previously, you simply couldn't make any condiment using this machine. Now you can. There was just missing template which is back in with this PR. (Thanks aronai.)
This means you should consider remplacing it in your kitchens.
* Remove intensity from chemistry machines.
* Add a noise for mining scanners.
This should affects all devices using it too.
* Prevents people from HREF exploiting around the R&D console.
* Lock has a check already, so remove that.
* reeeeeeeee
* Fixes missing sprites when excavating rocks
* Xenoflora and Xenobio House Move
- Moves Xenoflora and Xenobio stationside, on first deck. Leaves the old labs still up planetside for the time being.
- Minor bug fixes, missing lights, mislabeled lockers in robotics, floor decals.
* Changes << to to_chat at request.
* wax staxs
* Fix plastic ashtrays only holding one butt. Now they hold 4butts.
jeez bill.
* Move surgery caps into their own selection.
* Fixes maploading
Imagine you're on the last iteration of this loop, you've done the final column of X coordinates and you're going to set maxx.
Would you want to set it to where you are now, the final X column... or would you want to add ONE MORE beyond the template size for some reason then set it to that?
This bug causes all templates that are the size of normal maps to fail to initialize any atoms if your template is the size of your normal maps, because it tries to obtain a square of size minx, miny, minz, maxx, maxy, maxz to initialize, however maxx is nonextant because it exists outside the bounds of the world. It also causes all submaps to initialize an additional column of atoms twice, or not initialize any if they spawn against the right edge of the map.
* Graves (#5622)
* Adds support for closets storing closets, and graves
* More Grave Things
* Chnglog
* Polaris Vision Tweaks
* Fix a couple of ticket bugs
Don't show admin character names when they reply, and this proc appears to take different options on tg, so was fixed here.
* Prevent people from removing papers from any distances.
* Removes maintenance access from cleanbots
This should stop them from wandering into maintenance never to be seen or heard from again.
* Remove very annoying midi tools
* Magazines improvements (#5666)
* Give sounds to emptying magazines
* Clear some trash in the saber magazines
* The magazine NOW behaves correctly.
* The second half and more casing noises.
* Fixes map and makes everything compile.
Adds the PARANOIA_LOGGING setting to config.txt (and PANIC_BUNKER which was missing for some reason) and updates example.
PARANOIA_LOGGING (also available as a verb for admins in Server) begins notifying admins of any 0day byond accounts, or users who have never joined before. For when you don't quite want to panic bunker.
Also makes this information available in player panel. Requires SQL connection.
Removes the dynamic setting of preload_rsc, because BYOND does not appear to respect it if it's not compiled in, and the dynamic nature of it is unused to my knowledge. If you need to change it, you can change a define in _compile_options.dm
This should now properly set it to '1', which should load all the resources at once, which might make some significant slowdown when first connecting, but should be preferable to constantly getting mini-lags when moving to new areas or hearing new sounds (like when getting shot at!).
Adds a config option MENTORS which sets the variable config.mods_are_mentors
Adds a rights level of R_MENTOR which gets msay, private message, aghost, notes, and a new proc for checking for new players (requires database support).
If the confic option for mentors is set then
the ckeys listed in moderators.txt file will instead be set as mentors, you can still make moderators by adding them in admins.txt
staffwho will show Mentors instead of Moderators as the heading above the listing of non-admins.
Also: Players now get a message gently reminding them to click the name of the staff member to reply instead of ahelping over and over.
Mice can no longer open airlocks.
Mice can no longer strip items from humans
Mice can no longer put other creatures into disposal units (though they can still climb into disposal units)
Message for when mice crawl into vents removed. Mouse nibbling message only displayed to observers half the time.
Toggling these preferences in-game will update your savefile. Meaning that your preferences will persist between rounds.
Added some savefile_version updating stuff. It's pretty crude. If you're changing any of the savefile stuff just ask and I can change it/help.
Removed some unused client vars
Ghosts no longer hear ambience. Simplified ambience code.
Simplified lobby music code. It will no longer cause a massive queue of events (which would eventually balloon in memory use)
Moved ooccolor and sound_adminhelp back to prefs. It's easier and allowed me to remove the setupclient() stuff completely.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5143 316c924e-a436-60f5-8080-3fe189b3f50e
The number of strikes a person gets is a define so hosts can modify it to their liking (I should probably move this to a config option but I can't be bothered to test it again). It defaults to 3 strikes, on the third strike you're out. It'll autoban you for 10 minutes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5123 316c924e-a436-60f5-8080-3fe189b3f50e
They include such procs as sanitize_integer(num, min, max, default) which will check num is a number, round num to make it an integer, then check if it is between min and max (inclusive). If it fails the bound-checks it will return default. There are others, have a look.
PERSISTENT PREFERENCES: Every ckey which connects to the game gets its own persistent /datum/preferences datum.
It is archived in var/list/preferences_datums = list("ckey" = datum)
At connect it is automatically associated with the client defines.dm (or a new one is created if it can't find an archived prefs datum). This means clients will ALWAYS have a var/datum/preferences/prefs which references this datum. So you can use it without checking if(client.prefs)
This has simplified only a few bits of code. It will however, allow us to make preferences like see_deadchat ghost_ears etc, persistent. So they will not reset when you DC.
SAVEFILES: Changed the player savefile code a lot. Hopefully I've not fucked it up too much. Every single variable loaded from saves is now sanity checked using the new sanity procs. This should help prevent savefiles becomming obsolete by sanitizing input to meet current requirements, without deleting all the ok variables and making you start from scratch >_> NOTE: I still need to sort out the savefile version stuff. I'll probably figure it out before the server updates anyway. It sees to be fine without it.
You can no longer choose your blood type. It is randomised (with each bloodtype having a realistic probability of occuring). This is to make blood analysis (detective/medical) less pointless. It is chosen as soon as you connect. It remains persistent throughout each round so you won't be able to change it by logging in/out over and over.
Replaces some copypasta code with is_afk() (still a fair bit to do)
There are new hyperlink shortcut things. _src_=vars will direct your hyperlink to viewvars. _src_=prefs to your preferences datum. (These are the only way to access those bits of code via links). This means that the overall amount of operations in almost every Topic has pretty much halved and is much prettier.
Replaced and removed adminplayervars from datum/admins/Topic. It was superfluous. They now all point directly to the viewvars code using _src_=vars
Removed the changelog popup at round start. Instead a button on your game-window will glow white if there are new updates. To peruse at your convenience. This will speed up connect times.
Removed the AFK_THRESHOLD define. It is integrated into is_afk() now.
TODO: remove the prefs stuff from mobs and clients and update code to use client.prefs to access that info.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5121 316c924e-a436-60f5-8080-3fe189b3f50e
Moved fun (admin-event stuff) up to badmin rank.
deadchat visibility defaults to on
removed update_admin()
fixed associate so it won't accidentally add people to the admins list multiple times.
toggling ooc on/off is now available to any admin regardless of rights.
mass deletion is now restricted to DEBUG or SERVER flags
ADMIN, SERVER, DEBUG can all use the delete verb
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5032 316c924e-a436-60f5-8080-3fe189b3f50e
- Fixed pulse rifle, energy sword, blackhole and mob spawning
- Fixed 'reload admins' not properly updating the 'admins' list, which made adminwho fail, along with some other things.
- Fixed a bug, which prevented admin from even being loaded properly in some circumstances, in the database admin system.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5027 316c924e-a436-60f5-8080-3fe189b3f50e
Added a activate held item hotkey
Added intent hotkeys to 1 2 3 and 4 keys.
hotkeys-help for details.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4759 316c924e-a436-60f5-8080-3fe189b3f50e