Commit Graph

2966 Commits

Author SHA1 Message Date
Rob Bailey
65e9888fa6 [READY] Smart Cables (#44265)
Cables now autoconnect on cardinal directions. All cable placement has been completely stripped out and replaced with simple single cable per tile logic.
Low effort demo: https://www.youtube.com/watch?v=fXp8s6ORWbA
Yes I am aware that cutting it is not dropping wire, that version was bugged.
Cables no longer need a knot specifically placed to link to power objects. The sprite is automatically changed to represent this.
The only exception to this logic is that on smes units, due to the terminal being next to the output, they will not link there.
On a technical powernet side, this is the same as old cables once actually placed. They still use the existing powernet system, just the placement and connection works differently.

Old cables have been turned into "pipe cleaners" for wire art purposes. they work just like the old ones, just missing all the powernet functionality, and also you can put them on top of the floor.
Why It's Good For The Game

How obnoxious cables were to both map and work with in game has been something that has annoyed me for a really long time now.
This is both easier for new players to learn, and easier for experienced players to work with.
Along with making in game much more intuitive and easier, it makes mapping much easier as well. Mad lad wjohn was able to rip out all the mapping conversion in one day because of how much faster it is to work with.

cl actioninja and wjohn
add: Cables have been completely reworked. Simple per tile connection logic, automatically connects to things above it. Think minecraft redstone.
add: Old cables have been kept as pipe cleaner. They are non-functional in terms of power, but otherwise have the same connection logic. Also can go on top of tiles.
remove: mech cable layer has been removed because it was terrible shitcode nobody used
tweak: (sort of balance) cable stack sized has been reduced to 15.
/cl
2019-06-22 10:24:37 +12:00
Shaps
8954265573 Agender fixes (#44597)
Credits to Europaisch for help finding all the records stuff

Fixes a few issues I was not aware of with my initial PR

* Being agender is now a distinct DNA value (fixes agender spessmen
  turning female when having their DNA referenced, like during cloning
  and some rudimentary transformations)
* Neatens up preference code, more in line with previous code, fixes
  an issue with male underwear not surviving preference loading and
  defaulting to female underwear
* Allows agender spessmen to change their facial hair with mirrors
* Change medical, personnel, and security records from sex to gender
  and add "Other" option (they currently display "plural" even for
  agendered species like ethereals)
* The -san honorific now applies to plural gender instead of just
  neuter with the Chinese Cartoons admin secret (highly important)

I have never really played genetics and only tested the DNA code with
cloning and rudimentary transformations while still in a body (which
causes it to reference the old body's DNA, like with cloning). Please
let me know if there's a better way to do this and/or if this is apt
to create issues.
2019-06-19 13:59:39 -07:00
vuonojenmustaturska
8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
oranges
dbf8658540 Merge pull request #44629 from vuonojenmustaturska/defines
Resolve overlapping defines by adding more specificity
2019-06-19 22:56:05 +12:00
ShizCalev
3e0e818dd6 Merge pull request #44583 from Nickkoranda/SlamThatICIssueButton
Changes IC button to not be as infuriating
2019-06-18 23:29:27 -04:00
Naksu
28b1e366d8 Resolve some duplicate defines 2019-06-18 13:08:53 +03:00
Nalzul
c4571cde25 ClownSlipMeBanHe 2019-06-16 20:59:34 -05:00
AnturK
d979048a9f Fix sequential SDQL being default (#44476) 2019-06-13 19:25:11 -07:00
Tlaltecuhtli
4a247210fd changes how grenades with custom primer are made (#44258)
* assemblies are shit fuck em

* maybe press commit before making a pr

* proxy stuff

* morestuff

* qol stuff

* only 1 wire

* revert that garbage that made me conflict

* changes

* wires
2019-06-11 12:28:35 -04:00
oranges
152e03cfd7 Merge pull request #44363 from AnturK/sdql2traitwrappers
Adds sdql2 trait wrappers.
2019-06-10 10:31:06 +12:00
Whoneedspacee
7c674ea486 [Ready] Adds Support For Player Controlled Megafauna + Megafauna Code Refactors (#44005)
* adds small sprites for many of the large megafauna

moves fireball target code back to drake file

changes the speed of every megafauna mob to its move to delay so player controlled ones have the same speed

adds action abilities to each megafauna so players can select the type of attack they want

refactors pretty much all of the megafauna code to be simpler to edit and easier to read as well as have some consistency in where stuff like initialize goes

lesser ash drake now inherits alt click on instead of normal ash drake having it

hierophant no longer blinks on alt click as well

removes pointless check in legion code for ranged timer delay as the proc that calls openfire already checks that

adds icon for new bubblegum blood tracks

bubblegum blood no longer leaves footstep trails as it caused massive lag when many blood tiles were run over in a fight as well as being way too excessive

* fixes a megafauna bug where they could not attack while in space

megafauna can now move through space normally as they would anywhere else

bubblegum no longer runs from corpses and people dying

* fix the weird line errors

* lots of sins have been cleansed (0 = false 1 = true)

switch cases for player attack selection

bubblegum has been bug fixed a bit (steps can be blood warped to, adds blood warp ability)

bubblegum now has some slight additions to its attacks to keep the fight faster paced

bubblegums enrage mode now lasts longer and makes him move faster

legion now has their speed changed properly when they charge (wow this is an old fucking bug like old old)

bubblegum now tries to be aggressive towards people that are laying down (no more resting under bubblegum charges without consequences)

bubblegum now spawns slaughterlings when he devours targets

* fine tunes new bubblegum attacks and replaces some is_procs with defines

* fixes stupid snowflake stuff in bdm code

specifies in defines for bubblegum

lots of sleep_check_death now to avoid stupid stuff

removes need for hierophant_dying var as well as combines all the blast procs into one since they were so similar
2019-06-09 17:24:38 -04:00
AnturK
cc88cc16ed I shouldn't code straight after waking up. 2019-06-06 21:53:30 +02:00
AnturK
652071d9c8 bluh 2019-06-06 21:48:02 +02:00
AnturK
116ea6c71f Adds sdql2 trait wrappers. 2019-06-06 21:46:05 +02:00
ShizCalev
30fd6ddeac Merge pull request #44280 from kingofkosmos/spanendingfixes
Adds missing </span>'s.
2019-06-04 05:50:50 -04:00
vuonojenmustaturska
90467b120d Adds a toolbox verb for spawning reagent containers and grenades (#44261)
Changelog

cl Naksu
admin: "Spawn reagent container" verb has been added to the Debug tab. It can be used to spawn reagent containers and grenades with fully customized contents.
/cl
2019-06-03 12:08:49 +12:00
oranges
8eead98e84 Merge pull request #44213 from AnturK/moreadminabuse
Adds sequential mode to SDQL
2019-06-03 11:08:13 +12:00
kingofkosmos
1bf60bbe06 Adds missing </span>'s. 2019-06-02 21:29:14 +03:00
oranges
5be02315ea Merge pull request #44191 from AffectedArc07/removes-ss-religion
Removes SSreligion
2019-06-02 09:40:45 +12:00
AnturK
a386f71194 Saving/loading custom outfits. (#44183)
* Saving/loading custom outfits.

* Small fix and some more relevant name
2019-06-01 10:31:37 +12:00
AnturK
4d0b44bbb2 Adds sequential mode to SDQL 2019-05-30 19:51:56 +02:00
AffectedArc07
e856ca9de2 Merge 2019-05-29 14:03:03 +01:00
AffectedArc07
9955d0efbc Gives SSreligion the boot 2019-05-29 13:33:04 +01:00
vuonojenmustaturska
fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
81Denton
546592529c Adds confirmation popup to undelaying round end (#43780)
* Adds confirmation popup to undelaying round end

* Popup lists current delay reason
2019-05-02 12:17:48 -04:00
Tad Hardesty
9183a6f66b Clean up workaround for fixed compiler bug (#43698) 2019-04-29 10:59:28 +02:00
William Wallace
a944c2a362 Ghosts can analyze gas mixes and some new objects can be analyzed (#43502)
* Ghosts can analyze gas mixes and some new objects can be analyzed

* Replace show_air_status_to with atmosanalyzer_scan
2019-04-16 21:46:36 +12:00
JJRcop
1cf1df847c [READY] Adds selector lists to SDQL (#43383)
* [SDQL2] Adds selector arrays

* SDQL2 documentation spec updated slightly

* SDQL2 selector array docs + tweaks

If a single list is the only result of a MAP statement,
meaning objs.len == 1, AND it's a list, it will unwrap
the result from its containing list and return it directly.

The selector array logic keeps track of the state of the query
when it starts the first Search. It won't change the state back
to Execute until the top-level is reached, which sets a var
to keep track.

* SDQL2 MAP change from objs.len to length(objs)

* [SDQL2] Reverts MAP list unwrap

* [SDQL] Move (expr) from expr, unary_expr to var

This should result in the same functionality but instead of expressions and unary_expressions processing sub expressions, variables do
This means that expression->value->variable is now completely recursable

* [SDQL2] Update selector list documentation
2019-04-15 09:22:30 +02:00
Tad Hardesty
bbef4190f8 Fix runtime when lightning smiting non-humans (#43537) 2019-04-08 15:54:32 -04:00
Tad Hardesty
9c9cc9110a Improve cancellability of Run Weather admin verb (#43528) 2019-04-08 15:53:44 -04:00
nervere
d04fd9417c removes unused secrets panel button, fixes a button in the global player panel (#43427)
* fixes secrets topic check_antagonist

* removes code related to check_antagonist topic that doesn't work or does nothing

* changes the name of the button in the secrets panel

* removes old secrets panel topic check_antagonist

* player panel antag button no longer relies on secrets topic

* player panel antag button no longer relies on secrets topic

* readds something i shouldnt have removed
2019-04-03 18:21:26 +02: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
nervere
80ff869077 Fixes for asay, asay darkmode, and asay when custom asay colors enabled (#43422)
About The Pull Request

Fixes several annoying and unintentional things about asay.
Fixes #43370
Changelog

cl Nervere
fix: Default color for when custom asay colors is not enabled is now orange, not red.
fix: Asay is now properly bolded in lightmode.
fix: Asay is now properly bolded in darkmode.
tweak: Default color for when custom asay colors is enabled is now orange, not black.
/cl

closes #43370
2019-04-03 10:51:24 +13:00
Kyle Spier-Swenson
759b2cd436 Made mode selection better (#43334)
Now you can set the mode after the round starts, to be saved as the
default for next round and on

Otherwise you can now choose rather or not the mode change is for the
current round only or saved as the new default mode.
2019-03-27 16:53:12 -07:00
Rob Bailey
ceca1e605e [READY] Yet more darkmode tweaks and fixes (#43306)
* fuck you whoever made the last icon it was garbage

* ticket log fixes

* ticket log fixes

* changes colors from hardcode per line to a define

* some nicer darkmode colors

* asay and ooc name default fixes

* fuck you appveyer build again

* slight brightening of the default font color

* properly fixes tip of the round being hard to read
2019-03-25 20:49:59 +13:00
ShizCalev
93c9fb4cd3 Fix admin follow runtime (#43282)
Fixed a minor runtime caused by admins clicking a follow link while in
the lobby.
2019-03-23 22:50:50 -07:00
ShizCalev
ac9dd6bc09 Remove small text formatting from investigate log (#43273)
there's no reason for it.
2019-03-23 22:50:18 -07:00
Jordan Brown
ac99808e05 Merge pull request #43287 from tgstation/MrStonedOne-webedit-420
On second thought; lets just let the extreme popcap be what it is.
2019-03-23 16:27:51 -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
Kyle Spier-Swenson
7e2531a924 On second thought, lets just have extreme popcap be what it is
Last pr, i changed it from always looking at living player count, to only looking at living player count in certain situations. These situations came up often enough that it was subverting the intent of the extreme popcap and in some cases allowing 15 players extra on bagil.

It still exempts anybody currently in the round (even dead) reconnecting after disconnecting, except people who observed from lobby.
2019-03-22 20:26:22 -07:00
ShizCalev
5d60f2d568 Merge pull request #43215 from AutomaticFrenzy/patch/throw-exception
Replace 'throw EXCEPTION' with CRASH or WARNING
2019-03-21 23:57:27 -04:00
ShizCalev
1f6008fd4c Merge pull request #43234 from tgstation/MrStonedOne-patch-4
Exempts current players from the extreme pop cap
2019-03-21 23:50:36 -04:00
Rob Bailey
930e9dc501 [READY] Darkmode fixes (#43252)
* better darkmode v1

* ever better colors

* slightly improved tip color + fixed scrolly bug

* updates skin.dmf as well as some small color tweaks

* slightly tweaked more readable info and admin shit

* span_class fix

* merges ooc fixes

* whoops

* MC and ticket screen fix

* no default darkmode

* skin fixes

* more obnoxious adminpm

* more obnoxious adminshit

* skin revert to ensure proper light theme.

* prevents weirdness with default whiteness
2019-03-22 08:56:17 +13:00
Kyle Spier-Swenson
050554dda6 Update IsBanned.dm 2019-03-20 15:20:05 -07:00
Kmc2000
6b6537cccd Adds toggleable darkmode to the game! (#43072)
* Adds toggleable darkmode to the game! (Use the toggle darkmode verb if you want to use light mode)

* Removes a random linechange

* Undo unintentional changes

* Changes some forced font tags to use spans, which won't break darkmode.

* Fixes up some problems I found while testing
Darkmode is no longer default (this caused some issues with people getting a broken chat)

* Darkmode sucks less now

* Darkmode button now works again
2019-03-21 11:02:41 +13:00
Kyle Spier-Swenson
799d45af99 Exempts current players from the extreme pop cap
This will exempt anybody who was once joined into the round, this means people who were assigned at round start or latejoined. even if they died, got gibbed, suicided, or ghosted. This does not exempt people who observed from lobby.
2019-03-20 14:41:48 -07:00
Kyle Spier-Swenson
bf52e95723 If both the extreme and hard caps are active, extreme popcap applies to connected players, not living players. (#43181)
* If both the extreme and hard caps are active, extreme popcap applies to connected players, not living players.

I also have it using the connected players, and not the living players, if the amount of living players can not increase (queue active, entering disabled, round hasn't started, etc).
I also have it allowing the connection if the hard cap is active but has not been hit.

* Redundant if check

* So it occurs to me that IsBanned() gets called by byond on connected players sometimes.
2019-03-21 09:09:11 +13:00
Tad Hardesty
570a4da33e Replace 'throw EXCEPTION' with CRASH or WARNING 2019-03-19 23:09:24 -07:00
ShizCalev
85be0e5804 Fix stealthmin adminpm issue (#43167) 2019-03-19 14:17:27 -07:00
MrStonedOne
186f6c8ddd dbstickybans: Qdeleting queries, misc fixes, Query select proc for executing mutiple queries at once... 2019-03-16 00:23:40 -07:00