Commit Graph

2689 Commits

Author SHA1 Message Date
Jordie
a28de54405 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-04 20:48:17 +01:00
nichlas0010
2dfdab7001 Merge pull request #3708 from yogstation13/upstream-merge-41697
[MIRROR] Leverages the TGS4 chat tagging system for the new game message
2018-12-02 19:19:06 +01:00
nichlas0010
5cb6c75f8d Merge pull request #3725 from yogstation13/upstream-merge-41341
[MIRROR] [Ready]Desynchronizer
2018-12-02 18:10:24 +01:00
Nich
e4caf37956 Merge branch 'master' of https://github.com/yogstation13/Yogstation-TG into upstream-merge-41697 2018-12-02 17:00:44 +01:00
XDTM
ca72ca6758 Adds the Curse of Madness to wizard spellbooks (#41496)
* Adds the Curse of Madness to the wizard's spellbook

* anti-magic check

* Update code/modules/antagonists/wizard/equipment/spellbook.dm

Co-Authored-By: XDTM <heliumt@yahoo.it>

* Magic traumas + magic immunity prevents spellcasting

* feedback

* fix

* fax

* Added two new special traumas

* I'm not mad, everyone else is

* New minor trauma, godwoken gives holy

* stalking phantom trauma

* math

* heartbeat

* Custom message
2018-12-02 15:44:55 +01:00
XDTM
b208aa8f2b [Ready]Desynchronizer (#41341)
* Desynchronizer

* type

* Update code/game/objects/items/devices/desynchronizer.dm

Co-Authored-By: XDTM <heliumt@yahoo.it>

* Update code/game/objects/items/devices/desynchronizer.dm

Co-Authored-By: XDTM <heliumt@yahoo.it>

* Update code/game/objects/items/devices/desynchronizer.dm

Co-Authored-By: XDTM <heliumt@yahoo.it>

* Update code/game/objects/items/devices/desynchronizer.dm

Co-Authored-By: XDTM <heliumt@yahoo.it>

* Update code/game/objects/items/devices/desynchronizer.dm

Co-Authored-By: XDTM <heliumt@yahoo.it>

* fixes and cool text procs

* anti-abuse measures

* typery

* cooldown

* techweb salvage

* icon and visual effect plus bugfix

* let's not push runtime
2018-12-02 15:34:15 +01:00
coiax
906fada904 Adds the spontaneous brain trauma event (#41665)
cl coiax
add: Adds the Spontaneous Brain Trauma to the event pool. Sometimes your brain just goes a little wrong.
/cl

Brain traumas are !fun!, and even more !fun! than your appendix getting inflamed.
2018-12-02 08:35:43 +01:00
Jordan Brown
d61c037a35 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-02 00:32:33 +01:00
nichlas0010
09378a795e Merge pull request #3693 from yogstation13/upstream-merge-41664
[MIRROR] Makes pipe layers better, also some cleanups
2018-12-01 00:24:13 +01:00
nichlas0010
c24ab11bf8 Merge pull request #3660 from yogstation13/upstream-merge-40995
[MIRROR] [READY][VERYREADY][HOLYSHITITSSOREADY]Adds a new race: Ethereal (also adds wrappers for nutrition adjustment)
2018-11-30 22:52:21 +01:00
nicbn
c4648c9a82 Make pipe layers better, also some cleanups (#41664)
* Layered pipes no longer stick out of their tile, also vents and other
  machines will always be in the middle of the tile.
* Layer manifold now looks like an adaptor.
* Some pipe mapping helpers were made into macros so maintianing things is
  easier.
* Some unused icons were removed.
* A lot of icons were added, so that pipe layering looks better.
* Layer manifold renamed to layer adaptor and resprited to look more like an
  adaptor.
2018-11-30 22:43:48 +01:00
ShizCalev
b5156e3e42 Fixes missing decal icons, repaths food cleanables to cleanable/food (#41573) 2018-11-29 13:55:57 +01:00
Qustinnus
c00a94b80e Adds a new race: Ethereal (also adds wrappers for nutrition adjustment) (#40995)
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl

Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.

They have the following specifications:

    They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
    They do burn punch damage instead of blunt.
    They are weaker to blunt; especially when low on charge
    They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
    They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
2018-11-28 22:09:32 +01:00
nichlas0010
5fab1d5b93 Merge pull request #3645 from yogstation13/upstream-merge-41668
[MIRROR] Bandaid for the TGS4 Linux trusted mode bug
2018-11-27 12:50:12 +01:00
xmikey555
b5a673c812 Pirate language (#41489)
cl
add: Added pirate language, equip a pirate hat to speak it.
/cl

I haven't made a PR here since #23676 but this is pretty simple, it just adds "pirate language" (language only spoken/readable by fellow piratespeakers that looks like pirate slang to others), and makes the pirate hat (yes, the one obtainable from the autodrobe) grant/remove the language.

also i have no experience in dream maker so i'm at least 87% sure i flubbed something up

thanks to qustinnus for helping me out
2018-11-27 02:31:11 +01:00
Jordan Brown
f89bfb448d Bandaid for the TGS4 Linux trusted mode bug (#41668)
* Hack for the TGS4 Linux trusted mode bug

* Simpler
2018-11-27 02:25:36 +01:00
4dplanner
bdcc47be0f Tendrils are now structure based [READY] (#41554)
* Tendrils are now structure based

* Re-adds tendril wipe achievement

neatens up ash walker variables
gets rid of unnecessary variables in hivelord

* Marks spawner children as admin spawned
2018-11-20 11:13:32 +01:00
swindly
bd1fd2fe11 Add concealed weapon bay (#41516)
This provides roboticists with an item that broadens their play style by
introducing a stealth element.

The concealed weapon bay is an item that attaches to Ripleys or Odysseuses and
allows them to equip one mecha weapon. A mecha can only have one attached.
Examining the mecha will not reveal the attached weapon (although the raising
message still shows). They cost 3 TC because they don't allow roboticists to
make mechas much more dangerous than the ones they can already make and because
roboticists will still need to have researched the weaponry to attach to the
mechas.

I made the sprite all by myself.
2018-11-17 19:52:45 +01:00
Emmett Gaines
5f3999ea24 You can put spaghetti in your pocket (#41517)
* You can put spaghetti in your pocket

* Improved drop text
2018-11-16 14:22:00 +01:00
nichlas0010
d17fb6b974 Merge pull request #3317 from yogstation13/upstream-merge-41029
[MIRROR] [SUPER DUPER EXTRA READY] Hilbert's Hotel
2018-11-03 09:01:31 +01:00
Shdorsh
4df5d32870 [READY]Removal of circuits (#41108)
* Delete integrated_circuit.dm

* Delete integrated_electronics.dm

* Delete pins.dm

* Delete wirer.dm

* Delete helpers.dm

* Delete printer.dm

* Delete analyzer.dm

* Delete debugger.dm

* Delete detailer.dm

* Delete assemblies.dm

* Delete saved_circuits.dm

* Delete boolean_pin.dm

* Delete char_pin.dm

* Delete color_pin.dm

* Delete dir_pin.dm

* Delete index_pin.dm

* Delete list_pin.dm

* Delete number_pin.dm

* Delete ref_pin.dm

* Delete selfref_pin.dm

* Delete string_pin.dm

* Delete passive.dm

* Delete power.dm

* Delete access.dm

* Delete arithmetic.dm

* Delete converters.dm

* Delete data_transfer.dm

* Delete input.dm

* Delete lists.dm

* Delete logic.dm

* Delete manipulation.dm

* Delete memory.dm

* Delete output.dm

* Delete power.dm

* Delete reagents.dm

* Delete smart.dm

* Delete text.dm

* Delete time.dm

* Delete trig.dm

* Update tgstation.dme

* Update multitool.dm

* Delete circuit.dm

* Update tgstation.dme

* Update netdata.dm

* Update ntnet_interface.dm

* stuff

* Update packs.dm

* Update electronics_designs.dm

* Update electronics_designs.dm

* Update multitool.dm

* Update cavity_implant.dm

* Update cards_ids.dm

* Update walls.dm

* Update hostile.dm

* Update all_nodes.dm

* removes circuits from maps

* Revert "removes circuits from maps"

This reverts commit 14daf7770220a8a1d7a8fa497c92d9c866939160.

* Removes circuits lab from all maps

* removes circuits lab from lavaland syndicate base

* fixes space tiles under windows on meta

* Deltastation fixes

* Update multitool.dm

* Update flavor_misc.dm

* Replaces Box circuits with nanites
2018-11-02 14:51:16 +01:00
TheDreamweaver
84826c1d70 [SUPER DUPER EXTRA READY] Hilbert's Hotel (#41029)
* Initial stage

* final changes?

* Tweaks

* removed bad variables

* Fixed more bad vars

* is this map merged?

* spelling fix

* spelling fix

Co-Authored-By: TheDreamweaver <austin.j.rickli@gmail.com>

* Map fix?

* now this is map merger

* Fixed summoning edge cases

* Fixed spelling mistakes, Added better handling of sphere removal, Added sphere to the cargo shuttle blacklist, Made the "mystery" more dynamic

* Added better handling of stored mob summoning

* Removed redundant code.

* Made the jukebox actually accessible

* Tweaked it so that no maps would need to be loaded on Init

* comment commit

* No src

* Fixed spelling and getting trapped in rocks

* Fixed spawned-in hotel checks

* Blacklisted hotel are from blueprints and migrated storage handling from door to area.

* Prevents observing mobs (ghosts, camera entities) from getting stored.

* Condensed an if statement

* The hotel can now be used on another mob to invite them to the hotel. All living mob types can now exit out the hotel door.

* Fixed wrong user getting prompted when hotel was used on someone else.

* Added peepholes to hotel doors that can be used via AltClick.

* For the grammar lovers.
2018-11-01 22:50:56 +01:00
Shdorsh
a467bea41c [READY] Making selfreferences finally reference themselves (#40129)
[Changelogs]: # Hey folks, remember #39394 ? This is the continuation of it, in a much better and automated way. Besides, it was tested on my homeserver and it is fully functional. It also removes those horrid brackets from the printer interface and adds a copy data mode to the debugger, allowing you to copy any data and paste it in a pin accepting the same type.

cl Shdorsh
fix: Made the self reference pins for reagents reference themselves automatically.
tweak: Made it possible to copy datas frop pin to pin with the debugger.
spellcheck: Removed ugly useless brackets from printers.
/cl

[why]: # First, because that's what it was supposed to do. Secondly, it makes handling reagent circuitry easier. Thirdly, this gives new options for new circuits.

Tested and working.
2018-10-31 22:50:28 +01:00
Fel
bd7308f2e5 [Ready] Slime Crossbreeding - Chilling Extracts (#40928)
* Hello again, friend of a friend

* Grammar and consistency are for people who got enough sleep last night.

* ShizCalev, we meet again. For the last time.

* Old code. Tastes like trait recognition.

* Fel is so good at coding she doesn't even need to compile, she thought.

* Who needed the ability to agree, anyway?

* `return` of the jedi

* Revert "`return` of the jedi"

This reverts commit 97f192725af1c5b267cd0ba42d48fac5bbd86afa.

* github doesnt like special character commits

* Really tacky glasses are now tackier
2018-10-23 10:34:29 +01:00
Jordan Brown
f20ece3b4d Merge pull request #40987 from ninjanomnom/howcanclienttimeberealifmytimerisntreal
Makes looping sounds use client time
2018-10-21 07:53:41 +01:00
ShizCalev
bc60cab6c5 Fix being unable to stuff money into IDs (#41006) 2018-10-20 06:17:12 +01:00
ShizCalev
f0c52879f2 Makes modular computer examine text more robust (#40729) 2018-10-08 09:37:48 +01:00
Ling
57bf50d53b Merge pull request #2824 from yogstation13/upstream-merge-40563
[MIRROR] Adds clothing production for Botany
2018-10-04 16:29:18 +02:00
Ling
6ef87e2a63 Merge pull request #2798 from yogstation13/upstream-merge-39986
[MIRROR] [Ready for Review/Testmerge]Adds scanner gates
2018-10-04 16:28:25 +02:00
Ling
23f82403b7 Merge pull request #2820 from yogstation13/upstream-merge-40636
[MIRROR] Enables nanite viruses
2018-10-03 17:49:41 +02:00
MMMiracles
f823b28d1c Adds clothing production for Botany (#40563)
cl MMMiracles
add: Botany can now grow cotton to produce cloth for various jumpsuits.
add: Cotton can be mutated into a much more durable strand, allowing for the production of crude armor.
add: Rainbow flowers, an alternative for clothing dyeing, is obtainable through cargo's exotic seed crate.
add: A loom can now be crafted with some planks so you can actually weave that cotton into a usable fabric.
add: Fannypacks, softcaps, beanies and scarves are now craftable with cloth and dyeable.
/cl

[why]: A way to produce clothing and naturally obtain cloth past ripping up other stuff seemed useful and with the economy aspect, might actually have some extra use.
2018-10-03 10:57:43 +01:00
ShizCalev
6574c79d71 Enables nanite viruses (#40636) 2018-10-03 10:57:03 +01:00
ShizCalev
b72070bb8e Restores Deoxyribonucleic Saboteur (#40622) 2018-10-02 22:09:16 +01:00
Ling
f24e50658c Merge pull request #2740 from yogstation13/upstream-merge-40362
[MIRROR] [Ready]Adds hypnosis and the hypnotic stupor brain trauma
2018-10-02 20:40:21 +02:00
XDTM
004584cefd [Ready for Review/Testmerge]Adds scanner gates (#39986)
* Adds scanner gates

* fix

* fix

* fix2

* fix3

* update!

* tgui build
2018-10-02 09:27:47 +01:00
Ling
a513010e4b Merge pull request #2680 from yogstation13/upstream-merge-40296
[MIRROR] [READY] [Gamemode Bounty] Assimilation
2018-10-01 11:19:09 +02:00
XDTM
a8127a39ab [Ready]Adds hypnosis and the hypnotic stupor brain trauma (#40362)
cl XDTM
add: Added a new severe brain trauma: hypnotic stupor. Victims of hypnotic stupor occasionally fall into a trance, and upon hearing a sentence they'll focus on it to the point of obsession, until it is replaced by a new hypnosis or the trauma is cured.
/cl

Adds the potential for some fancy rp gameplay. The idea is that they should take a passing message way too seriously, while leaving room for interpretation to the player. Hearing an isolated "greytide" over the radio might prompt a player to take up arms against the rampaging greyshirts, another might interpret it as having to become the greytide. Someone who realizes what's up might use this to give clear orders to the victim, although they'll only last until the following trance.

I plan on adding more methods to inflict hypnosis with the same trance->"focus on a sentence" mechanics, perhaps as a traitor/CMO pendulum item, or as a wizard/cult spell.
2018-09-28 23:07:23 +01:00
oranges
962aa9e79d Merge pull request #40365 from AnturK/team-panel
Admin team panel
2018-09-27 22:26:41 +01:00
Ling
f615165de9 Merge pull request #2699 from yogstation13/upstream-merge-40462
[MIRROR] [Ready for review]Adds credit holochips to replace magic cash
2018-09-26 22:55:54 +02:00
Kierany9
270d2bcd96 [READY] [Gamemode Bounty] Assimilation (#40296)
* it's ready boi

* typos, things i forgot to uncomment and mindshields revealing hosts

* Requested bugfixes/syntax changes

* Fixes Network Invasion runtime and other misc fixes

* oops

* Fixes mindshield runtime

* Mind control and lots of fixes

* Admin logging and runtime fixes

* dumb bugs and fluff text

* Commented out code, typos and finalizing player numbers

* runtime

* Major runtime fixes, buffs and distortion field

* death on MC'd vessel death, destroy_hive and hive removal on death

* code review

* oops

* Mind Control realname fix
2018-09-26 19:29:54 +02:00
Ling
4fd1b2e0c4 Merge pull request #2681 from yogstation13/upstream-merge-40433
[MIRROR] Componentizes orbiting
2018-09-26 18:54:58 +02:00
Ling
008f5d49f8 Merge pull request #2621 from yogstation13/upstream-merge-40220
[MIRROR] Objective refactor
2018-09-26 18:54:06 +02:00
XDTM
5a4e5b8090 [Ready for review]Adds credit holochips to replace magic cash (#40462)
cl XDTM
add: Added credit holochips, a form of semi-physical currency to use in transactions. They can be generated by id cards by drawing from bank accounts and can be used to make payments.
add: There is no limit to the amount of credits that can be stored on a holochip, but being holograms they are vulnerable to electromagnetic pulses, and may disappear if exposed to one!
add: Holochips can be split with alt-click, and can be merged by clicking on another holochip.
/cl

Inserting physical cash into ids and printing it on the go is really jarring, and since we're on a sci-fi universe i think that hard-light hologram chips with encrypted credits sounds more believable.

As a plus, they don't have to deal with messy stack calculations with different denominations, and simply have a credits var that holds their amount. They change color based on the amount of cash for easy recognizability.
2018-09-25 23:34:22 +01:00
Emmett Gaines
1d157c337d Componentizes orbiting (#40433)
cl ninjanomnom
fix: Orbiting is a little more aggressive about staying in orbit. The wisp as a result now correctly follows you over shuttle moves.
/cl

Goodbye SSorbit you ticking piece of shit

This also gives update_sight a signal so wisp code isn't hardcoded into it.
2018-09-25 09:07:24 +01:00
MrDoomBringer
f3570388ff [DOCUMENTED AND READY TO MINGLE](EPIC MEME VIDEO INSIDE!) NEW COOL ADMIN TOOL: ADVANCED HIGH DEFINITION SUPPLYPOD SUMMONING (also supplypod refactor) (PLEASE UPTHUMB) (#39936)
MrDoomBringer

admin: Admins can now spawn things in ICly (as well as do a bunch of other cool new stuff) using the Config/Launch Supplypod verb!

code: also supplypods have been refactored
2018-09-24 13:34:34 +02:00
Ling
38c16b7022 Merge pull request #2649 from yogstation13/upstream-merge-40312
[MIRROR] [READY][PAID CODE] economy PR
2018-09-24 12:52:14 +02:00
XDTM
72cf8fda62 [Ready]Bluespace research updates (#40245)
* Quantum Keycards

* Bluespace research updates

* .

* ..

* codersprites

* costier

* moved portal gun

* removes hand tele
2018-09-24 10:29:35 +01:00
Iamgoofball
428a033e39 [READY][PAID CODE] economy PR (#40312)
With the power of CAPITALISM AND ECONOMY, you too could be This Guy.
2018-09-23 10:45:14 +01:00
XDTM
4087cad2e3 [Ready]Moves traits to datums (#38505)
I've been in a few situations where traits would be handy to track certain object or datum flags, and there's no particular reason that ties them to living mobs aside from being initially a disability rework.
2018-09-22 10:49:54 +01:00
AnturK
d7c79d5f81 Objective refactor (#40220)
* Objective refactor

* Custom antag types for leftover objectives.

* Removes dumbness.

* Forgot to hide these from TP

* Makes the list static.
2018-09-20 16:18:57 +01:00