Commit Graph

19702 Commits

Author SHA1 Message Date
_0Steven
c5cc9ea00a Fixes prosopagnosia not working with screentips (bitflag&signal edition) (#86980)
## About The Pull Request

So previously I made a pr for fixing the prosopagnosia quirk, but the
code I wrote was far too ass for what was already incredibly hot code.
In the comments, Mothblocks requested using the same bitflag&signal
logic the other screentip modifiers use.

![image](https://github.com/user-attachments/assets/cd26ab56-f1e8-4be3-a847-5a4509d312c1)
I, of course, said I'd look into it in a few days.

Anyhow, 199 days later, I've made this pr.

Here we introduce a new `mob_flags` var on `/mob`, where we set
`MOB_HAS_SCREENTIPS_NAME_OVERRIDE`.
Then, based on whether this is set, the screentips system sends a signal
to the user mob to request possible name overrides.
We then make the prosopagnosia quirk set this flag and register the
signal, upon which it just sets the name to "Unknown" if it's a human.

This fixes our issues (in a saner way).
## Why It's Good For The Game

Better is prosopagnosia can't be easily obviated by just having
screentips on.
## Changelog
🆑
fix: Prosopagnosia actually accounts for hover screentips, showing
humans as Unknown in those too.
/🆑
2024-11-11 00:41:54 -08:00
Odairu
125a5bb892 Puts silicon laws on the status panel (#86995)
## About The Pull Request
Does as the title says
## Why It's Good For The Game
QoL feature for borgs, allows them to always see their laws without
being in menus/reminded by the AI
## Changelog
🆑
qol: puts silicon laws in the status panel
/🆑

---------

Co-authored-by: Odairu <39929315+Odairu@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-11-11 00:41:54 -08:00
grungussuss
3824185bfb fixes drones being able to store multiple of the same tools in their toolbox (#87001)
## About The Pull Request
fixes this by making all their tools subtypes for drones


![image](https://github.com/user-attachments/assets/52dd2fdc-9816-4135-80f3-d9f880ec44ac)
## Changelog
🆑 grungussuss
fix: fixed drones being able to store multiple of the same type of tools
in their toolbox
/🆑
2024-11-11 00:41:54 -08:00
SmArtKar
3d604dd3f0 Fixes luminiscent major extract activation action not disappearing/updating (#86998)
## About The Pull Request
Closes #86993

## Changelog
🆑
fix: Fixed luminiscent major extract activation button not
disappearing/updating when it should've
/🆑
2024-11-11 00:41:54 -08:00
Y0SH1M4S73R
74b04ad738 [i ded] nerfs Derelict Outpost creature hatchlings (#87017)
## About The Pull Request

The Derelict Outpost ruin is full of mobs that at absolute most 3-shot
most spacemen and have a very rapid AI. Most of this brought about by
the map being untouched as additional abilities have been given to the
type of mob that occupies it. This is far and away overtuned, so I made
the "hatchling" mobs not have health-based damage and speed scaling.

As a bonus, you get map-level varedits replaced with typepaths.

## Why It's Good For The Game

Do space ruins need very-definitely-instant-death mobs, or are we good
with just quick-death-if-you-cant-retreat-in-time mobs?

## Changelog

🆑
balance: The hatchlings on the Derelict Outpost are marginally less
deadly, to the extent that fighting them is slightly more feasible.
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-11-11 00:41:53 -08:00
grungussuss
bf6ddcc06d fixes everyone being able to meow [no gbp] (#87023)
## About The Pull Request
so turns out `/datum/emote/living/basic/pet/cat/meow` doesn't work the
way I thought
## Changelog
🆑 grungussuss
fix: fixed all mobs being able to meow
/🆑
# Conflicts:
#	code/modules/mob/living/basic/pets/cat/cat.dm
2024-11-11 00:40:23 -08:00
Jerry
f3e49c922f Pressing the change floor button while on ladder interacts with ladder (#86954)
## About The Pull Request

This PR implements, as a quality of life feature, the ability to
interact with the ladder in the current turf by pressing the `change
floor` button. This allows for the easier interaction with the ladder if
there are a lot of objects on top of said ladder, but most importantly
fixes many issues where bots could not interact with the ladder and were
stuck!

Bots like the cleanbot could not interact with the ladder, and firebot
could only climb downwards. With this addition to the change floor
button these bots can still freely move up and down, albeit not by
clicking the ladder directly (I will work on that soon™).
## Why It's Good For The Game

Allows for a better UX interacting the change floor button as it feels
weird that you can't change the floor if you are sitting on a ladder.
Also allows cleanbot, firebot and anything that got gatekept previously
to use the ladder with the change floor button.
## Changelog
🆑
qol: change floor button now interacts with ladder if it is in the
current turf
/🆑
2024-11-11 00:40:23 -08:00
Jerry
737ecacc18 Fixes an exception that occured if you are riding a carp and get stunned (#86991)
## About The Pull Request

Fixes stun not getting applied if you are riding a carp, because it
checks if you are flying and tries to get the wings even if you are not
using them, which causes an exception.
## Why It's Good For The Game

Fixes stun not getting applied properly in the case mentioned above.
## Changelog
🆑
fix: fixes stun not getting applied if you are riding a carp
/🆑
2024-11-11 00:40:22 -08:00
Waterpig
d19bf6c1cd Makes loadout renamed items able to be examined when worn (#2349)
## About The Pull Request

When an item is renamed due to loadout settings, it shows up as
clickable on the examine of the person wearing it.


![image](https://github.com/user-attachments/assets/3134b0de-6a23-4037-8d8f-92e22bb74456)

Clicking this link then makes the user examine this item further


![image](https://github.com/user-attachments/assets/6dad0d75-d363-47d6-9f98-9ab9107acee7)

## Why It's Good For The Game

Allows people's neat loadout item descriptions to be visible from an
examine without any stripping needed. This means more reason to
customize these items.

## Proof Of Testing

See above

## Changelog

🆑
add: Loadout renamed/redescribed items can be examined when worn.
/🆑

---------

Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2024-11-08 19:53:23 +00:00
sippykot
c27af5b1ba Cuts down borg untipping timer (#2312)
## About The Pull Request

Edits the time it takes for the borg to un-tip themselves

## Why It's Good For The Game

Borg tipping is explicitly a /tg/ salt PR designed to make the game
worse for silicon players:
https://github.com/tgstation/tgstation/pull/64097
(They even drew deranged little comics to support it, and put "i hate
silicon" in "why it's good for the game" section lol)
We have it reduced from **AN ENTIRE MINUTE** to 20 sec... which is still
a ridiculously long stun.
Reducing it to 3sec (the same time it takes to tip the borg over) makes
it more of a silly/annoying little thing than a way to grief.

## Proof Of Testing

I compiled it.

## Changelog

🆑
balance: borg self un-tip time reduced to 3sec from 20sec
/🆑
2024-11-04 18:50:07 +00:00
LT3
1cd7eda66c Fixes *meow and *purr emotes (and other emote third person keys) (#2278)
## About The Pull Request

MEOW MEOW MEOW

Fixes meow and purr after TG added pet emotes. Also fixes a bunch of
third person keys used incorrectly.

<!-- Please make sure to actually test your PRs. If you have not tested
your PR mention it. -->

## Why It's Good For The Game

MEOW

## Proof Of Testing


https://github.com/user-attachments/assets/313f0141-56fd-43e1-9133-44c462b6c05f

## Changelog

🆑 LT3
fix: Fixed meow and purr emotes playing the pet line instead of the
emote line
/🆑
2024-10-28 21:52:20 +00:00
Shadow-Quill
2e09912e91 Fixes the SSD timer when examining (#2280)
## About The Pull Request

The examine rework bulldozed the change letting people see how long
someone has been SSD for. This fixes it.


## Why It's Good For The Game

🪿

## Proof Of Testing

💤

## Changelog

🆑
fix: SSD timer now visible once more.
/🆑

Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
2024-10-26 22:29:59 +02:00
lessthanthree
9807aa0c41 examine block consistency 2024-10-25 14:33:16 -07:00
lessthanthree
09c45531ff species on examine block 2024-10-25 14:07:34 -07:00
Waterpig
5f42f04517 Woopsies :33 (Fixes runtimes) 2024-10-25 17:54:08 +02:00
Majkl-J
50cced00b0 please help 2024-10-24 02:58:19 -07:00
Majkl-J
62d91fbd65 There is like an infinite amount of sound repaths 2024-10-24 02:58:06 -07:00
Majkl-J
e59d8ba64b Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b 2024-10-23 23:27:16 -07:00
Ben10Omintrix
fbb3079911 AI controllers interactions refactor (#86492)
## About The Pull Request
refactors all behaviors to work through clicking. also removes some now
redundant behaviors. in the future ill try to generalize more of these
behaviors

## Why It's Good For The Game
makes AI controllers work through clicks which may help with swing
combat implementation

## Changelog
🆑
refactor: basic mob AI interactions has been refactored. please report
any bugs
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-10-21 17:23:25 -06:00
Shadow-Quill
6a0678a804 Fixes headpatting (#2228)
<!-- 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

Title.

<!-- Please make sure to actually test your PRs. If you have not tested
your PR mention it. -->

## Why It's Good For The Game

TG upstream pull broke it, I fix it.

## Proof Of Testing

I tested it.

## Changelog

<!-- 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 its 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. -->

🆑
fix: Headpats show a feedback message again.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->
2024-10-21 17:51:29 +00:00
Majkl-J
f8faccd70a Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-10a 2024-10-20 04:12:02 -07:00
Majkl-J
9e64cab0db Readds missed gauntlet line 2024-10-20 02:58:23 -07:00
Waterpig
ebb01f82f2 # This is a combination of 15 commits.
# This is the 1st commit message:

goofsec hud

# This is the commit message #2:

the sensible tgui errors

# This is the commit message #3:

Gets it to compile

# This is the commit message #4:

Fixes all extra runtimes

# This is the commit message #5:

TGUI Fixes 1

# This is the commit message #6:

Removes open dream check

# This is the commit message #7:

Ticked file enforcement

# This is the commit message #8:

A very harsh way to fix potential missing icons

# This is the commit message #9:

Wipes all the errorneously included files

# This is the commit message #10:

fixes missing_icons fully

# This is the commit message #11:

some extra ci fixes before I forget

# This is the commit message #12:

WHAT THE FUCK

# This is the commit message #13:

really?

# This is the commit message #14:

bye waffles

# This is the commit message #15:

hooray
2024-10-19 08:05:04 -07:00
Waterpig
e9a7639d98 Reverts "Removes mutant bodyparts" 2024-10-19 08:05:03 -07:00
Waterpig
bb70889f6e TG Upstream Part 1
3591 individual conflicts

Update build.js

Update install_node.sh

Update byond.js

oh my fucking god

hat

slow

huh

holy shit

we all fall down

2 more I missed

2900 individual conflicts

2700 Individual conflicts

replaces yarn file with tg version, bumping us down to 2200-ish

Down to 2000 individual conflicts

140 down

mmm

aaaaaaaaaaaaaaaaaaa

not yt

575

soon

900 individual conflicts

600 individual conflicts, 121 file conflicts

im not okay

160 across 19 files

29 in 4 files

0 conflicts, compiletime fix time

some minor incap stuff

missed ticks

weird dupe definition stuff

missed ticks 2

incap fixes

undefs and pie fix

Radio update and some extra minor stuff

returns a single override

no more dupe definitions, 175 compiletime errors

Unticked file fix

sound and emote stuff

honk and more radio stuff
2024-10-19 08:04:33 -07:00
LT3
48f6d70b79 [MIRROR] Suit sensors updates/fixes package (#2121) 2024-10-10 12:23:57 -06:00
Ben10Omintrix
6897f33767 AI controllers interactions refactor (#86492)
## About The Pull Request
refactors all behaviors to work through clicking. also removes some now
redundant behaviors. in the future ill try to generalize more of these
behaviors

## Why It's Good For The Game
makes AI controllers work through clicks which may help with swing
combat implementation

## Changelog
🆑
refactor: basic mob AI interactions has been refactored. please report
any bugs
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-10-03 03:44:41 +02:00
Time-Green
68be76e817 Journeying Hitchhikers Shuttle Events + Bugfixes (#86655)
## About The Pull Request

Adds the following new general shuttle events:_
**Hitchhiker**
- 1% chance
- A single assistant in an EVA suit and some PBJs in a suitcase

**Assistant Wave**
- 0.1% chance
- Spawns 10 assistants with internals
- For clarity, they don't get sent to the shuttle, but get launched at
it from space. It's a scuffle of 10 assistants trying to get in without
being spaced or succumbing to the cold/pressure

**Intern Wave**
- Admin only
- Unarmed and armed version
- Spawns centcom interns, with a little announcement to warn they're
coming

I've also fixed projectiles bugging out and admin forced shuttle events
not activating if they were added after the shuttle launched

<details>
  <summary>Admin only events added</summary>
  
**Nukie**
Spawns a single nukie, armed with a shotgun, pistol and edagger.
Basically the deathmatch nukie loadout, you dont want to fight this

**Meaty ores**
Meaty-ores meteors. Have a 4% chance to hit the shuttle, posing a
potential hazard

**3 player controlled fire-sharks**
3 fire sharks controlled by players. Not much to talk about here

**Fireball Wave**
Shoots a wave of fireballs at the shuttle. I think it's cool but
apparently shuttle walls and windows deflect fireballs so it's kind of
moot unless you're outside :/

</details>

## Why It's Good For The Game
The assistant and hitchhiker events are some flavoring that I thought up
a while ago. The Hitchhiker is just intentionally a flavor addition, but
the assistant wave and intern wave can be used by admins to repopulate
or retake the emergency shuttle as well.

## Changelog
🆑
add: Adds an assistant and hitchiker shuttle event, replenishing the
crew mid flight!
admin: Adds two intern wave shuttle events
code: You can now supply shuttle events with outfits!
code: You can now shoot projectiles with the shuttle events!
fix: Fixes projectiles bugging out when fired in shuttle transit space
fix: Fixes admin forced shuttle events not activating when added mid
transit
/🆑
2024-10-02 00:24:18 -07:00
Ben10Omintrix
3af49806fa goldgrub AI now correctly digs away from people (#86971) 2024-10-02 08:17:34 +02:00
Jerry
639f5735b5 Code improvement of mob/move/up() and mob/move/down() (#86961)
## About The Pull Request

This PR improves the code for mob/verb/up() and mob/verb/down() by
removing unnecessary checks.

Added a `can_z_move` check before waiting for a second, making it feel
more responsive as a result because the user will immediately know it
cannot move there.

Additionally, vent crawling is handled by if(ismovable(loc)), which
makes the explicit check for the ventcrawl flag unnecessary.
## Why It's Good For The Game

Apart from the code improvements, previously, if there was space above
you that you could move into but you were unable to fly, the game would
instantly tell you, 'You are not Superman.' However, if there was a tile
blocking you, you had to wait for the entire move action before
receiving the same message. With this code cleanup, you now only have to
wait for the move action if you can move to that z level, making the
experience more consistent across different interactions.
2024-10-01 18:20:08 -05:00
grungussuss
4db6e82e3a Cats can meow and purr (#86841)
## About The Pull Request


https://github.com/user-attachments/assets/a2572845-b345-423d-ab46-d677af5bc7bb


https://github.com/user-attachments/assets/7095c897-06eb-4a62-ab23-ce966930c974

additionally

- [x] make petting cats have them purr work.
## Why It's Good For The Game
it's cute
## Changelog
🆑 grungus
add: cat mobs can *meow and *purr
sound: sound for meow and purr emotes
code: added support for passing emotes into the pet_bonus element
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-10-02 11:22:13 +13:00
tonty
3f0b4abb8d Replaces world.icon_size (and some magic numbers) with defines (#86819)
## About The Pull Request

All usages of world.icon_size in code have been replaced with new
`ICONSIZE_X`, `ICONSIZE_Y` and `ICONSIZE_ALL` defines depending on
context

Replaces some "32" magic numbers with the defines

A few bits of code have been modified to split up x/y math as well

## Why It's Good For The Game

Magic number bad, code more readable, code more flexible and I'm told
there's an access cost to doing world.icon_size so minor performance
gains

## Changelog

🆑 tonty
code: made some code relating to the world's icon size more readable
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-09-29 13:28:32 +00:00
Ben10Omintrix
8064197dd8 fixes wonky hygeinebot pathing (#86940)
## About The Pull Request
hygeinebot's pathing to unclean people was a little slow and
unresponsive because the behavior was trying to do too many things at
once. this splits the behavior into 2, one for chasing and one for
dealing threats. also fixes a minor bug where sometimes hygeinebots
would be unjustifiably angry at people it just met

## Why It's Good For The Game
fixes wonky hygeinebot pathing

## Changelog
🆑
fix: hygeinebots are better at chasing unclean people
/🆑
2024-09-29 14:56:04 +02:00
Return
6122fc5ecf [Mirror] Makes medibots ignore wounded synths (#2147)
<!-- 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
Ports https://github.com/NovaSector/NovaSector/pull/4260
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

<!-- Please make sure to actually test your PRs. If you have not tested
your PR mention it. -->

## Why It's Good For The Game
See link
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Proof Of Testing

<!-- Compile and run your code locally. Make sure it works. This is the
place to show off your changes! We are not responsible for testing your
features. -->

## Changelog

<!-- 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 its 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. -->

🆑 FlufflesTheDog (code), ReturnToZender (port)
fix: A restraining order has been placed on medibots on behalf of
synthetic crew members due to reports of harassment.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->
2024-09-29 00:09:25 -06:00
_0Steven
199a5eff21 Fix imaginary friends not being able to hear their host, some minor adjustments (#86863) 2024-09-28 02:45:12 +00:00
_0Steven
777a8ef8f6 Show a feedback message for whispers you cannot hear (#86791)
## About The Pull Request

In this pr we make it so, instead of doing an early return, whispers you
cannot hear will display a feedback message along the lines of:
`Angel Randolph says something, but you are too far away to understand
him.`
As long as you are capable of seeing them say something.

This includes signing, as it uses the same logic.
If they're not signing and you cannot hear at all, then it skips to the
normal deaf messages.


<details>
  <summary>Example Test Images</summary>

### explanation:

The number after each message denotes the distance between speaker and
listener.
The first image is from the speaker's pov, the second from the
listener's.
 
 
### no blindfold, no earmuffs:

no signing

![image](https://github.com/user-attachments/assets/eaf271e6-3174-40e5-8eec-647aba239e55)

![image](https://github.com/user-attachments/assets/272ef988-46ea-4c40-91a4-f55df2404d5b)

signing

![image](https://github.com/user-attachments/assets/9ef54ff9-9a63-4291-800b-9adce2e00727)

![image](https://github.com/user-attachments/assets/acd76a99-8395-4e10-90c4-dc28aaf3d888)


### no blindfold, earmuffs:

no signing

![image](https://github.com/user-attachments/assets/bf839a0e-8a0e-433c-b60e-d3e0677f6f39)

![image](https://github.com/user-attachments/assets/6da2e226-2149-45a5-9214-3e80bdd71c30)

signing

![image](https://github.com/user-attachments/assets/3fcf08ea-81fb-4e1f-a3d7-4037c9d75635)

![image](https://github.com/user-attachments/assets/e20a4e7b-4fcd-4f2c-9bee-b1bf8cdd9e5d)


### blindfold, no earmuffs:

no signing

![image](https://github.com/user-attachments/assets/963467b7-8cca-44d8-94f5-3f75d86f5e3a)

![image](https://github.com/user-attachments/assets/83793e34-b386-4595-8063-164915ff43e2)


signing

![image](https://github.com/user-attachments/assets/1a8f220d-02f2-4def-826a-a313a35f4894)

![image](https://github.com/user-attachments/assets/248c5e46-ed9d-4f87-b1da-ed6a361228e4)


### blindfold, earmuffs:

no signing

![image](https://github.com/user-attachments/assets/d084a21b-c050-44ba-b16a-86a7b3d2aa4c)

![image](https://github.com/user-attachments/assets/7b797034-7b0d-4238-b2eb-135193cab5c7)




</details>

## Why It's Good For The Game

Currently, someone whispering grants zero feedback to listeners who are
beyond 2 tiles (without good hearing), all they get is that the
speaker's typing indicator disappeared. This makes it look
indistinguishable from the speaker just having backspaced their message.
This is _especially_ annoying with soft-spoken, as it tends to cause
other players to disengage, because to them you just didn't press enter
if they left your immediate range before you finished speaking.

But even outside of that, arguably, even if you couldn't _hear_ it, you
should be able to _see_ the movements of them speaking.
And really, I just think that it'd lead to fun interactions if you could
grumble to yourself or whisper amongst each other and have people
actually know you're up to _something_.

## Changelog
🆑
add: You can now see people whispering, even if you cannot hear what
they're saying, unless you are blind (obviously). The speaker wearing
something that covers their mouth, being invisible, or being inside of
something counteracts this.
/🆑
2024-09-28 04:24:56 +02:00
Ben10Omintrix
5b8358cb74 raptor retaliate targetting fix (#86925)
## About The Pull Request
raptors werent meant to retaliate against each other or against their
owner. this was initially handled by their targeting strategy, however
some changes to it at some point broke this. raptors would now
over-escalate conflicts against troublemaker raptors, locking both into
a deathmatch. this fixes that

## Why It's Good For The Game
fixes raptor retaliate targetting

## Changelog
🆑
fix: fixes raptors retaliating against each other and their owners
/🆑
2024-09-28 04:18:57 +02:00
grungussuss
2cf34ec44e Reduces volume of the nuke sound (#86888) 2024-09-27 16:33:45 +02:00
SmArtKar
d4ac95a0e1 Nobody expects the span inquisition: replaces most <span>s with macros (#86798)
## About The Pull Request
123 changed files and multiple crashes after writing broken regex, I
replaced most remains of direct spans with macros. This cleans up the
code and makes it easier to work with in general, see justification for
the original PR. I also fixed a bunch of broken and/or unclosed spans
here too.
I intentionally avoided replacing spans with multiple classes (in most
cases) and spans in the middle of strings as it would impact readability
(in my opinion at least) and could be done later if required.

## Why It's Good For The Game

Cleaner code, actually using our macros, fixes borked HTML in some
places. See original PR.

## Changelog
Nothing player-facing
2024-09-26 19:36:13 +00:00
SmArtKar
ad111f4950 Spacemove refactor - Newtonian physics (#84869)
## About The Pull Request

This PR significantly enhances how zero-g movement works. Its no longer
locked to one of 8 directions, everything now has inertia and is
affected by weight. This means that throwing a piece of wire will no
longer completely reverse your movement direction, and that being thrown
out of mass driver no longer will slow you down to a halt at some point.

This leads to following gameplay changes:
* Guns now accelerate you. Ballistics have higher acceleration than
lasers, and higher calibers have higher acceleration than smaller ones.
This means that firing full-auto weapons in zero-g will make you drift
and accelerate significantly. While this can be a hilarious way to
travel in space, it makes using them trickier.
* Impacting a wall or an object while moving at high speeds will cause
you to violently crash into it as if you were thrown. Careful when
exploring!
* Jetpacks now have inertia. Changes introduced in #84712 have been
mostly reverted, although speed buff has been reduced to 0.3 instead of
0.5 (although this is compensated by new movement mechanics, so overall
speed should be roughly equal). All MODsuit jetpacks now possess the
speed boost. Advanced MODsuit jets (which has also been added back) and
captain's jetpack instead have higher acceleration and stabilization
power, providing much more precise control over your movement.
* Firing guns while moving on a jetpack will partially negate your
pack's acceleration, slowing you down. Non-advanced jetpacks'
stabilization is not enough to compensate for heavy caliber weaponry as
sniper rifles, shotguns or rocket launchers.
* You no longer instantly decelerate upon sliding along a wall. Instead,
it may take a few tiles if you are moving at extreme speeds. Passing
over lattices still allows you to grab onto them!

As space movement is angle-based instead of dir-based now, its much more
smooth than before due to using new movement logic.

Example of jetpack stabilization in action:

https://github.com/tgstation/tgstation/assets/44720187/6761a4fd-b7de-4523-97ea-38144b8aab41

And, of course, you can do this now.

![jetpack_500](https://github.com/tgstation/tgstation/assets/44720187/37b11cd8-2bd1-4640-ae0c-5e0cc505bf52)

**This pull request requires extensive gameplay testing before
merging**, as a large amount of numbers have been picked arbitrarily in
an attempt to keep consistency with previous behavior (guns and
normal-sized items applying 1 drift force, which is equal to what
everything applied before this PR). Jetpacks and impacts may also
require adjustments as to not be frustrating to use.

Closes #85165

## Why It's Good For The Game

Zero-G refactor - currently our zero-g movement is rather ugly and can
be uncomfortable to work with. A piece of cable being able to accelerate
you the same as a duffelbag full of items when thrown makes no sense,
and so does instantly changing directions. Inertia-based version is
smoother and more intuitive. This also makes being thrown into space
more of a hazard (possibly opening the door for explosive
decompressions?)
Jetpack inertia and gun changes - this is mostly a consequence of
inertia-based movement. However, zero-g combat being preferred during
modes like warops was an issue due to it negatively affecting everyone
without jetpacks which are in limited supply onboard. This reverts the
mobility changes which severely impacted space exploration, while making
zero-g combat more dangerous and having it require more skill to be a
viable option.

## What's left

- [x] Refactor moth wings to use jetpack code
- [x] Refactor functional wings to use jetpack code
- [x] Locate and fix a recursion runtime that sometimes occurs upon
splattering against a wall
- [x] Add craftable tethers and modify engineering MOD tethers to use
the same system

## Changelog
🆑
add: You can now craft tether anchors, which can be secured with a
wrench and attached to with right click. They won't let you drift into
space and you can adjust tether length/cut it via lmb/rmb/ctrl click on
the wire.
add: MOD tethers now remotely place and connect to tether anchors
instead of throwing you at where they landed.
balance: MOD tethers can now be used in gravity
balance: Jetpacks are now inertia-based. 
balance: Guns can accelerate you significantly in zero-g.
balance: All jetpacks now give you equal speed buff, however advanced
MOD ion jets and captain's jetpack have higher acceleration/deceleration
values.
refactor: Refactored zero-g movement to be inertia-based and utilize
angles instead of directions.
/🆑
2024-09-26 02:49:54 -07:00
MrMelbert
c42d4dcfb2 Health Analyzer Rework (medial mains inquire within) (#86666) 2024-09-25 18:18:24 +00:00
Sealed101
196960f6ed Gelatinous cubes stop digesting dead mobs instead of mobs with 200 brute damage; Consume action changes to Eject when a mob is consumed (#86817)
## About The Pull Request

Title; instead of using 200 brute damage as a point of "victim has been
digested enough", it now uses death. Should be about the same
mechanically, though consuming alive humans with burn damage will puke
them out sooner now, since they won't be able to accumulate as much
brute damage as before. But I think it's ?fine?, it feels kinda cheesy
to let the cube eat an already almost fried human patty after it expires
anyway.

EDIT: Consume action isn't allowing for more than one mob to be consumed
at a time, and the cube didn't have a way to dispose of the mob it's
consuming, so per request I changed it so the action now changes to
_Eject Mob_ when you consume a mob, letting you do just that. Also fixes
visible message of an attempt at consuming a mob not showing the
victim's name.

## Why It's Good For The Game

Fixes #53512
QoL for getting rid of the consumed victim
No more devouring blank space (in the visible message)

## Changelog

🆑
fix: gelatinous cubes now puke out their consume victim when said victim
dies, not when it accumulates 200 brute damage (not all mobs can get
damaged to that point)
qol: gelatinous cube's Consume action can now be used to eject the
currently consumed mob
fix: fixed gelatinous cube's consume attempt not showing the victim's
name properly (You start attempting to devour  !)
/🆑
2024-09-24 14:50:41 -04:00
grungussuss
58501dce77 Reorganizes the sound folder (#86726)
## About The Pull Request

<details>

- renamed ai folder to announcer

-- announcer --
- moved vox_fem to announcer
- moved approachingTG to announcer

- separated the ambience folder into ambience and instrumental
-- ambience --

- created holy folder moved all related sounds there
- created engineering folder and moved all related sounds there
- created security folder and moved ambidet there
- created general folder and moved ambigen there
- created icemoon folder and moved all icebox-related ambience there
- created medical folder and moved all medbay-related ambi there
- created ruin folder and moves all ruins ambi there
- created beach folder and moved seag and shore there
- created lavaland folder and moved related ambi there
- created aurora_caelus folder and placed its ambi there
- created misc folder and moved the rest of the files that don't have a
specific category into it

-- instrumental --

- moved traitor folder here
- created lobby_music folder and placed our songs there (title0 not used
anywhere? - server-side modification?)

-- items --

- moved secdeath to hailer
- moved surgery to handling

-- effects --

- moved chemistry into effects
- moved hallucinations into effects
- moved health into effects
- moved magic into effects

-- vehicles --

- moved mecha into vehicles


created mobs folder

-- mobs --

- moved creatures folder into mobs
- moved voice into mobs

renamed creatures to non-humanoids
renamed voice to humanoids

-- non-humanoids--

created cyborg folder
created hiss folder
moved harmalarm.ogg to cyborg

-- humanoids --




-- misc --

moved ghostwhisper to misc
moved insane_low_laugh to misc

I give up trying to document this.

</details>

- [X] ambience
- [x] announcer
- [x] effects
- [X] instrumental
- [x] items
- [x] machines
- [x] misc 
- [X] mobs
- [X] runtime
- [X] vehicles

- [ ] attributions

## Why It's Good For The Game

This folder is so disorganized that it's vomit inducing, will make it
easier to find and add new sounds, providng a minor structure to the
sound folder.

## Changelog
🆑 grungussuss
refactor: the sound folder in the source code has been reorganized,
please report any oddities with sounds playing or not playing
server: lobby music has been repathed to sound/music/lobby_music
/🆑
2024-09-23 22:24:50 -07:00
Ghom
b9fad92412 Adds achievement-unlockables hats for orbies (feat. big rollies from hacked cigarette vending machines) (#86098)
## About The Pull Request
So, do you remember orbies, those cutesy virtual PDA pets from that PR
that Ben made roughly six months ago before moving on his next project,
leaving them to be probably forgotten in a near future/present/past?
Yeah, personally I never played around, however I recalled that they do
have customizable virtual hats, which can be selected from a dropdown in
the UI, and I thought that it would be a perfect target for some
achievement-related content, as they're totally cosmetic that provides
no gameplay advantage nor affects balance in no way whatsoever. I cannot
sit well with cheevos being purely an end to itself, that's the reason
this PR exists.

The new additions to orbies hats, and their respective required
achievements are:
- The fishing hat (Legendary Fisher)
- A huge-ass rollie (Unhealthy Snacks) (yeah, it isn't exactly a hat but
the code in no way assume that the item has to be a hat, beside vars
named like that for the sake of convenience)
- A tape wizard hat (Archmage)
- An energy cakehat (Very Important Piscis)
- A bounty hunter cowboy hat (Hot Damn!)
- A fancy crown (Outdebted)

The huge-ass rollie (called fat dart) in the game, is a new cigarette,
rarely found in hacked cigarette vending machines. It's obviously a
reference to that Ralsei meme from 3 years ago or so but I personally
don't care, I just wanted to give an excessively big cigarette to orbies
to symbolize the proposterous accomplishment of eating 500 cigarettes in
a single round without dying from nicotine OD less than halfway through,
but since orbie hats use actual items are references for their
appearance, I found myself obliged to add one to the code. Overall, the
fat dart comes from an old PR on Citadel, though I had to resprite it
myself.

Here's a lazy collage of the hats. For some reason unbeknownst to me,
the hats are horizontally squished. I need to ask Ben why he did them
this way when Orbies' heads are as wide as a rugby ball.

![immagine](https://github.com/user-attachments/assets/f1b0e28f-1fb5-4678-bc32-fe38ca04a1b6)

## Why It's Good For The Game
Simple, extra cosmetic stuff for a simple feature that's as relevant as
playing around with plushes.

## Changelog

🆑
add: Added more customizable options to PDA virtual pets, which can be
unlocked by completing achievements.
add: Added a fat dart that can be rarely found in hacked cigarette
vending machines.
/🆑
2024-09-23 08:59:57 +12:00
Likteer
061ba1a59a Intentional *scream is audible again, now w/ 5s cooldown (#86782)
Removed the only instance of `only_forced_audio = TRUE` in /tg/,
replaced with `cooldown = (5 SECONDS)`.
The variable is still there in case someone needs it.
## About The Pull Request
The variable was introduced in
https://github.com/tgstation/tgstation/pull/42216
to prevent it from getting annoying.

I discussed this change on the forums, previously assuming it was server
config
https://tgstation13.org/phpBB/viewtopic.php?f=9&t=37131
and people seemed receptive to the idea, spam being the only concern.
## Why It's Good For The Game

There are better ways to prevent spam.
Extending the cooldown is more favorable than being blocked completely 
(this is the treatment cyborg *deathgasp received, which is a longer,
more jarring sound).

Audible emotes help you grab the attention of others (for better or
worse).
I genuinely find them amusing at times & they remind me of the person on
the other side.

There is some limit to play-pretend. These emotes enabled some
interactions with players I would not have had otherwise.
As long as we stop the spam, it breathes some life into a game full of
clicking, pointing at people and typing indicators.
## Changelog
🆑
del: Intentional screaming has been unmuted. Now has a 5s cooldown
instead.
/🆑
2024-09-22 18:13:41 +02:00
Ben10Omintrix
51cc8d62dc fixes botkeeper displaying wrong states (#86786)
## About The Pull Request
bot modes werent correctly reflecting the bot's AI states. this pr fixes
that. also fixes some issues where the bot's AI might get stuck
inbetween switching modes

## Why It's Good For The Game
closes #86771

## Changelog
🆑
fix: botkeeper now displays bot's correct states!
/🆑
2024-09-21 15:09:58 +02:00
san7890
a4328ae1f9 Audits tgui_input_text() for length issues (#86741)
Fixes #86784

## About The Pull Request

Although some of the issues found were a direct result from #86692
(c698196766), there was still 40% of
length-related issues that wouldn't be covered anyways that are fixed in
this PR. I.E.:

* Name inputs without `MAX_NAME_LEN`
* Desc inputs without `MAX_DESC_LEN`
* Plaque inputs without `MAX_PLAQUE_LEN`
* Some people just screwed up the arguments so it would prefill
something like "40" in the `default` var because they didn't name their
vars.

To help me audit I added a lot of `max_length` named arguments to help
people understand it better. I think it might be kinder to have a
wrapper that handles adding `MAX_MESSAGE_LEN` in a lot of these cases
but I think there is some reason for a coder to be cognitive about input
texts? Let me know what you think. I didn't update anything
admin-related from what I can recall, let me know if anything needs to
be unlimited again.
## Why It's Good For The Game

The change to `INFINITY` notwithstanding, there were still an abundance
of issues that we needed to check up on. A lot of these are filtered on
down the line but it is clear that there needs to be something to catch
these issues. Maybe we could lint to make `max_length` a mandatory
argument? I don't know if that's necessary at all but I think that the
limit should be set by the invoker due to the wide arrangement of cases
that this proc could be used in.

This could all be a big nothingburger if the aforementioned PR is
reverted but a big chunk of cases fixed in this PR need to be fixed
regardless of that since people could put in 1024 character names for
stuff like guardians (or more now with the change). Consider this
"revert agnostic".
## Changelog
🆑
fix: A lot of instances where you could fill in 1024-character names
(normal limit is 42) have been patched out, along with too-long plaque
names, too-long descriptions, and more.
/🆑
2024-09-20 22:46:41 +00:00
carlarctg
8aceed5a2d Legions borne from mimes can no longer talk (#86778)
## About The Pull Request

Legions borne from mimes can no longer talk

## Why It's Good For The Game

Immersion breaking oversight. Just as dwarves make tiny legions mimes
make mute legions

## Changelog

🆑
fix: Legions borne from mimes can no longer talk
/🆑
2024-09-21 00:05:06 +02:00
Arturlang
abea882914 Bloodsucker power refactor (#1458)
<!-- 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
Refactors bloodsuckers powers heavily and changes around a lot of few
powers work and even removes a lot of copypasta from tremere powers.
fixes #1384
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

<!-- Please make sure to actually test your PRs. If you have not tested
your PR mention it. -->

## Why It's Good For The Game
Currently Tremere is pretty meh compared to other bloodsuckers, and
bloodsucker powers use a lot of code that actions now implement
themselves.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Proof Of Testing
I basically test almost every change, as part of how I work, obviously
not completely thoroughly thus testmerges,.
<!-- Compile and run your code locally. Make sure it works. This is the
place to show off your changes! We are not responsible for testing your
features. -->

## Changelog

<!-- 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. -->

🆑
refactor: Heavily refactors how bloodsucker powers function.
refactor: Tremere powers no longer have subtypes for each level.
add: Completely redoes how bloodsucker ability descriptions, both the
longer antag panel and the action button hover over, they will actually
tell you actual values that the game itself uses for damage, cooldowns,
and effect durations
balance: Tremere powers can now level up as far as you want.
balance: Mesmerize is heavily reworked, now it no longer forces both
parties to stand still for it to work, but it is obvious to the victim
when used, however the victim is muted for the duration of the spool up,
and will stun and mute normally if the do_after completes.
add: Mesmerize now has a secondary that allows you to mute and confuse
your victim that happens on a right-click,
dominate, the tremere's version instead knockdowns.
add: Tremere's dominate now has a visual timer for temporary vassals,
visible only to the master's vassals and the master themselves.
balance: Tremere's dominate now only requires level 2 to create
temporary vassals, but the duration now scales with the level. It now
requires the potential vassal to have more than 336 blood, and will use
it all up once the duration ends, effectively making it only usable once
per person.
balance: All tremere powers can now level up past level 4
balance: Thaumaturgy is heavily reworked, it now has a charge system,
and while the projectile deal less damage, you can shoot a lot more of
them, and the projectiles will seek towards any non-vassal mob near
where you cast it.
refactor: Separates bloodsucker ability bitfields and action bitfields
to avoid overriding eachother
balance: Bloodsuckers going into torpor outside of coffins will always
die, but will wake out of torpor at 20% maxhealth(not counting critical
health)
balance: A coffin being opened during sol will wake you up, given you
are LITERALL BURNING UN-ALIVE.

/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->

---------

Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
2024-09-20 20:00:32 +00:00
MrMelbert
0c58911911 Deceased and asleep humanoids now close their eyes (except those with special eyes like Moths) (#86698)
## About The Pull Request


![image](https://github.com/user-attachments/assets/c60a545e-7632-4d1d-9077-e43a2c7b3016)

## Why It's Good For The Game

A little bit of added immersion, mainly.

Also doesn't mess with people faking death (not ling fake death,
*deathgasp shenanigans) because you can literally just wear glasses or
turn your body over and people can't see your eyes

Also doesn't necessarily *hide* the eyes, so if you examine a dead
cultist you'll still see `They have glowing red eyes`.

Also yes fakedeath (ling fake death) counts as deceased so your eyes
close

## Changelog

🆑 Melbert
qol: Deceased and asleep humanoids will now close their eyes
/🆑
2024-09-20 08:03:53 +02:00