Commit Graph

35982 Commits

Author SHA1 Message Date
Jeremiah
60922e7cfc TGUI list input conversions (#63315)
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
2021-12-10 02:20:01 -08:00
LemonInTheDark
9c57fca97d Fixes random hell call-counts to Move (#63317)
Removes the parent call from mob/Login

Mothblocks pinged me with a profile of just a hellish amount of move calls
Way too many, like 200000
Started looking into it, got distracted by how expensive macros were
Turns out most of the cost of macros was in the nuke ops summon spawner

So I looked at why, only bit of it that was at all expensive was the login for the cyborgs
Tested on a local, huh that is slow yeah

Looked at the profiler, huh there's that move count again
So anyway, why is login so expensive

Spawned a few cyborgs in, dragged myself into them, nothing
Spawned myself in with sdql magic using the summon spawner, man it really is still there
I guess it has to do with move somehow, try and stick a breakpoint on it, get fucked by the debugger
I notice the hanging comes during the Login parent call

Try again, this time with good breakpoints.
We're trying to move, to (1,1,1), just like the reference says we will https://secure.byond.com/docs/ref/#/mob/proc/Login

But man, it just keeps happening, and we don't actually move
Step through the code, we've got that null loc check in atom/movable/Move

So the move to (1,1,1) isn't working

Here's the exact line from the reference
"If the mob has no location, place it near (1,1,1) if possible"
Keyword is near

Talked to lummox about this behavior, figured it was a bug

It turns out by near, they mean inside that tile's area
It'll keep trying to place you somewhere, in an attempt to effectively cover for shitty login systems, until you succeed in moving

That tile is space. There are 200,000 tiles with the same area as it
OH.

So anyway, we're not calling parent on mob/login anymore. We can do all the work it did that we care about ourselves (IE: Just the statobj set)
And this way we don't need to worry about 4 SECONDS OF OVERTIME WHENEVER SOME POOR FUCK MESSES UP SPAWN ORDER

So yeah, I'm a genius and not at all just malding at the existance of keybind macros, and hopefully another source of stutter bites the dust
Not actually sure how widespread this is, but even if it's just spawn becacons that's pretty banging
2021-12-10 02:14:48 -08:00
Seth Scherer
28af68d8fd fix (#63309)
Co-authored-by: SuperNovaa41 <supernovaa41@protonmail.com>
2021-12-10 02:13:29 -08:00
John Willard
54e19ce289 prevents closing out of the tgui tab from blowing you up (#63275) 2021-12-10 02:13:06 -08:00
EOBGames
cf899a1821 Moth Food Returns: A Taste of the Fleet (#63174) 2021-12-09 21:41:36 -08:00
RandomGamer123
86311ef259 Stops drones from using keycard authenticators (#63135)
See title. Drones were able to use these due to their internal id card having captain access
2021-12-09 18:25:09 -08:00
RandomGamer123
14d1f2d361 Adds documentation for and makes station_was_nuked flag only set if the station was actually nuked (#63107)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-12-09 16:23:24 -08:00
Fikou
6941c9618c the deep fryer reacts to cold (#63073)
dunking a colder than 0 celsius person in the deep fryer causes additional damage
dunking a VERY cold person causes fun stuff
putting a freeze cube in the deep fryer causes !FUN! stuff
2021-12-09 12:11:33 -08:00
AnturK
39308f9dc6 Paintings improvements. (#63170)
About The Pull Request

    Paintings can now do stroke painting.
    Added painting management panel for admins.
    Paintings now display author's character name, year of painting, medium and patron when hung on wall.
    You can become new patron by paying more than the previous one.
    Added painter's palettes to library vendor. (Sprites by @Mickyan )

Backend changes:

    Images are now stored in /data/paintings/images/*.png instead of /data/paintings/[category]/*.png
    Old categories are now just tags

Screens & Video
Changelog

cl
add: You can now become patron of your favorite painting by buying sponsorship from Nanotrasen Trust Foundation.
add: Painter's palettes are now available at library vendor.
qol: Can use strokes in paintings now
/cl
2021-12-10 08:46:37 +13:00
Seth Scherer
a24ea694d4 Fixes AI shells being instantly converted with the Twisted Construction spell (#63231)
* fixes that shit

* should work

Co-authored-by: SuperNovaa41 <supernovaa41@protonmail.com>
2021-12-09 20:27:04 +01:00
Seth Scherer
8ce0066ea4 Clothing armor tags now properly display for negative values (#63282)
Co-authored-by: SuperNovaa41 <supernovaa41@protonmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-12-08 22:20:33 -08:00
LemonInTheDark
9b605b9cc0 Speeds up the preference menu, significantly. Adds object pooling, other stuff too (#63225)
* Removes like 50% of the cost of using the ui, it turns out that the storage component is fucking moronic. Likely significantly reduces the overtime of typecacheof

* Reduces the cost of reloading the dummy by ~50%
Turns out just initializing and deleting organs was like half the cost of reloading a default dummy.
It occured to me (Mothblocks) that we don't actually care about any organs we can't see or that don't effect visuals. So almost all of our organ loading can just be skipped.

This saves a significant chunk of cpu time, items next!

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2021-12-08 16:20:03 -08:00
cacogen
f96330beb1 Burnt-out flash in-hands update again (#63289)
Burnt-out flash in-hands update again

- Prevents flashing going through if the flash burns out during the attempt
- Updates name when using the flash in case burnt_out was somehow reverted to 0 to reflect that
2021-12-08 16:15:44 -08:00
vincentiusvin
3bb8424d78 Makes welding plasma bars/statues/floors use flooder component (#63154)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-12-08 16:14:28 -08:00
Jeremiah
c1e2d5ae8f TGUI input box framework (#63190)
About The Pull Request

Creates the framework for two new TGUI input boxes that can be toggled via game prefs.
This does not convert any actual inputs to TGUI
This does not convert any tgui_list_inputs into being toggleable
Example pictures

Input on a hand labeler. This has a MAX_LENGTH set, so it can be invalidated. Cancel always returns null. Enter button submits, if valid.
text input
(OUTDATED) Multiline input on newscaster. Newer version fills the window with a section, like the others
multiline
Sheets from a stack
number input
Why It's Good For The Game

1
So I did...

    Much sleeker input boxes
    Result should be a in place swap for most occurrences of input
    Renders casting as text/num/null obsolete but still doable
    Input validation from both sides handled
    Prefs toggle if you don't like the look

Changelog

cl
add: TGUI input boxes are on the way! You can find new preferences in the menu. They will be on by default.
/cl
2021-12-09 09:47:07 +13:00
John Willard
bbdbe79049 Magic mirror: Fixes changing races & code improvement (#63201)
All mirrors now use the same Initialize(), with a var determining which flag to check.
Improves some of the code with better var names and early returns.
Moves pride ruin's mirror to the rest of the mirrors
Removes /curse() proc, replaces it with Pride's mirror just calling parent instead, since it was the only mirror that used it.
Also fixes not being able to change races with the mirror.
2021-12-07 12:15:08 -08:00
Iamgoofball
fba6c61111 Families Bugfixes + Tweaks: Even Distribution of Leaders, Fixes HoS-Family-Leaders, Adds Admin Tool to make Leaders (#63115) 2021-12-07 11:25:46 -08:00
Cursed
62e0ecc42f Job specific clothes storage slots now can carry bags (#63102)
* Bags onto coats

* Bags fit onto wintercoats suit slot

* Bags fit onto suits suit storage slot

* Bags fit onto suits suit storage slot

* Adding mirror tray sprite to belt_mirror.dmi

* Bags fit onto suits suit storage slot

* Construction bag fits into hazard vest suit storage slot

* Fixes and hazard vest/explorer suit expansion

* Explorer suit ore bag

* Once again fix

* Even once more fix

* More and more fixes

* We love fixes. I hope its the last one

* Im back here once again. Fix
2021-12-07 13:43:41 +01:00
vincentiusvin
951d17ca6d Atmos machinery construction shouldn't null piping_layer by default (#63248)
/obj/machinery/atmospherics/on_construction actually sets the it's arg as piping layer, which is more often than not null. Not sure if it's actually a problem for any of our currently implemented machineries but It annoyed me somewhat while making another PR.
2021-12-07 01:07:15 -08:00
Mothblocks
d132c6300c Fixes away mission not loading from config (#63267)
generateMapList started auto filling the config directory ever since the security PR.

fix: Fixed away missions not loading when the config was enabled.
2021-12-07 01:02:13 -08:00
Seth Scherer
021c3d0c56 Fixes Bardrones getting regular drone tools (#63254) 2021-12-07 00:10:58 -08:00
tralezab
24dcdc5bed Fixes Department Orders defaulting to their fallback (#63271) 2021-12-07 00:08:51 -08:00
Ghom
21ac10d3d4 multiz movement refactor redux (#62132) 2021-12-06 23:13:48 -08:00
Pickle-Coding
92df2238f2 Mime projectile thing description change. (#63216)
Changes description to clarify that it mutes your target instead of stunning it.
2021-12-06 21:22:37 +00:00
tralezab
b5606b7342 Everyone is traitor now properly malfs the AI (#63217)
Everyone is traitor checks were not considering the new antag datum when malf ai split from traitor
2021-12-06 21:22:00 +00:00
tralezab
12f71adea2 returns functionality to machine sect's self android conversion (#63215)
Chaplains can now invoke the rite with nobody on the altar to convert themselves. The bugged functionality of religious tool that let anyone invoke rites allowed chaplains to be converted by others, which became somewhat of a core feature of the sect. In fixing the previous bug the sect lost a somewhat large part of itself, and I think the best solution is to just make it intended
2021-12-06 21:21:08 +00:00
LemonInTheDark
3a5487d526 Optimizes MouseEntered (#63246)
* Optimizes MouseEntered

Moves status_bar_set_text into the interface definition itself. We don't need to use MouseEntered for this
anymore, since lummy added an on-status paramerter to the main window This saves us a little under half our cpu
time

Gets rid of a needless ?. check, caches a datum var access, inlines a text define.
These all lower the cost of MouseEntered to some degree, though to be perfectly honest with you I really think
we should be doing everything on the client side.

The only reason I'm not moving screentext over there too is because there are plans to expand on screentips to
be contextual, which wouldn't be possible. Though now that I think about it maybe that's not even true....

Anyway, I'm doing what I can to not change behavior for now. Really kinda cheesed about this though.

* Some people are saying this (Cleans up the html a bit, tnx mothman)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-12-05 23:26:28 -08:00
Tastyfish
c5c16157f2 Adds Skill Tracker app for tablets (#63013)
Adds a skill tracker app for tablets.

I allowed all tablets to install it, but it is currently not pre-installed by default.

It is only available to tablets, with the conceptual compromise that it requires no extra hardware components, but uses sensors through your hands or something.
2021-12-06 04:04:16 +02:00
Ghom
fea3637316 Finish off the old strip menu, add tk checks (#63219)
* Finishes off the old strip menu (also fixes the new one not properly checking against tk)

* I'm having second thoughts. Better safe than sorry.
2021-12-06 04:02:34 +02:00
Mothblocks
0989ce2d6f Remove job .tsx files from preferences menu, use compiled data instead (#63200)
Removes every job .tsx file, and moves their necessary data over to the job datums themselves. This lowers the burden of both adding and removing jobs, and allows for jobs to be removed without touching any internal code (I'm specifically doing this for events)
2021-12-06 03:56:46 +02:00
RandomGamer123
dbf43b1486 Make screwdrivers able to be inserted into the destructive analyzer through left-click (#63085) 2021-12-05 16:36:08 -08:00
tralezab
00a864c694 Department Order Consoles now have fallback areas, if the first area doesn't exist on a map (plus map logging) (#63214)
Maploaded department order consoles will now check if they have a valid destination, and set a generic one if they don't while throwing a mapping log.
2021-12-05 15:04:02 +00:00
Y0SH1M4S73R
d6628103b1 BCI implanters no longer drop their BCI on the floor when opened (#63204)
Exactly what it says in the title. Implanters used to drop the BCI they contained when opened up. Now they don't. For good measure I made them drop their contained BCIs when deconstructed as well in case they already did that as a consequence of the BCI being located inside the implanter, which was the cause of the issue in the first place.
2021-12-05 15:02:34 +00:00
Tiresoup
fe5fcc164b Removes References to Radiation From Engine Goggle Description (#63230)
Removes the line "and the Radiation Scanner mode lets you see objects contaminated by radiation" from the scanner goggle description.

Scanner goggles can no longer detect radiation as of 0f3c4e51f7, the old examine text was misleading.
2021-12-05 01:55:55 -08:00
tralezab
1d8693c26f Ethereals no longer get the "he" pronoun accidentally (#63221)
Character preferences now disregards the gender value if the species you're playing as is sexless
fixes #61491 (Ethereals being "He" instead of "They")
2021-12-05 01:43:00 -08:00
Mothblocks
3c19a826b8 Verify that those clicking on admin statclicks are admins (#63226)
Also removes some unused statclick.

Statclicks need to get removed someday, they're a pain in the ass, but this is good enough for now.
2021-12-05 01:41:19 -08:00
vincentiusvin
b92346cb55 APC being burnt now no longer spams runtimes. (#63244) 2021-12-04 20:20:08 -08:00
Doctor Pope
aa034d02cd Fixed spelling of possession, separate, and cemetery (#63203)
Just fixes some spelling for gangs. I also fixed misspellings for "posession" to "possession". Fixed "seperate " to "Separate" Fixed "Cemetary" to "Cemetery"
2021-12-03 13:29:29 -08:00
Mickyan
9e5f805af8 Changes message when looking up at max-z (#63212)
Changed the message you get when you're at the highest z-level and try to look up to a more generic one that doesn't assume we're inside the station
2021-12-03 13:00:26 -08:00
GoldenAlpharex
4d2a074a1a Ghosts can have colorful hair again! (#63129)
The PR that updated the codebase to no longer use legacy colors didn't check this specific proc, which is to my knowledge only used by ghosts lightening their hair color. That's it.
2021-12-03 20:31:42 +00:00
Jeremiah
307ab2ab6b TGUI pAI Hotfix 1 (#63160)
Adds a new ui state so that players can access the paicard tgui while it's slotted in their PDA (inside the pda wasn't technically in the user's close inventory).
Adds some documentation for the pAI candidate file
Users now get notifications if they can't save files (guest keys).
pAIs previously had NO on screen indicator of hack progress, so I've given them a progressbar over the door
More visual output for pAIs
More output for edge cases
More documentation
Fixes #63161
2021-12-03 20:16:52 +00:00
ShizCalev
3a42996740 fixes vent and scrubber map edited names resetting (#63061) 2021-12-03 15:26:47 +01:00
Mothblocks
a7409fbff2 Add investigate logs for crafting (#63178) 2021-12-03 15:16:38 +01:00
Mothblocks
57c45bd24b Fix AI eye not being recreated if it was qdel'd, but not nulled (#63131)
As an error recovery point, if the eye somehow gets qdel'd, it is recreated when you try to move to the core.

However, this error recovery doesn't work if the AI eye is qdel'd without being nulled, as create_eye() checks if eyeobj exists (NOT if it's qdel'd).

Of course the real bug is in whatever is qdel'ing the eye, but considering this is an existing error recovery system, it should still work!
2021-12-03 00:45:12 -08:00
Mothblocks
99c1967adf Fix replaced_by surgeries (fixing showing all tend wounds when upgraded) (#63111) 2021-12-02 23:29:01 -08:00
John Willard
5334b9453e borg panel logs to silicon rather than admin (#63055) 2021-12-02 19:08:18 -08:00
Paxilmaniac
b952423eb0 Allows players to affix bayonets to their pipe guns, for defense against ruffians invading your department (#63137) 2021-12-02 18:05:23 -08:00
Ghilker
c3ec955c5d Fix sec hailer oversight with tint changes (#63211)
About The Pull Request

Sec hailers should've been changed to not have a tint but also to not have eye protection and so pepper immunity.
Why It's Good For The Game

Fix an oversight on the original PR #62947
Changelog

cl
fix: fix an oversight where sec hailer shouldn't have the tint changes, the eye protection and the pepper immunity. All other sec masks (the swat and spacepol) are unchanged
/cl
2021-12-03 14:15:30 +13:00
AxieTheAxolotl
029b1c9a67 Adds Pride Pins (#62987)
* I love gay

* Update accessories.dm

* fix conflicts

* Apply suggestions from code review

Co-authored-by: bawhoppen <Bawhoppen@users.noreply.github.com>

* Update accessories.dm

* ok

Co-authored-by: bawhoppen <Bawhoppen@users.noreply.github.com>
2021-12-02 18:22:46 -05:00
Seris02
77ea00b5d7 makes the gradient color options not show if no gradient is selected (#63169) 2021-12-02 13:49:45 -08:00