Commit Graph

869 Commits

Author SHA1 Message Date
SkyratBot
fc1c3d4bea [MIRROR] Mafia notes are no longer automatically written for you & new UI [MDB IGNORE] (#20765)
* Mafia notes are no longer automatically written for you & new UI (#74819)

## About The Pull Request

Notes in Mafia are no longer written for you, you instead write it
yourself and save.
Also adds a button to automatically say out your notes for other
players.

Hides the judgment buttons when it's not time to judge
Makes the UI autoupdate and makes use of ui_data / ui_static_data

Video of it in action: https://www.youtube.com/watch?v=NDUSuIUqQv8

## Why It's Good For The Game

A downside to notes currently is that it's very easy to confirm yourself
as a role against players who don't code-dive to know exactly how notes
should be formatted for any role, this makes it easier, as everyone will
type out their own notes, and can send it directly to chat when needed.

## Changelog

🆑
balance: [Mafia] Notes are no longer written out for you.
qol: [Mafia] You can now send your notes to chat whenever.
qol: [Mafia] Roundend has changed. Solos will win over others in a 1v1,
but a HoP can keep a round going in case they can solo lynch.
/🆑

* Mafia notes are no longer automatically written for you & new UI

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-04-25 18:43:11 +01:00
SkyratBot
173ec98efb [MIRROR] Fixes new players causing gravity related runtimes if they load in before SSMapping finished initialization. [MDB IGNORE] (#20525)
* Fixes new players causing gravity related runtimes if they load in before SSMapping finished initialization. (#74671)

🆑 ShizCalev
fix: Fixed an annoying gravity runtime that occurred if a player was
connected before mapping finished initialization.
/🆑

Fixes https://github.com/tgstation/tgstation/issues/74532

* Fixes new players causing gravity related runtimes if they load in before SSMapping finished initialization.

---------

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2023-04-12 21:36:18 -07:00
SkyratBot
e7500c6776 [MIRROR] Refactors CTF [MDB IGNORE] (#20457)
* Refactors CTF (#74342)

## About The Pull Request
CTF code is rather infamous for being poor and hard to actually work
with, I wanted to add a feature for a mapping march project but the code
would not allow for it, so here we are refactoring the entire thing.
## Why It's Good For The Game

Replaces some really bad code with slightly less bad code. Should make
it much easier to add features onto CTF in the future.
## Changelog
🆑
refactor: CTF has been entirely refactored.
fix: Respawn times for CTF now work.
qol: CTF players are alerted during control point games when one team is
half way to winning.
admin: CTF instagib mode can now be toggled from the secrets panel.
/🆑

* Refactors CTF

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-04-12 09:08:29 -07:00
SkyratBot
3464b6bfb2 [MIRROR] Refactors Regenerate Organs, and a few organ helpers [MDB IGNORE] (#20094)
* Refactors Regenerate Organs, and a few organ helpers

* MERGE CONFLICTS

* GETORGANSLOT > GET_ORGAN_SLOT

* GETORGAN > get_organ_by_type

* lint repairs

* more lint

* Update tgstation.dme

* Update surgery_step.dm

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-01 02:51:06 +01:00
SkyratBot
96be018eb1 [MIRROR] Refactors Suiciding Variable Into Trait [MDB IGNORE] (#20017)
* Refactors Suiciding Variable Into Trait

* suicide

* https://github.com/tgstation/tgstation/pull/72919

MISSED IRROR

* better suicide handling

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 02:03:05 +01:00
SkyratBot
6a2703a7fb [MIRROR] Fixes the arguments of bodypart_overlay's color_image() and its lack of early returns in subtypes [MDB IGNORE] (#19761)
* Fixes the arguments of bodypart_overlay's color_image() and its lack of early returns in subtypes

* Basically also adds https://github.com/tgstation/tgstation/pull/72992

* Whoops, this could've been bad actually

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-03-24 13:25:54 -04:00
GoldenAlpharex
702c3e2ce6 Total refactor of the way we handle and draw mutant_bodyparts (+ missed mirrors that motivated me to do this) (#19635)
* Splits mutant_bodyparts.dmi into several subfiles. (#71408)

Splits the `mutant_bodyparts.dmi` file up, as was suggested, but not
implemented, in #69302.

The following new files were created in the `icons\mob\species` folder,
containing the listed sprites:

- `lizard\lizard_misc.dmi`: Snouts, horns, frills, and body markings.
Anything I didn't feel needed an entire file to itself.
- `lizard\lizard_spines.dmi`: Lizard spines, both animated and not.
- `lizard\lizard_tails.dmi`: Lizard tails, both animated and not.
- `human\cat_features.dmi`: Felinid ears and tails.
- `monkey\monkey_tail.dmi`: The monkey tail.
- `mush_cap.dmi`: The lone mushperson cap, so easily forgotten.

Additionally, I moved `wings.dmi` from `mob\clothing` to `mob\species`.
I'm not sure what it was doing there.

`mutant_bodyparts.dmi` was something of a mess, with parts from four
different species thrown together haphazardly. It probably made sense in
earlier days when "mutant humans" were few and far between, but
splitting it up makes it more intuitive to find these sprites, and
brings it in line with other species - namely, moths. It also means that
any future sprites of these types added will not bloat an oversized file
even more.

Moving the wings file to the species folder just makes sense, because
wings are not a type of clothing.
🆑
refactor: Removed mutant_bodyparts.dmi and distributed its sprites in a
more sensible and granular manner.
/🆑

* External Organ Rework: new bodypart_overlay system (#72734)

Bodypart overlays are now drawn by the new /datum/bodypart_overlay
datum.

External organs no longer draw anything and instead add a special
/datum/bodypart_overlay/mutant to the bodypart, which draws everything

Makes it way easier to add custom overlays to limbs, since the whole
system is now modularized and external organs are just one
implementation of it

I haven't moved anything but external organs to this new system, I'll
move eyes, bodymarkings, hair, lipstick etc to this later

New pipeline is as follows:
- External organ added to limb
- External organ adds /datum/bodypart_overlay/mutant to limb to
bodypart_overlays
- Limb updates its icon, looks for all /datum/bodypart_overlay in
bodypart_overlays
- Very cool new overlay on your limb!

closes #71820

🆑
refactor: External organs have been near-completely refactored.
admin: Admin-spawned external organs will load with a random icon and
color
fix: fixes angel wings not working for non-humans (it was so fucking
broken)
fix: fixes external organs being invisible if they werent initialized
with a human
/🆑

External organs are cool but are pretty limited in some ways. Making
stuff like synthetic organs is kinda fucked. I tried and it was dogshit.
Now you can just give an icon state and icon and you're good (using
/datum/bodypart_accessory/simple)

Stuff like eyes, cat ears and hair seem like good choices for extorgans,
but don't quite work for it because their icons work a lot differently.
This solves for it completely since any organ (or object or whatever)
can add it's own icon to a bodypart.

Want to add an iron plate to someones head? Go ahead. Want a heart to
stick out of someones chest? No problem.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Makes the whole thing compile, although it most likely doesn't work

* Whoopsie daisy

* Now it's starting to work

* ok monkey

* Fixes tails some more

* Moth wings should be wings not moth wings

* Podpeople hair, yeah.

* Okay no more handle_mutant_bodyparts()

* Removed an useless variable from is_hidden()

* Fixes some more can_draw_on_bodypart (I'm gonna have to fix it upstream too)

* Removes the second useless argument of is_hidden()

* No, cat tails are no longer allowed to be snowflake

* Removes some useless variables from humans

* Whoops I forgot to commit this one

* How did I miss this one?

* Okay, yeah, tails and some other stuff show up now. Pod people hair too. Just many of them don't. Good enough for today.

* Okay so after a lot of pain and suffering, many mutant_bodyparts are now functional

* Everything works, except for ears, some of the taur layering, and moth markings (which never worked it seems)

* Alright skintones seem to work rather well now(?)

* Okay, my bad, now they do

* Moth markings can't be selected and won't be added anymore (since they're broken and integrated into the regular markings system anyway)

* Spines are no longer just matching the color of the limb they're attached to

* Moves taur organ and bodypart_overlay out of the sprite_accessory file for taurs, and fixes the taur rendering

* Linters moment

* Alright, spines are working and overlaying properly now

They just need to have a FRONT overlay for the /tg/ ones if we want them to display above the lizard tails, we already have that for vox spines thankfully.

* Disables moth_markings for good

* Fixes some rendering bugs

* Makes ears work (almost, rest of the code has MODsuit stuff in it too :( )

* Made the MODsuit overlays work :)

* Fixed horns and spines

* Fixes all of the screenshot tests

* Removes the Body Markings option from Appearances, use Augments+ instead (because that one works and is just better)

* Bye bye handle_mutant_bodyparts(), I won't miss you :)

* Forgot to take this out, whoops

* Fixes the moth antennae being unticked

* Removes some commented code in a modular file

* Fixes part of the create_and_destroy unit test

* Fixes a pretty big issue that caused some sprite_accessories to be removed from the global list because of the alter_form action (deep copies ftw)

* Fixes the runtimes related to pod_hair

* Gives the vox a better look in the prefs menu

* Fixes the appearance of functional wings

* Makes synths able to access their robotic wings

* Podpeople don't cause runtimes during CI anymore

* Fixes the random appearance of locked functional wings

* Fixed cat and lizard tails using the /tg/ sprites (we have slightly modified ones)

* Fixes the coloring on multi-colored sprites

* Fixes the code for the screenshot of the mammal screenshots and preview, so it has a tail

* Fixes the screenshot tests for a few species

* Fixes tails going invisible when wagging

* Fixes a runtime with horns

* Fixes showing/hiding mutant bodyparts not working at all

* (Hopefully) fully fixes all the issues related to extra and extra2-related icon_states.

* Fixes synth stuff and starts working on pod hair again

* I DID IT PODPEOPLE HAVE HAIR AGAIN

* Fixes the podpeople hair showing up on more than just podpeople

* Fixes the IPC screens showing up on species outside of synthetics

* Fixes a runtime in the pod_hair and the synth_screen's apply_to_human

* Updates the screenshots for podpeople and synths

* Fixes an issue with a certain type of organs

* Fixes another runtime, whoops

* Fixes the markings from /tg/'s Body Markings not being available in our markings system

* Re-adds support for taur-variants of certain mutant bodyparts

* Hopefully fixes a few more runtimes

* Adds some debug variable in the code for now, likely to be removed later if really necessary. This will make my life easier.

* Whoops, that needed to be backwards. :clown:

* Fixes the top snouts not rendering at all

* Fixes the issues where bodytypes weren't handled properly, and thus snouts were getting squished

* Fixes the weird placement of the Xeno Head Emissives in the prefs menu

* Removes a no-longer-necessary override of post_set_preference() in the limbs_and_markings middleware

* Reverts an unnecessary SKYRAT EDIT inside of commented out code

* No longer creates a new body every time we change prefs in the prefs menu, we reusing now lads

I know there's commented out code but I'm going to remove that in another commit

* Removed some more dead code.

* Fixes jellyfish ears being all white

* Fixes plasmaman limbs not displaying because I accidentally hardcoded the limb_id for all augments to "robotic"

---------

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-03-16 13:07:24 +00:00
SkyratBot
f8f2abb11f [MIRROR] Refactor, improve, and rename canUseTopic to be can_perform_action [MDB IGNORE] (#19391)
* Refactor, improve, and rename canUseTopic to be can_perform_action

* updoot

* https://github.com/tgstation/tgstation/pull/72876

https://github.com/tgstation/tgstation/pull/72876

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:19:25 +00:00
lessthanthree
7305d12d29 [MANUAL MIRROR] Nightvision Rework (In the name of color) (#19608)
* Nightvision Rework (In the name of color) (#73094)

Relies on #72886 for some render relay expansion I use for light_mask
stuff.

Hello bestie! Night vision pissed me off, so I've come to burn this
place to the ground.
Two sections to discuss here. First we'll talk about see_in_dark and why
I hate it, second we'll discuss the lighting plane and how we brighten
it, plus introducing color to the party.

https://www.byond.com/docs/ref/#/mob/var/see_in_dark

See in dark lets us control how far away from us a turf can be before we
hide it/its contents if it's dark (not got luminosity set)
We currently set it semi inconsistently to provide nightvision to mobs.

The trouble is stuff that produces light != stuff that sets luminosity.
The worst case of this can be seen by walking out of escape on icebox,
where you'll see this

![image](https://user-images.githubusercontent.com/58055496/215683654-587fb00f-ebb8-4c83-962d-a1b2bf429c4a.png)

Snow draws above the lighting plane, so the snow will intermittently
draw, depending on see_in_dark and the luminosity from tracking lights.
This would in theory be solvable by modifying the area, but the same
problem applies across many things in the codebase.
As things currently stand, to be emissive you NEED to have a light on
your tile. People are bad at this, and honestly it's a bit much to
expect of them. An emissive overlay on a canister shouldn't need an
element or something and a list on turfs to manage it.
This gets worse when you factor in the patterns I'm using to avoid
drawing lights above nothing, which leads to lights that should show,
but are misoffset because their parent pixel offsets.

It's silly. We do it so we can have things like mesons without just
handing out night vision, but even there the effect of just hiding
objects and mobs looks baddddddd when moving. It's always bothered me.
I'll complain about mesons more later, but really just like, they're too
bright as it is.

I'm proposing here that rather then manually hiding stuff based off
distance from the player, we can instead show/hide using just the
lighting plane. This means things like mesons are gonna get dimmer, but
that's fine because they suck.

It does have some side effects, things like view() on mobs won't hide
stuff in darkness, but that's fine because none actually thinks about
view like that, I think.

Oh and I added a case to prevent examining stuff that's in darkness, and
not right next to you when you don't have enough nightvision, to match
the old behavior `see_in_dark` gave us.

Now I'd like to go on a mild tangent about color, please bare with me

You ever walk around with mesons on when there's a fire going, or an
ethereal or firelocks down.
You notice how there isn't really much color to our lights? Doesn't that
suck?

It's because the way we go about brighting lighting is by making
everything on the lighting plane transparent.
This is fine for brightening things, but it ends up looking kinda crummy
in the end and leads to really washed out colors that should be bright.
Playing engineer or miner gets fucking depressing.

The central idea of this pr, that everything else falls out of, is
instead of making the plane more transparent, we can use color matrixes
to make things AT LEAST x bright.

https://www.byond.com/docs/ref/#/{notes}/color-matrix

Brief recap for color matrixes, fully expanded they're a set of 20
different values in a list
Units generally scale 0-1 as multipliers, though since it's
multiplication in order to make an rgb(1,1,1) pixel fullbright you would
need to use 255s.

A "unit matrix" for color looks like this:
```
list(1, 0, 0, 0,
     0, 1, 0, 0,
     0, 0, 1, 0,
     0, 0, 0, 1,
     0, 0, 0, 0
)
```

The first four rows are how much each r, g, b and a impact r, g, b and
well a.
So a first row of `(1, 0, 0, 0)` means 1 unit of r results in 1 unit of
r. and 0 units of green, blue and alpha, and so on.
A first row of `(0, 1, 0, 0)` would make 1 red component into 1 green
component, and leave red, blue and alpha alone, shifting any red of
whatever it's applied to a green.

Using these we can essentially color transform our world. It's a fun
tool. But there's more.

That last row there doesn't take a variable input like the others.
Instead, it ADDS some fraction of 255 to red, green, blue and alpha.

So a fifth row of `(1, 0, 0, 0)` would make every pixel as red as it
could possibly be.

This is what we're going to exploit here. You see all these values
accept negative multipliers, so we can lower colors down instead of
raising them up!
The key idea is using color matrix filters
https://www.byond.com/docs/ref/#/{notes}/filters/color to chain these
operations together.

Pulling alllll the way back, we want to brighten darkness without
affecting brighter colors.
Lower rgb values are darker, higher ones are brighter. This relationship
isn't really linear because of suffering reasons, but it's good enough
for this.
Let's try chaining some matrixes on the lighting plane, which is bright
where fullbright, and dark where dark.

Take a list like this

```
list(1, 0, 0, 0,
     0, 1, 0, 0,
     0, 0, 1, 0,
     0, 0, 0, 1,
     -0.2, -0.2, -0.2, 0
)
```
That would darken the lighting a bit, but negative values will get
rounded to 0
A subsequent raising by the same amount
```
list(1, 0, 0, 0,
     0, 1, 0, 0,
     0, 0, 1, 0,
     0, 0, 0, 1,
     0.2, 0.2, 0.2, 0
)
```
Will essentially threshold our brightness at that value.
This ensures we aren't washing out colors when we make things brighter,
while leaving higher values unaffected since they basically just had a
constant subtracted and then readded.

You may have noticed, we gain access to individual color components
here.
This means not only can we darken and lighten by thresholds, we can
COLOR those thresholds.
```
list(1, 0, 0, 0,
     0, 1, 0, 0,
     0, 0, 1, 0,
     0, 0, 0, 1,
     0.1, 0.2, 0.1, 0
)
```
Something like the above, if applied with its inverse, would tint the
darkness green.
The delta between the different scalars will determine how vivid the
color is, and the actual value will impact the brightness.

Something that's always bothered me about nightvision is it's just
greyscale for the most part, there isn't any color to it.
There was an old idea of coloring the game plane to match their lenses,
but if you've ever played with the colorblind quirk you know that gets
headachey really fast.
So instead of that, lets color just the darkness that these glasses
produce.
It provides some reminder that you're wearing them, instead of just
being something you forget about while playing, and provides a reason to
use flashlights and such since they can give you a clearer, less tinted
view of things while retaining the ability to look around things.

I've so far applied this pattern to JUST headwear for humans (also those
mining wisps)
I'm planning on furthering it to mobs that use nightvision, but I wanted
to get this up cause I don't wanna pr it the day before the freeze.

Mesons are green, sec night vision is red, thermals orange, etc.

I think the effect this gives is really really nice.
I've tuned most things to work for the station, though mesons works for
lavaland for obvious reasons.

I've tuned things significantly darker then we have them set currently,
since I really hate flat lighting and this system suffers when
interacting with it.

My goal with these is to give you a rough idea of what's around you,
without a good eye for detail.
That's the difference between say, mesons, and night vision. One helps
you see outlines, the other gives you detail and prevents missing
someone in the darkness.

It's hard to balance this precisely because of different colored
backgrounds (looking at you icebox)
More can be done on this front in future but I'm quite happy with things
as of now

I have since expanded to all uses of nightvision, coloring most all of
them.

Along the way I turned some toggleable nightvision into just one level.
Fullbright sucks, and I'd rather just have one "good" value.

I've kept it for a few cases, mostly eyes you rip out of mobs.
Impacted mobs are nightmares, aliens, zombies, revenants, states and
sort of stands.

I've done a pass on all mobs and items that impact nightvision and added
what I thought was the right level of color to them. This includes stuff
like blobs and shuttle control consoles
As with glasses much of this was around reducing vision, though I kept
it stronger here, since many of these mobs rely on it for engaging with
the game

<details>
<summary>
Technical Changes
</summary>

filter transitions.
Found this when testing this pr, seemed silly.

This avoids dumbass overlay lighting lighting up wallmounts.
We switch modes if some turfflags are set, to accomplish the same thing
with more overhead, and support showing things through the darkness.

Also fixes a bug where you'd only get one fullscreen object per mob, so
opening and closing a submap would take it away

Also also fixes the lighting backdrop not actually spanning the screen.
It doesn't actually do anything anymore because of the fullscreen light
we have, but just in case that's unsued.
Needs cleanup in future.

color with a sprite

This is to support the above
We relay this plane to lighting mask so openspace can like, have
lighting

vision goggles and such
Side affect of removing see_in_dark. This logic is a bit weak atm, needs
some work.

It's a dupe of the nightvision action button, and newly redundant since
I've removed all uses of it

trasnparent won't render

These sucked
Also transparent stuff should never render, if it does you'll get white
blobs which suck

</details>

Videos! (Github doesn't like using a summary here I'm sorry)
<details>

Demonstration of ghost lighting, and color

https://user-images.githubusercontent.com/58055496/215693983-99e00f9e-7214-4cf4-a76a-6e669a8a1103.mp4

Engi-glass mesons and walking in maint (Potentially overtuned, yellow is
hard)

https://user-images.githubusercontent.com/58055496/215695978-26e7dc45-28aa-4285-ae95-62ea3d79860f.mp4

Diagnostic nightvision goggles and see_in_dark not hiding emissives

https://user-images.githubusercontent.com/58055496/215692233-115b4094-1099-4393-9e94-db2088d834f3.mp4

Sec nightvision (I just think it looks neat)

https://user-images.githubusercontent.com/58055496/215692269-bc08335e-0223-49c3-9faf-d2d7b22fe2d2.mp4

Medical nightvision goggles and other colors

https://user-images.githubusercontent.com/58055496/215692286-0ba3de6a-b1d5-4aed-a6eb-c32794ea45da.mp4

Miner mesons and mobs hiding in lavaland (This is basically the darkest
possible environment)

https://user-images.githubusercontent.com/58055496/215696327-26958b69-0e1c-4412-9298-4e9e68b3df68.mp4

Thermal goggles and coloring displayed mobs

https://user-images.githubusercontent.com/58055496/215692710-d2b101f3-7922-498c-918c-9b528d181430.mp4

</details>

I think it's pretty, and see_in_dark sucks butt.

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
add: The darkness that glasses and hud goggles that impact your
nightvision (think mesons, nightvision goggles, etc) lighten is now
tinted to match the glasses. S pretty IMO, and hopefully it helps with
forgetting you're wearing X.
balance: Nightvision is darker. I think bright looks bad, and things
like mesons do way too much
balance: Mesons (and mobs in general) no longer have a static distance
you can see stuff in the dark. If a tile is lit, you can now see it.
fix: Nightvision no longer dims colored lights, instead simply
thresholding off bits of darkness that are dimmer then some level.
/🆑

* modular edits

* see_in_dark

* [MIRROR] Adds a unit test to detect double stacked lights [MDB IGNORE] (#19564)

* Adds a unit test to detect double stacked lights

* we really need to get that night vision pr done

* lints fixes

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>

* Update augments_eyes.dm

* Update augments_eyes.dm

* eeee

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:17:22 +00:00
SkyratBot
bf3895ccea [MIRROR] add new hairstyle - Zieglertail [MDB IGNORE] (#19634)
* add new hairstyle - Zieglertail (#73754)

## About The Pull Request

Adds a new hairstyle to the game - Ziegler

 Based on TGMC hairstyle

![image](https://user-images.githubusercontent.com/74047915/222608803-96c8d9e7-d9bd-461a-ba65-d8e28695cc6a.png)

## Why It's Good For The Game

A little more customization for crew members.
And my good friend will be happy)

🆑 Vlada - VastKilleroOm
imageadd: added 1 hairstyle icon

/🆑

* add new hairstyle - Zieglertail

---------

Co-authored-by: VastKilleroOm <74047915+VastKilleroOm@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-03-04 13:03:06 +00:00
SkyratBot
1f753d5d4c [MIRROR] Refactors crew records (#72725) + Medical/Security records now use the max/min age. [MDB IGNORE] (#19078)
* Medical/Security records now use the max/min age.

* merge conflict

* Refactors crew records (#72725)

I have attempted or otherwise started this project at least 4 times. I
am sick of it being on my calendar. The code needs it. I need it.

- This makes crew records a proper datum rather than assigning
properties record.fields.
- General, medical, and security records are merged.
- Did some slight refactoring here and there for things that looked
obvious.
- Wanted states are now defined (and you can suspect someone through
sechud)
- pAI (unrelated but annoying) had some poorly named exported types that
i made more specific
- Job icons are moved back to the JS side (I wanted to get icons for
initial rank without passing trim)

<details>
<summary>previews</summary>

Editable fields & security console

![CM6d74brnC](https://user-images.githubusercontent.com/42397676/213950290-af6cfd76-eb8b-48e9-b792-925949311d9a.gif)

Medical records

![bFJErsvOaN](https://user-images.githubusercontent.com/42397676/214132534-59af1f8c-9920-4b51-8b27-297103649962.gif)

Look and feel of the more current version

![cxGruQsJpP](https://user-images.githubusercontent.com/42397676/214132611-0134eef0-e74c-4fad-9cde-328ff7c06165.gif)

</details>

TGUI'd some of the worst UIs in the game.
Creating new records is made much simpler.
Manifest_inject is made readable.
Probably bug fixes

🆑
refactor: Crew records have been refactored.
refactor: Medical records -> TGUI
refactor: Security records -> TGUI
refactor: Warrants console -> TGUI
qol: Players are now alerted when their fines are paid off.
qol: Cleaned up sec hud examination text.
qol: Adding and deleting crimes is easier.
qol: Writing crimes in the console sets players to arrest.
qol: You can now mark someone as a suspect through sec hud.
/🆑

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

* I've got something that now actually works

Just got to incorporate the records into what players can actually see.

* Turns out that client has already been transferred after all

* Adds the past records in the TGUI records (they're kinda ugly but it works, so y'know)

* Whoops

* Hate you too sometimes Prettier

* Fixes ghost roles using LITERAL records, which caused problems

* Fixes the leaks caused by ghost roles not getting their name right because of the stupid freaking special() proc

* I hate list operations man they're so stupid

* Fixes the stars on the crew manifest!

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-02-28 14:14:24 -05:00
lessthanthree
12d989be4c [MANUAL MIRROR] Adds an Escape Menu (#19217)
* Adds an Escape Menu (#72906)

* suicide

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-02-08 02:20:09 +00:00
Rimi Nosha
d95ca04819 [MODULAR] Fixes All Known Modular Persistence (NIF) Saving Issues (#19096)
* Fuck

* Holy shit
2023-02-08 02:01:25 +00:00
lessthanthree
4999bdfd19 [MANUAL MIRROR] Better groups for antagonists (#18839)
* Better groups for antagonists (#72576)

Better categorizes antagonists into groups for the orbit UI, admin
traitor panel.
Permanently hostile antags were intermixed in the "Alive" section, and
it was sometimes tough to see what's going on.
To do this, many minor antags needed new antag datums which were added
with fluff objectives as a bonus.

Group Name | Antags
--- | ---
Syndicate | Nukies, battlecruiser crew, lone op
Extradimensional Abominations | Nightmare, morph, pyro
slime
Spaceborne Leviathans | Space dragon, (spawned) carps
Invasive Overgrowth | Venus human traps
Arachnid Infestation | Spiders
Eldritch Horrors | Cult constructs, revenant

( = New antag datum, proper orbit category, new objective text)

<details>
<summary>Screenshots (outdated)</summary>

Antags get more tooltip info
![Screenshot 2023-01-08
173344](https://user-images.githubusercontent.com/42397676/211233179-d0e9229c-0f2e-4cd3-838b-fc0c5255ec9c.png)

Populating space dragon + carps (now leviathans)
![Screenshot 2023-01-08
235526](https://user-images.githubusercontent.com/42397676/211267252-2a86f8bc-4b4a-4ad6-81ed-f6b2e72d8fc0.png)

Detail to distinguish job & rank
![Screenshot 2023-01-08
233608](https://user-images.githubusercontent.com/42397676/211267334-60cabefc-b768-4a8e-8d4b-74b3d4fd45b1.png)

New categories in action
![Screenshot 2023-01-09
131003](https://user-images.githubusercontent.com/42397676/211408962-2e3c3cb9-f08e-4e27-a765-6485fe5064b0.png)

Organized Traitor Panel

![Screenshot_20230109_113453](https://user-images.githubusercontent.com/42397676/211392793-a9e6c170-60de-46bc-b0b6-02d74d45e42d.png)

</details>

Better UI, observer experience, admin panel.
It's now very obvious when something is hostile from the orbit panel.

🆑
qol: The orbit menu now sorts antagonists into groups more effectively.
Some get new named groups.
admin: Traitor panel should have slightly more sane categories.
add: Many minor antagonists now have "objectives".
refactor: Refactors code in several antag datums.
/🆑

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>

* Fixes the compile issues

* Also puts the drifting contractor in the syndicate group in the antag panel

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-02-03 19:57:20 -05:00
SkyratBot
9c5408fe27 [MIRROR] Optimizes changing z level as a ghost by something like 85% [MDB IGNORE] (#19030)
Optimizes changing z level as a ghost by something like 85% (#73005)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

Optimizes hud image addition/removal on z change

We were doing a lot of repeated work here, not to mention all the proc
calls.
So I pushed the "operate on loops" behavior into its own proc, so I
could ensure we only do some of this stuff once

This plus some removal of safeties saves 75% of the cost of z level
transitions as a ghost

Prevents double on_changed_z_level calls from ghosts and shuttles

Reacting to z changes used to be done off doMove or one of those
children, timber moved it to Moved, but did not remove the calls that
assumed things like abstract_move wouldn't trigger it

This means that moving up/down as a ghost was causing a double call of
the whole z move stack. Suprised this never broke anything tbh

Makes csv stat tracking actually encode numbers properly, cleans up an
indev comment from plane group code

## Why It's Good For The Game

Speed, and fixes

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-01-29 23:50:33 +00:00
Pinta
ae198af4d9 [MOSTLY MODULAR] NIFs (#18349)
* Revert "Merge remote-tracking branch 'upstream/master' into NIFs"

This reverts commit c2aea213fd400f9d6d12d955340cb0e7d2f9c36f, reversing
changes made to 1bb613b64a603c280abec40d9c82fde69248b196.

* Revert "Revert "Merge remote-tracking branch 'upstream/master' into NIFs""

This reverts commit 10a6f906f70857cfffd9ddef7b609fecc21da902.

* we don't need this (for right now)

* Update nifsoft_shop.dm

* new nif models

* Update nif_implants.dm

* we now have items

* nice

* logging and removers

* Update nifs.dm

* nif repair surgery

* death durability loss and EMPs

* more messages and NIF TGUI fix

* polish

* debug NIF and soulcatcher polish

* new phone action sprite

* NIFs for ghost roles

* Better EMP

* this doesn't really have a good reason to be here.

* lore

* Update modular_skyrat/modules/modular_implants/code/nifsofts/shapeshifter.dm

Co-authored-by: Nerevar <12636964+Nerev4r@users.noreply.github.com>

* Update modular_skyrat/modules/modular_implants/code/nifsofts/shapeshifter.dm

Co-authored-by: Nerevar <12636964+Nerev4r@users.noreply.github.com>

* Update code/controllers/subsystem/ticker.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update nif_implants.dm

* a

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update nifs_tgui.dm

* Update modular_skyrat/modules/modular_implants/code/nifsofts/hivemind.dm

* Update modular_skyrat/modules/modular_implants/code/nifsofts/shapeshifter.dm

* Update modular_skyrat/modules/modular_implants/code/nifsofts/shapeshifter.dm

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* fixes an oversight

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* that wouldn't be good

* Update packs.dm

* Update nifs.dm

* Update nif_implants.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update misc_devices.dm

* Update dualboot.dm

* Update CentCom_skyrat_z2.dmm

* Update CentCom_skyrat_z2.dmm

* Update hivemind.dm

* Apply suggestions from code review

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Update packs.dm

* Update prop_summoner.dm

* Update shapeshifter.dm

* Update packs.dm

* Update nif_presistance.dm

* Update prop_summoner.dm

* Update dualboot.dm

* Apply suggestions from code review

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Tastyfish <crazychris32@gmail.com>

* static data

* Update persistence.dm

* Update persistence.dm

* Update persistence.dm

* uhoh

* Update nif_presistance.dm

* Update nifs.dm

* pain

* Revert "pain"

This reverts commit 3adc919f849b68de2ab4245c7db26a02e85bf0c6.

* I don't know why this was in here

* Update nifsofts.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update shapeshifter.dm

* Update nifs.dm

* Update nifs.dm

* Update modular_skyrat/modules/modular_implants/code/nifsofts/shapeshifter.dm

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Update prop_summoner.dm

* Update misc_devices.dm

* Delete BlueShift_upper.dmm

* Update prop_summoner.dm

* Update prop_summoner.dm

* vendor

* R&D

* Update nifsoft_shop.dm

* Update dualboot.dm

* Update NifPanel.js

* Update money_sense.dm

* I'm sorry for what I must do

* Update money_sense.dm

* cost adjustments

* theme

* Update nifsoft_shop.dm

* examine fix

* examine text change

* Money Sense is now a trait

* Revert "Money Sense is now a trait"

This reverts commit 16c124ffb2cb70136abe6eb41b330d389208afa7.

* component

* Update modular_skyrat/modules/modular_implants/code/nifs.dm

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* we do a bit of file moving

* component

* Update nifs.dm

* Update hivemind.dm

* Update hivemind.dm

* Update prop_summoner.dm

* Revert "Merge remote-tracking branch 'upstream/master' into NIFs"

This reverts commit a7f7945eaa9c9ed6f9253b7cb71c6be79f3bf9e9, reversing
changes made to bca1a7f1811d3a82bf253c5a8d70431567c399a7.

* Revert "Merge remote-tracking branch 'upstream/master' into NIFs"

This reverts commit bca1a7f1811d3a82bf253c5a8d70431567c399a7, reversing
changes made to 2559afc7a9737863f7d96494e01216a1ea0f5428.

* Revert "Merge remote-tracking branch 'upstream/master' into NIFs"

This reverts commit e8293971b07a2ffbe61a7e17d5f9ac94b47ef5bc, reversing
changes made to dad4ef7a9ac697d0e887c336bd486c17fb54f2a8.

* whoops

* Revert "Revert "Merge remote-tracking branch 'upstream/master' into NIFs""

This reverts commit c607aca6bc3e55cc724f25fa6e38011b05ebc8c6.

* Revert "Revert "Merge remote-tracking branch 'upstream/master' into NIFs""

This reverts commit b42f89b9c647d845a17732f1caaf1a50dcdd4515.

* Revert "Revert "Merge remote-tracking branch 'upstream/master' into NIFs""

This reverts commit 1d6ffe92bcaa8035f8918dc533870ec4b74ed9a3.

* Apply suggestions from code review

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* fixes things

* Update nifs.dm

* QoL

* no more summoning infinite items

* start of componentization

* Update prop_summoner.dm

* FIRMLY GRASP IT!

* Update prop_summoner.dm

* Update prop_summoner.dm

* Update nifsofts.dm

* Update prop_summoner.dm

* Update nifsoft_shop.dm

* boy, I really hope somebody got fired for that blunder

* Update nif_presistance.dm

* mistakes were made.

* Delete CentCom_skyrat_z2.dmm

* Revert "Delete CentCom_skyrat_z2.dmm"

This reverts commit 8a1cdc4b065246fb07cbaf5461d01565e0ddbe06.

* Update CentCom_skyrat_z2.dmm

* Update CentCom_skyrat_z2.dmm

* It's a solution

* Update CentCom_skyrat_z2.dmm

* Update CentCom_skyrat_z2.dmm

* Update NifPanel.js

* Price changes

* Update nif_presistance.dm

* Such devastation, this was not my intention.

* Woooo!

* Documentation

* cryo fix

* I am sorry to anyone that had a NIF before the persistence change

* Update nif.dm

* I need to figure out why this is happening.

* Apply suggestions from code review

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* a

* Update modular_persistence.dm

* Update modular_persistence.dm

* Update nifs.dm

* Update nifs.dm

* I do the code

* Hopefully this helps

* Update ticker.dm

* Update modular_persistence.dm

* Removes client requirement

* Use brain, much better for allowing persistent organs and similar in the future.

* Did testing, it fucking works now.

* Update mind_linker.dm

* Update misc_devices.dm

* Update misc_devices.dm

* Update nifs_tgui.dm

* Thanks gamers :^)

* a

* Update nifsoft_shop.dm

* Update nifsofts.dm

* Update hivemind.dm

* Update hivemind.dm

* Update prop_summoner.dm

* whoops

* FUUUUCK

* FUCK x2

* this feels like cargo job gear

* stack trace

* roundstart fix

* Update modular_skyrat/modules/modular_implants/code/nifsofts/prop_summoner.dm

Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>

* Update modular_persistence.dm

* Update nifs.dm

* Update hivemind.dm

* Update nifs.dm

* vital spelling fix

* whoopsie

* Update nif_persistence.dm

* power_refactor

* durability refactor

* a

* Update nifsofts.dm

* pain

* Update modular_skyrat/modules/modular_implants/code/nifs.dm

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Update nifsofts.dm

* Update packs.dm

* Update nifs.dm

* Update nifs.dm

Co-authored-by: Nerevar <12636964+Nerev4r@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: RimiNosha <riminosha@gmail.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
2023-01-24 14:27:00 -08:00
SkyratBot
0f5f5490e1 [MIRROR] Adds the Chin-Length Bob Cut hairstyle! [MDB IGNORE] (#18828)
Adds the Chin-Length Bob Cut hairstyle! (#72788)

## About The Pull Request
Adds a gender neutral (with an albeit feminine touch) haircut! It
circles around the face, with it ending at more or less the same level
as the chin of a human!

![image](https://user-images.githubusercontent.com/77556824/213096317-cf506af9-9d36-4166-b61e-181a7c988296.png)


![image](https://user-images.githubusercontent.com/77556824/213096441-31ff7f6b-8e88-4613-a911-986f751a01b0.png)
## Why It's Good For The Game
More character flavor, and it was a haircut I've used two entire years
without ever formally adding it, and I've had the blessings of @Twaticus
to do so!
## Changelog
🆑 PositiveEntropy
add: Adds a new short length haircut: the Chin-Length Bob Cut!
/🆑

Co-authored-by: Imaginos16 <77556824+Imaginos16@users.noreply.github.com>
2023-01-20 14:27:36 -05:00
SkyratBot
2271aca1bb [MIRROR] Deadchat controlled mobs/objects now appear in the orbit menu. [MDB IGNORE] (#18707)
* Deadchat controlled mobs/objects now appear in the orbit menu.

* Bye bye conflict!

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-01-19 16:18:37 -05:00
SkyratBot
01d4f340bd [MIRROR] Fix polls but in the good way not in the voter fraud way that comes later [MDB IGNORE] (#18782)
* Fix polls but in the good way not in the voter fraud way that comes later (#72749)

## About The Pull Request
Fixes a regression in tgui latejoin menu that broke polls.

🆑
fix: Polls are fixed
/🆑

* Fix polls but in the good way not in the voter fraud way that comes later

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-01-18 13:37:57 +00:00
SkyratBot
7dfd57634d [MIRROR] Client DC Checking for new_player [MDB IGNORE] (#18786)
* Client DC Checking for new_player (#72606)

## About The Pull Request

Don't you love seeing this
```
[2023-01-08 19:43:47.400] runtime error: Cannot execute null.set db player flags().
 - proc name: Login (/mob/dead/new_player/Login)
 -   source file: login.dm,7
 -   usr: (src)
 -   src: xxx (/mob/dead/new_player)
 -   src.loc: null
 -   call stack:
 - xxx (/mob/dead/new_player): Login()
 -
[2023-01-08 19:43:47.453] runtime error: Cannot execute null.set db player flags().
 - proc name: Login (/mob/dead/new_player/Login)
 -   source file: login.dm,7
 -   usr: (src)
 -   src: xxx (/mob/dead/new_player)
 -   src.loc: null
 -   call stack:
 - xxx (/mob/dead/new_player): Login()
 -
[2023-01-08 19:43:47.573] runtime error: Tried to set a mind's current var to a qdeleted mob, what the fuck
 - proc name: set current (/datum/mind/proc/set_current)
 -   source file: _mind.dm,140
 -   usr: xxx (/mob/dead/new_player)
 -   src: /datum/mind (/datum/mind)
 -   usr.loc: null
 -   call stack:
 - /datum/mind (/datum/mind): set current(Phaseu (/mob/dead/new_player))
 - xxx (/mob/dead/new_player): Login()
 -
[2023-01-08 19:43:47.573] runtime error: Cannot read null.holder
 - proc name: Login (/mob/dead/new_player/Login)
 -   source file: login.dm,14
 -   usr: (src)
 -   src: xxx (/mob/dead/new_player)
 -   src.loc: null
 -   call stack:
 - xxx (/mob/dead/new_player): Login()
```
I dont.
## Why It's Good For The Game

Less runtimes.
## Changelog

* Client DC Checking for new_player

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-01-18 04:30:56 +00:00
SkyratBot
f5faf1ef2d [MIRROR] MiiyaBot's HairTweaks 2 [MDB IGNORE] (#18621)
* MiiyaBot's HairTweaks 2 (#72480)

## About The Pull Request

1. **Two** new hairstyles, fitting more punk/messy needs.
2. Changing the shading (and a pixel) on Jade
3. Renaming and fixing odd way it ended on the side view of "Marginally
shorter Yet Long Bedhead".
(From "Marginally Shorter Yet Long Bedhead" to "Shorter Bedhead")
4. Changing the name of "BedHead 4X", and slightly making it darker
around the face as it was a very weak contrast.
(From "BedHead 4X" to "BedHead 4x")

## Why It's Good For The Game

While Adding two more short hairstyles that are about being bold and
punk it gives a little more love to jade to be used with the other
hairs! While also fixing some small oddities from my last changes.
Like odd pixels and way it ends with Marginally shorter yet long
bedhead, and, Changing it's name to a more normal one as the last one
was a joke about the way I described it every time I said I wanted a
shorter version. and while I still like that joke.
I believe it would at least lightly annoy someone due to it being too
big and disturbing the alphabetical order that the list tries to follow.

Here's a example of it all in-game(with comparisons):

![All_in_one](https://user-images.githubusercontent.com/78070418/210670147-97ff3ac4-7392-4007-9a32-cf5fc0c1fe87.png)

## Changelog

:cl:MiiyaBot
add: Two new hairstyles! ("All the Fuzz" & "Over Eye (Izutsumi)")
spellcheck: Renamed "Marginally shorter yet long bedhead" to "Shorter
Long Bedhead"
spellcheck: Renamed "BedHead 4X" to "Bedhead 4x"
fix: Slight changes to "Jade", "Shorter Bedhead", "Bedhead 4x"
/🆑

* MiiyaBot's HairTweaks 2

Co-authored-by: MiiyaBox <78070418+MiiyaBox@users.noreply.github.com>
2023-01-11 15:04:29 -05:00
Tastyfish
b4d7516657 [MANUAL MIRROR] Refactor /ui_state/new_player_state to what it's designed for (#71959) (#18610)
Refactor /ui_state/new_player_state to what it's designed for (#71959)

`/datum/ui_state/new_player_state` now no longer lets users with R_ADMIN
permission see the UI. Changed `/datum/interview` to return always_state
when an admin watches an interview because it is important there.
`/datum/latejoin_menu` now uses new_player_state instead of its own
solution.

`/datum/ui_state/new_player_state` is designed to let lobby players
interact with the UI, so it does not make sense for it to make a weird
exception for admins too. My theory is that this was an oversight when
this was first implemented, since only `/datum/interview` used this
ui_state. It doesn't and it shouldn't be like this though. Code clarity.

No playerfacing changes.

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
2023-01-09 10:12:22 -08:00
SkyratBot
08e45df749 [MIRROR] Quirks are passed an incoming client when applied, allowing quirks to read preferences in add and add_unique. Renders visual quirks on the preference menu dummy. [MDB IGNORE] (#18311)
* Quirks are passed an incoming client when applied, allowing quirks to read preferences in `add` and `add_unique`. Renders visual quirks on the preference menu dummy.

* fixes quirk order to match upstream

* Modular quirk updates

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 04:58:33 -05:00
SkyratBot
b4e7981b47 [MIRROR] Adds fishnets [MDB IGNORE] (#18597)
* Adds fishnets (#72541)

Added new fishnet style socks, in a choice of three lengths

* Adds fishnets

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
2023-01-08 22:54:10 -08:00
SkyratBot
80d1906bd1 [MIRROR] Basic Mobs can run away [MDB IGNORE] (#18196)
* Basic Mobs can run away (#71963)

## About The Pull Request

That's right I'm still atomising #71421, some day I might even post
something related to carp.
This PR adds various behaviours to basic mobs allowing them to run away,
in a couple of variations.

Mice will flee from anyone who doesn't share their factions, at all
times (so they will scatter from most humans, but not regal rats).
Rabbits and Sheep will flee from anyone who has attacked them.
Pigs will run away from people who have attacked them, but only if
they're below half health.

https://user-images.githubusercontent.com/7483112/207127135-d1737f91-d3f7-468a-ac60-7c7ae5d6623d.mp4

Mice are still plenty catchable because they don't run _very far_ (or
very fast) but I think the chase will be good enrichment.

To achieve this I had to change the signal COMSIG_CARBON_HEALTH_UPDATE
into COMSIG_LIVING_HEALTH_UPDATE but frankly the latter seems more
sensible anyway.

## Why It's Good For The Game

More behaviours to use later when designing mobs, gradually gives mobs
more things to do rather than just sort of moving aimlessly around the
area you left them in.
It'll give people hunting rats in maintenance some exercise.

## Changelog

🆑
add: Mice will now run away from you, you have to catch them if you want
to eat them. Use those traps!
add: Rabbits, Sheep, and Pigs likewise won't just sit there and let you
pulverise them if they can see an escape route.
/🆑

* Basic Mobs can run away

* Modular!

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-01-07 23:51:47 +13:00
Gandalf
b389a03745 Revert "[MIRROR] Refactor /ui_state/new_player_state to what it's designed for [MDB IGNORE]" (#18541)
Revert "[MIRROR] Refactor /ui_state/new_player_state to what it's designed for [MDB IGNORE] (#18175)"

This reverts commit d12ee8c506.
2023-01-06 16:39:44 +00:00
SkyratBot
d12ee8c506 [MIRROR] Refactor /ui_state/new_player_state to what it's designed for [MDB IGNORE] (#18175)
Refactor /ui_state/new_player_state to what it's designed for

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
2023-01-06 15:35:20 +00:00
SkyratBot
c812d943e6 [MIRROR] Rescale SM health from 900 to 100, UI improvements, visual changes. [MDB IGNORE] (#18456)
* Rescale SM health from 900 to 100, UI improvements, visual changes. (#72252)

Rescaling because i saw someone think that the number on the supermatter
UI are actually the percent damage over time, which is wrong.

Added delta symbol to damage and energy since they actually denote
change, not the actual value.

Chose the numbers that look good instead of doing a 1:1 rescale of the
old one (i.e. im dividing or multiplying things by 10 instead of 9). In
practice this means I'm lowering the damage cap but increasing damage
over the board for atmos (since it's mostly divisors). Lowered the
damage overall for external stuffs.

A bit of modification on the filter helpers to suit my needs. Added
documentation because I'm awesome.

* Rescale SM health from 900 to 100, UI improvements, visual changes.

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2023-01-01 09:15:37 -08:00
SkyratBot
bee85df93f [MIRROR] makes status tab use signals, thirds the delay between updates [MDB IGNORE] (#18179)
* makes status tab use signals, thirds the delay between updates (#72002)

## About The Pull Request
status panel for carbons and humans instead of hardcoding stuff, uses
signals (borg material storage too)
removes combat mode indicator in status tab from xenomorphs which have a
button for it, but adds it to simplemobs, since they dont have a visual
indicator
adds status tab stuff to basic mobs, i think they were missing
everything by accident
offsets unique status tab stuff for all mobs by a single line
the delay between updates is a third of what it was before, mainly to
make shuttle timers more accurate (approved by kyler)

## Why It's Good For The Game
much cleaner code, makes future implementations easy

## Changelog
🆑
qol: you can see your combat mode status as a simple or basic mob, and
you can see your health as a basic mob
qol: status panel updates three times as fast
/🆑

* makes status tab use signals, thirds the delay between updates

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-31 08:27:12 -08:00
SkyratBot
d14ffba056 [MIRROR] Fixes a bug where latejoin menu would display incorrect number of open slots [MDB IGNORE] (#18410)
* Fixes a bug where latejoin menu would display incorrect number of open slots (#72263)

## About The Pull Request

Fixes number of open slots being less than intended by simply adding an
if statement that prevents negative numbers from being added to the
total.
## Why It's Good For The Game

The number of department slots open will be accurate and there won't be
any nonsense like a negative number of slots.

Fixes #72034
## Changelog
🆑
spellcheck: fixed a bug where latejoin menu would display incorrect
number of open slots
/🆑

* Fixes a bug where latejoin menu would display incorrect number of open slots

Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@users.noreply.github.com>
2022-12-30 03:27:34 +00:00
SkyratBot
1c76ea5334 [MIRROR] Changes our map_format to SIDE_MAP [MDB IGNORE] (#18070)
* Changes our map_format to SIDE_MAP (#70162)

## About The Pull Request

This does nothing currently, but will allow me to test for layering
issues on LIVE, rather then in just wallening.
Oh also I'm packaging in a fix to one of my macros that I wrote wrong,
as a joke

[removes SEE_BLACKNESS usage, because we actually cannot use it
effectively](c9a19dd7cc)

[c9a19dd](c9a19dd7cc)

Sidemap removes the ability to control it on a plane, so it basically
just means there's an uncontrollable black slate even if you have other
toggles set.

This just like, removes that, since it's silly

[fixes weird layering on solars and ai portraits. Pixel y was casuing
things to render below who
shouldn't](3885b9d9ed)

[3885b9d](3885b9d9ed)

[Fixes flicker
issues](2defc0ad20)

[2defc0a](2defc0ad20)

Offsetting the vis_contents'd objects down physically, and then up
visually resolves the confliciting that was going on between the text
and its display.

This resolves the existing reported flickering issues

[fixes plated food not appearing in
world](28a34c64f8)

[28a34c6](28a34c64f8)

pixel_y'd vis_contents strikes again. It's a tad hacky but we'll just
use pixel_z for this

[Adds wall and upper wall plane
masters](89fe2b4eb4)

[89fe2b4](89fe2b4eb4)

We use these + the floor and space planes to build a mask of all the
visible turfs.
Then we take that, stick it in a plane master, and mask the emissive
plane with it.

This solves the lighting fulldark screen object getting cut by emissives
Shifts some planes around to match this new layering. Also ensures we
only shift fullscreen objects if they don't object to it.

[compresses plane master
controllers](bd64cc196a)

[bd64cc1](bd64cc196a)

we don't use them for much rn, but we might in future so I'm keeping it
as a convienince thing

🆑
refactor: The logic of how we well, render things has changed. Make an
issue report if anything looks funky, particularly layers. PLEASE USE
YOUR EYES
/🆑

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Changes our map_format to SIDE_MAP

* Modular!

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2022-12-19 20:58:43 +13:00
SkyratBot
15faaa54f5 [MIRROR] Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. [MDB IGNORE] (#17907)
* Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons.

* conflicts

* Modular!

* update modular

* icon icon icon icon icon

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2022-12-16 16:01:41 +00:00
Tastyfish
7808ad40e1 [Oop] Fixes player joins the game at roundstart (#18169)
Fixes readying
2022-12-16 00:00:05 -05:00
SkyratBot
699e9f8150 [MIRROR] TGUI Latejoin Menu! [MDB IGNORE] (#18025)
* TGUI Latejoin Menu!

* [PR PR] Fixes up the TGUI Latejoin Menu! (#18044)

* Makes Angel, Dragon and Robotic wings available in the preferences menu again (#18013)

Makes Angel, Dragon and Robotic wings available in the prefs menu again

* Automatic changelog for PR #18013 [ci skip]

* [MIRROR] Petrified human statues now drop a (stone) brain on destruction [MDB IGNORE] (#18026)

* Petrified human statues now drop a (stone) brain on destruction (#71816)

## About The Pull Request
Destroying a petrified human statue will now drop their brain, albeit a
little more statue-like.

![image](https://user-images.githubusercontent.com/41448081/206316168-e902d6e4-1cb8-4498-80c8-891c59ae638b.png)

Changed from original PR after talking w/ Fikou about it

## Why It's Good For The Game
While the combo *does* step on the toes of Smite, the statue+rod combo
is capable of fully removing you from the round without a way back very
quickly. This keeps the strength of the combo while not making it
entirely impossible to get back into the round.

## Changelog
🆑
balance: Destroying a petrified human statue will now drop their brain.
/🆑

* Petrified human statues now drop a (stone) brain on destruction

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Automatic changelog for PR #18026 [ci skip]

* [MIRROR] Chaplain armor beacon now uses radial + previews possible armor sets, plus some choice beacon code cleanup. [MDB IGNORE] (#18019)

* Chaplain armor beacon now uses radial + previews possible armor sets, plus some choice beacon code cleanup. (#71674)

## About The Pull Request

- The chaplain choice beacon now uses a radial to select the armor set,
instead of a list, giving the user a preview of what each looks like.

![image](https://user-images.githubusercontent.com/51863163/205417930-f5ceab11-6974-48a9-a871-abcb8228bcf2.png)

- Lots of additional cleanup to choice beacon code in general. Less copy
pasted code.
- All beacons now speak from the beacon with their message, instead of
some going by "headset message". Soul removed

## Why It's Good For The Game

I always forgot when selecting my armor which looks like what, and
choosing an ugly one is a pain since you only get one choice. This
should help chaplains get the armor they actually want without needing
to check the wiki.

## Changelog

🆑 Melbert
qol: The chaplain's armament beacon now displays a radial instead of a
text list, showing previews of what all the armor sets look like
qol: (Almost) all choice beacons now use a pod to send their item,
instead of just magicking it under your feet
code: Cleaned up some choice beacon code.
/🆑

Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>

* Chaplain armor beacon now uses radial + previews possible armor sets, plus some choice beacon code cleanup.

* update modular

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

* Automatic changelog for PR #18019 [ci skip]

* [MIRROR] Fixed an improper proc ref. [MDB IGNORE] (#18031)

Fixed an improper proc ref.

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

* Automatic changelog for PR #18031 [ci skip]

* Fiiix!

* Fuck

* [MIRROR] Windoors are vulnerable to a jaws of life [MDB IGNORE] (#18040)

* Windoors are vulnerable to a jaws of life (#71733)

## About The Pull Request
Windoors can be pried by a jaws of life now
## Why It's Good For The Game
Windoors are already immune to any kind of deconstruction outside of
bashing it, so making it immune to the jaws of life as well seems
excessive
## Changelog
🆑
balance: jaws of life can pry windoors
/🆑

Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>

* Windoors are vulnerable to a jaws of life

Co-authored-by: texan-down-under <73374039+etherware-novice@users.noreply.github.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>

* Automatic changelog for PR #18040 [ci skip]

* Automatic changelog compile [ci skip]

* [fix] fixes det revolver icons (#18049)

* Delete guns.dmi

* Add files via upload

* Automatic changelog for PR #18049 [ci skip]

* [MIRROR] Fixes fake links in Adminwho that led to "no_feedback_link" [MDB IGNORE] (#18027)

* Fixes fake links in Adminwho that led to "no_feedback_link" (#71804)

## About The Pull Request
Basically, sometimes, very rarely, it was possible for this to happen,
when it shouldn't be happening. I was wondering for a little while what
it was about, and then I finally downloaded my chat logs for a round and
realized what was going on. It should no longer happen.

## Why It's Good For The Game
Clickable links that lead nowhere (and thus don't do anything) aren't
very good for the game.

## Changelog

🆑 GoldenAlpharex
fix: There shouldn't be clickable names in Adminwho that don't do
anything anymore.
/🆑

* Fixes fake links in Adminwho that led to "no_feedback_link"

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Fix: Self-Actualization Device Doubling Damage (#18015)

* Change adjustOrganLoss/BruteLoss/FireLoss to set

* Reverts my naive soluton

* Automatic changelog for PR #18027 [ci skip]

* Automatic changelog for PR #18015 [ci skip]

* Fix TGUI latejoin menu not closing properly, properly this time

* Oh yea, flavourtext requirement exists. Not that we actually have it enabled upstream.

* Revert "Merge remote-tracking branch 'upstream/upstream-merge-71883' into fixlatejoinmenu"

This reverts commit 3279e73418f95637162a2923b0431e9e26b43403, reversing
changes made to d46aab7b421fee94d49b57e863bfd8e0917fc43f.

* Fucking stupid code merge shit

* Cool newline bro

* Dumb stupid commented code

* Also this

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: texan-down-under <73374039+etherware-novice@users.noreply.github.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: RatFromTheJungle <62520989+RatFromTheJungle@users.noreply.github.com>
Co-authored-by: Dani Glore <fantasticdragons@gmail.com>
Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>

* fix

Co-authored-by: Rimi Nosha <riminosha@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: texan-down-under <73374039+etherware-novice@users.noreply.github.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: RatFromTheJungle <62520989+RatFromTheJungle@users.noreply.github.com>
Co-authored-by: Dani Glore <fantasticdragons@gmail.com>
Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-12-15 16:18:28 -05:00
SkyratBot
a388d294a6 [MIRROR] Saycode refactor, unit tests, and fixes [MDB IGNORE] (#18032)
* Saycode refactor, unit tests, and fixes

* parrot

* SR tweaks

* say tests from pstream/71873

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-12-15 15:00:29 -05:00
SkyratBot
5da5844b05 [MIRROR] MiiyaBot's Marginally Edited BedHairs [MDB IGNORE] (#18028)
* MiiyaBot's Marginally Edited BedHairs (#71831)

◈ About The Pull Request
Just a small touches to some Bedhair, plus some "new" ones.
currently just a small tiny amount as I have not time to go over most
hairstyles.

![image](https://user-images.githubusercontent.com/78070418/206355969-3b53e730-0c2a-4719-91b1-4dd004885c89.png)

![image](https://user-images.githubusercontent.com/78070418/206355993-89734c05-0254-490a-bbd4-702305a05de2.png)

◈ Why It's Good For The Game
Some hairstyles have some quirky shading, sometimes lacking any at all.
I plan on changing that so more hairstyles can be appreciated by the
common station folk, while hated by the most bald angry man in charge of
NTstation.

🆑
add: Adds far too little haircuts.
(Bedhead 4X, Marginally shorter yet Long Bedhead)
add: changes a tiny portion of bedhairs. (Bedhead 1, 3)
/🆑

* MiiyaBot's Marginally Edited BedHairs

Co-authored-by: MiiyaBox <78070418+MiiyaBox@users.noreply.github.com>
2022-12-15 10:24:27 -05:00
SkyratBot
c681cee605 [MIRROR] Fixes DNA Infuser's brain swapping, a little bit of qol, ui reworked [MDB IGNORE] (#17844)
* Fixes DNA Infuser's brain swapping, a little bit of qol, ui reworked

* conflicts

* fix the bad

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-08 17:41:31 +00:00
SkyratBot
a5a173f672 [MIRROR] Adds the DNA Infuser, a genetics machine you feed corpses to infuse their DNA with yours! What could go wrong?! [MDB IGNORE] (#17811)
* Adds the DNA Infuser, a genetics machine you feed corpses to infuse their DNA with yours! What could go wrong?!

* SR conflicts

* fox ears

* remove duplicate event and merge master

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-07 16:07:26 +00:00
SkyratBot
e1ba7754f9 [MIRROR] Fixes a bug where ghosts spawning on the lower z layer would be double offset [MDB IGNORE] (#17901)
* Fixes a bug where ghosts spawning on the lower z layer would be double offset (#71668)

## About The Pull Request

This code assumes they haven't been offset yet, and they very much have
due to an abstract_move in their pre ..() initialize. Let's just use
initial here it's a cold path so it's fineee

* Fixes a bug where ghosts spawning on the lower z layer would be double offset

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-12-05 11:00:18 +00:00
SkyratBot
257feb1be7 [MIRROR] More horrible 515 proc compatibility. [MDB IGNORE] (#17671)
* More horrible 515 proc compatibility.

* Feex

* Hopefully we're done now

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-11-27 14:46:36 -08:00
SkyratBot
79233546df [MIRROR] OpenDream Cleanup Pass - Unused Vars [MDB IGNORE] (#17694)
* OpenDream Cleanup Pass - Unused Vars (#71428)

## About The Pull Request

OpenDream (@ Altoids1 specifically) discovered that BYOND will not throw
an unused variable warning if its type doesn't exist. So this removes
those from TG.

Co-authored-by: ike709 <ike709@ github.com>

* OpenDream Cleanup Pass - Unused Vars

Co-authored-by: ike709 <ike709@users.noreply.github.com>
Co-authored-by: ike709 <ike709@ github.com>
2022-11-23 08:22:08 -05:00
SkyratBot
12b23baf2c [MIRROR] Imaginary friend refactor [MDB IGNORE] (#17585)
* Imaginary friend refactor (#71058)

## About The Pull Request

This makes imaginary friends less janky. It adds many QoL features like
runechat and typing indicators, fixes jankyness that results from a
runtime. You can now even emote and whisper as an imaginary friend which
adds countless RP possibilities that weren't available before.

![image](https://user-images.githubusercontent.com/27156122/199902939-c3d98955-7a1d-4752-86d2-710f38b077a2.png)

![image](https://user-images.githubusercontent.com/27156122/199902999-c88ffb5f-fed0-4cdf-a202-f221a5cb836e.png)

![image](https://user-images.githubusercontent.com/27156122/199903282-50146014-bf09-4e6b-98d2-aa8ebc94b5e3.png)

![image](https://user-images.githubusercontent.com/27156122/199903417-105cf372-a69b-4d49-bfa6-47390a0e64cf.png)

![image](https://user-images.githubusercontent.com/27156122/199936352-c614ee9e-8084-4c27-b817-779aeff427ce.png)

![image](https://user-images.githubusercontent.com/27156122/199936394-063e1431-59ff-4f5c-9b0f-47c342797cfe.png)

![image](https://user-images.githubusercontent.com/27156122/199936483-1941c349-91c1-4754-8827-7f9b9f5bb967.png)

## Why It's Good For The Game

It makes an old feature better.

## Changelog

🆑 Riggle
qol: Imaginary friends now have runechat, typing indicators and emotes!
qol: Imaginary friends can point and spin
fix: Fixed a bug with imaginary friends where ghosts would stay after
aghosting
refactor: Imaginary friend code massively improved
refactor: Imaginary friends now support multiple friends at the same
time!
admin: Imaginary friends no longer bypass filters
/🆑

* Imaginary friend refactor

Co-authored-by: Riggle <27156122+RigglePrime@users.noreply.github.com>
2022-11-20 00:28:08 +00:00
SkyratBot
24eb8217c0 [MIRROR] Builds logic that manages turfs contained inside an area [MDB IGNORE] (#17379)
* Builds logic that manages turfs contained inside an area

* Mirror Conflict

* Modular!

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-16 14:42:22 -05:00
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
nevimer
e416afb3e5 DNR frees up your job slot. (#17254)
free up job slots
2022-11-07 00:46:13 -05:00
SkyratBot
4a38f59abb [MIRROR] Orbit refactor + features part dos: Icons, health bars. [MDB IGNORE] (#17027)
* Orbit refactor + features part dos: Icons, health bars. (#70580)

* orbit refactor + features

* Via suggestion

Co-Authored-By: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-Authored-By: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>

* cleanup

* readds heatmap optional + bug fix

* fixes bugs

* naming conventions

* what

* indeed

* modular via suggestion

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>

* nice

* pai fix

* misc searching

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>

* Orbit refactor + features part dos: Icons, health bars.

* SR job orbit icons

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-20 19:09:45 -04:00
SkyratBot
612568daa0 [MIRROR] Swaps sleep() to use SECONDS define [MDB IGNORE] (#16973)
* Swaps sleep() to use SECONDS define

* merge conflicts and skyrat modules

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-19 19:43:24 -04:00
SkyratBot
f41dc91760 [MIRROR] Fixes observer point_at queued verb runtime [MDB IGNORE] (#16947)
* Fixes observer point_at queued verb runtime (#70584)

* Fixes observer point_at queued verb runtime

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-18 11:16:08 +01:00
SkyratBot
70fddb7d4b [MIRROR] Adds extended tooltip information to observables in the orbit ui [MDB IGNORE] (#16901)
* Adds extended tooltip information to observables in the orbit ui (#70547)

A continuation of #68389 which addresses an issue that still bothers me to this day:

The orbit menu displays a player's name as a combo of name id transform. It can get lengthy to a point where the names clip the entire screen (as buttons do not multiline).

This PR shortens excessively long player names on the orbit menu and adds a tooltip that will show extended info like full name, health and job titles.

Mostly drawn from concerns brought up in the original.

* Adds extended tooltip information to observables in the orbit ui

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2022-10-16 19:13:12 -04:00
SkyratBot
9f2e0ab820 [MIRROR] Trans Thigh-high and Knee-highs [MDB IGNORE] (#16703)
* Trans Thigh-high and Knee-highs (#70295)

This literally just adds the sprites and entries for transgender thigh-highs and knee-highs as clothing options for socks.
Why It's Good For The Game

Inclusivity, as we already have nonbinary and asexual-related clothing.
Changelog

cl
add: Transgender-themed thigh-highs and knee-highs to the clothing options for socks
/cl

* Trans Thigh-high and Knee-highs

Co-authored-by: sadkris <13920323+sadkris@users.noreply.github.com>
2022-10-07 16:28:11 -07:00