Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What is even going on #1

Closed
wants to merge 308 commits into from
Closed

What is even going on #1

wants to merge 308 commits into from

Conversation

Majkl-J
Copy link
Owner

@Majkl-J Majkl-J commented Apr 17, 2024

About The Pull Request

Why It's Good For The Game

Changelog

🆑
add: Added new mechanics or gameplay changes
add: Added more things
del: Removed old things
qol: made something easier to use
balance: rebalanced something
fix: fixed a few things
sound: added/modified/removed audio or sound effects
image: added/modified/removed some icons or images
spellcheck: fixed a few typos
code: changed some code
refactor: refactored some code
config: changed some config setting
admin: messed with admin stuff
server: something server ops should know
/:cl:

comfyorange and others added 30 commits April 7, 2024 09:18
## About The Pull Request
Using these search regexes:

Ending in 0:
`addtimer\((.*),\s?(\d{1,3})0\b\)`
replacement:
`addtimer($1, $2 SECONDS)`

Two digit ending in odd:
`addtimer\((.*), (\d)([1-9])\)$`
replacement:
`addtimer($1, $2.$3 SECONDS)`

Single digit ending odd:
`addtimer\((.*), ([1-9])\)$`
replacement:
`addtimer($1, 0.$2 SECONDS)`

## Why It's Good For The Game
Code readability

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request

Adds Watcher Wreaths. An item that makes it look like you have a
slightly floating thorn crown that you can make from some of their
material parts (and the icewing crusher trophy for the icewing variant).

The wreath has emissives. They don't do anything mechanically, they're
just for show.


![wreath](https://github.com/tgstation/tgstation/assets/40847847/84b7cf89-2087-4c5c-85c1-d911c2e7ea13)


![image](https://github.com/tgstation/tgstation/assets/40847847/77bcda12-e29f-45f0-ad4a-8f25de12c0ef)


![image](https://github.com/tgstation/tgstation/assets/40847847/da3321bb-b24d-4e60-8648-455483e955d6)

## Why It's Good For The Game

I really like the whole thing with turning lavaland monsters into
trophies and cosmetics. Going down and coming back up looking like
someone who just crawled through a horror movie and took some souvenirs
is great. Stuff like the trophy accessories, bone and drake armor and
many of the various lavaland items have this quality, and it always
amuses me when a tech sees a dressed up miner and just goes 'holy shit,
where did you get that'?

Drip is the ultimate reward for playing miner. Nobody can tell me
otherwise. this is the endgame every miner craves. And I crave a goddamn
crown made from the broken remains of my enemies.

## Changelog
:cl:
add: Watcher wreaths. Made from the mangled remains of a watcher, now a
handsome accessory for you to wear a few inches behind your head. Comes
in Normal and Icewing variants.
add: Some bounties for the two variants of watcher wreaths.
/:cl:
## About The Pull Request
You may remember this, that's because I accidentally deleted it before
while trying to change things. Anyways!
Adds drop-down selections and new options to transhumanist. also fixes a
minor typo
Previously, you could choose your replaced limb by taking prosthetic
limb, setting what you want changed, and then switching to
transhumanist, since they used the same preference previously.

## Why It's Good For The Game

Transhumanist felt strange because it was hypothetically a voluntary
operation, but the augmentation clinic just spun the wheel on what you
got replaced. From a role-playing perspective, being unable to choose is
uninteresting and confusing. Also it always says your limb being was
being replaced with a robotic arm and that annoyed me. Now that you are
able to select your replacement part, I've added two new options, the
robotic voice box, good for a more prominent change then a limb that
will be hidden for most of a round, and flashlight eyes, for when you
are truly committed to being rushed directly to robotics seeing the
bright future ahead of humanity!

## Changelog
:cl:
add: Transhumanist now allows you to select your augmentation
add: Transhumanist can now provide a robotic voice box, or flashlight
eyes
spellcheck: Transhumanist's roundstart text has been re-written to not
be wrong
/:cl:

---------

Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
This should be completely fine to run on our current servers.

Moves the (massive) javascript out of tgui.html into its own file so I
can lint/format/minify it
Removes some of the checks for earlier versions of IE. No need to check
for these now, especially not later
Removes some pre-ie11 checks we're not using now
Creates a fn to check if the user is running blink engine
(chromium/edge)
## Why It's Good For The Game
516 prep
…nates absolute. (tgstation#82468)

## About The Pull Request
CHEAP_HYPOTENUSE() no longer absolutes the differences between the
coordinates.
## Why It's Good For The Game
It gets squared so it doesn't need to be done.
## About The Pull Request

Stops activation of all neutered symptoms in a advanced disease.

## Why It's Good For The Game

Closes tgstation#68944

## Changelog

:cl:
fix: Narcolepsy is no longer activated while neutered.
/:cl:
## About The Pull Request

`check_captivity` accepts a mob, not a mind


![image](https://github.com/tgstation/tgstation/assets/51863163/77952d56-8142-4bbc-8042-028dcb39a989)

Which leads me to believe this always returned `null` and always failed.

But checking further and this proc does not return a truthy or falsy
value at all, meaning even if this runtime didn't happen, it still
wouldn't function correctly. So I made it check for `CAPTIVE_XENO_PASS`.

## Changelog

:cl: Melbert
fix: Captive Xeno end round report should make a tad more sense
/:cl:
## About The Pull Request

It always runtimed due to `replace_floors` being `null`
and because it runtimed it never got to set `replace_floors` to a list

## Changelog

:cl: Melbert
fix: Fix fancy anomaly theme being broken
/:cl:
…ion#82489)

## About The Pull Request

`src` vs `source` moment. 

Plus some minor code cleaup. 

## Changelog

:cl: Melbert
fix: Skill rewards should properly be dropped out of unworthy player's
hands
/:cl:
This reverts commit 34890b9.

It appears my decision to merge it was a bit too liberal as it's
interfering with admin functions (tgstation#82521). this is just a test mergeable
PR to have for the time being to prevent it from fucking with servers

test merging TGUI PRs is a bit CBT for the record as i believe it
interferes with the CDN in some ways that might break for players... so
just be warned should you apply this. maybe soft stop and then TM? your
call
tgstation#82495)

## About The Pull Request

Broken chameleon kits can be EMP'd to un-break them. This fixes that and
makes them permanently broken.
## Why It's Good For The Game

Patching a possible exploit
Fixes tgstation#82454 
## Changelog

Broken chameleon kits can't be unbroken by an EMP.
:cl:
fix: Broken chameleon kits can't be unbroken by an EMP.
/:cl:
## About The Pull Request

This removes some dust from a space tile that was throwing stack_traces
every time the Maint Mania map was loaded up.
## Why It's Good For The Game

Less clutter while looking for an entirely unrelated runtime regarding
deathmatch.
## Changelog
:cl: Rhials
fix: Sweeps a tile of dust off of the Maint Mania deathmatch map, which
was causing errors.
/:cl:
## About The Pull Request

It was sending back stringified numbers as inputs. This came from a
typescript cleanup pr from sync (tgstation#82000) and was ultimately caused by
a... I think misunderstanding of how the color list works (tgstation#67967)

## Why It's Good For The Game

Works like a charm now, which is good cause I use it a lot

## Changelog
:cl:
fix: The color matrix editor now works properly again
/:cl:
## About The Pull Request
Context: tgstation#82522

Apparently you cant just stuff the byond helper functions into an
external js file, but if you do, byond won't even let you know its a
problem until the servers crash and you have to run `bin/clean` just to
unbork your entire repo

This reimplements the changes from tgstation#82473 without:
- moving the byond helper functions externally
- causing a tooltip render issue in panel

## Why It's Good For The Game
516 prep (again this time)
## About The Pull Request

Adds a new final objective option with a classic premise; the forced
battle to the death.
The concept is that the Syndicate will provide you with an implanter
tool you can use on an arbitrary number of crew members. Once you have
at least 6 (though there is no ceiling) you can activate the implants to
start the Battle Royale and broadcast the perspectives of everyone you
implanted live to the entertainment monitor.

After activation these implants cause you to explode upon death. If at
the end of 10 minutes, more than one person remains unexploded then all
of the remaining implants will detonate simultaneously.
Additionally, one of the station's departments (Medbay, Cargo, Science,
or Engineering) will be chosen as the arena. If after 5 minutes pass
you're not within that department (or if you leave it after that time
has passed) then you will be killed.

The Syndicate plan on both using the recorded footage to study
Nanotrasen technology, and also to sell it as an underground blood
sport, and so have employed a pirate broadcasting station to provide
colour commentary.

The implantation is silent, however it requires you and your target to
be adjacent and stood still for one and a half seconds.
Once implanted, it will occasionally itch and eventually signal to the
implantee that something is up, so once you start implanting someone
you're on a soft timer until you are given away. You can also implant
yourself if you want to do that for some reason.

Removing an implant from someone has a 70% chance of setting it off
instantly, but it _is_ possible. If the implant is exposed to EMP, this
value is randomised between 0 and 100%. You could also try doing surgery
while the patient is wearing a bomb suit or something, that puzzle is
for you to solve and I'm not going to tell you the answers. I'm sure
you'll think of ones I haven't.

## Why It's Good For The Game

Adds a somewhat more down-to-earth but still hopefully exciting and
threatening option which should let people mess around with the sandbox.
The mutual death element provides some roleplaying prompts; nothing
actually _forces_ you to fight apart from fear of death and it may be
possible to find other ways to survive, or perform some kind of
solidarity behaviour with your fellow contestants. Maybe you'll try that
but one of your fellow contestants just wants to be the last survivor
anyway. Maybe you'll pretend you're setting up some kind of mutual
survivorship thing in order to make sure you're the sole survivor.
Gives some people to watch on the bar TV channel.
The crew apparently love playing Deathmatch while dead so we might as
well enable doing it while alive.

Also I'm going to follow this up with a separate PR to remove the Space
Dragon objective and it felt like it'd be a good idea to do one out one
in

## Changelog

:cl:
add: Adds a new Final Objective where you force your fellow crew to
fight to the death on pain of... death.
/:cl:
comfyorange and others added 26 commits April 17, 2024 04:25
## About The Pull Request
Confusing error message at loading screen


![image](https://github.com/tgstation/tgstation/assets/42397676/850e5f97-f319-4f4d-b49a-ff90bb527aa8)
## Why It's Good For The Game
Less confusing
## Changelog
:cl:
fix: CentCom dispatched a team of interns to fix the loot panel's
loading message. It should now load properly. It did before too, but now
the message is fixed.
/:cl:

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request

- Makes use of the byond internal optimization for `view` to speed up
aura healing a tiny bit.
- In case you didn't know, byond has an optimization for `view` which
speeds up iterating over objects in view if you provide it a type. This
use of a ternary (likely) prevented this optimization from kicking in,
and since worst-case we're doing view(7) it can add up.
- Test case: 2 staff of Ascelpius users surrounded by 15 humans and 15
random objects constant being damaged. ~8 minutes of testing.

   - Profile:
```
/datum/component/aura_healing/proc/heal_old   0.789        6.590        6.596        0.000         4076
/datum/component/aura_healing/proc/heal_new   0.682        6.443        6.442        0.000         4081
```

- Generalizes `SSaura_healing` to `SSaura`, makes "damage aura"
component (which is totally 99% copied from "healing aura" but that's
for another pr) use it as well

## Changelog

:cl: Melbert
refactor: Staff of Healing should perform slightly better. 
/:cl:
…onger ignores walls (tgstation#82689)

## About The Pull Request

This gives shadow walk a snazzy new sound effect for entering/exiting
jaunt.


https://github.com/tgstation/tgstation/assets/28870487/c25f720f-5bad-4063-8d6e-140fd41bd740

This also has the sounds it plays no longer passes through walls.
## Why It's Good For The Game

The ethereal_entrance/exit sound effects are drawn out, and pretty
grating. They work for the other jaunts they're used for because a jaunt
typically lasts longer than the sound itself. Nightmares are frequently
dancing in and out of jaunt, and the sound effects for entering/exiting
tend to overlap. It gets loud and annoying really fast.

This sound effect is quicker, spookier, and more distinct.

As for making the sound not ignore walls, I think it's pretty dumb how
easy it is to detect the spooky scary shadow antag just by sitting in
your department. It takes a lot of the initial fear and paranoia they
have the potential for is wasted when Joe Geneticist can hear them
messing around in their territory without having to leave their chair.
## Changelog
:cl: Rhials
sound: Nightmare has a new sound effect for entering/exiting shadow
jaunt. It also no longer can be heard through walls.
/:cl:
…ctors ai cooldowns a bit (tgstation#82640)

## About The Pull Request

Nother bit ripped out of tgstation#79498
[Implements a get_cooldown() proc to get around dumb manual overrides
and empower me to optimize the findtarget
logic](tgstation@7047d29)

[Adds modify_cooldown, uses it to optimize find_potential_targets
further](tgstation@4ebc8ce)

No sense running the behavior if we're just waiting on its output, so
let's run it once a minute just in case, then push an update instantly
if we find something

[Optimizes connect_range and
promxity_monitors](tgstation@bcf7d7c)

We know what turfs exist before and after a move
We can use this information to prevent trying to update turfs we don't
care about.

This is important because post these changes mobs with fields will be
moving a lot more, so it's gotta be cheap

[Implements a special kind of field to handle ai
targeting](tgstation@80b63b3)

If we run targeting and don't like, find anything, we should setup a
field that listens for things coming near us and then handle those
things as we find them.

This incurs a slight startup cost but saves so much time on the churn of
constant costs

Note:
We should also work to figure out a way to avoid waking ais if none is
near them/they aren't doing anything interesting

We don't need to do that immediately this acts as somewhat of a stopgap
(and would be good regardless) but it is worth keeping in mind)

## IMPORTANT

I am unsure whether this is worth it anymore since tgstation#82539 was merged. As
I say it was done as a stopgap because ais didn't know how to idle.
If not I'll rip er out and we'll keep the other
refactoring/optimizations.

## Why It's Good For The Game

Cleaner basic ai code, maybe? faster basic ai code, for sure faster
proximity monitors (significantly)
## About The Pull Request
Rewrites how alt click works. 
Based heavily on tgstation#82625. What a cool concept, it flows nicely with
tgstation#82533.

Fixes tgstation#81242 
(tm bugs fixed)
Fixes tgstation#82668

<details><summary>More info for devs</summary>

Handy regex used for alt click s&r:
`AltClick\((.*).*\)(\n\t.*\.\.\(\))?`
`click_alt($1)` (yes I am aware this only copies the first arg. there
are no other args!)

### Obj reskins
No reason for obj reskin to check on every single alt click for every
object. It applies to only a few items.
- Moved to obj/item
- Made into signal
- Added screentips

### Ventcrawling
Every single atmospherics machine checked for ventcrawling capability on
alt click despite only 3 objects needing that functionality. This has
been moved down to those individual items.
</details>

## Why It's Good For The Game
For players: 
- Alt clicking should work more logically, not causing double actions
like eject disk and open item window
- Added context menus for reskinnable items
- Removed adjacency restriction on loot panel

For devs:
- Makes alt click interactions easier to work with, no more click chain
nonsense and redundant guard clauses.
- OOP hell reduced
- Pascal Case reduced
- Glorious snake case

## Changelog
:cl:
add: The lootpanel now works at range.
add: Screentips for reskinnable items.
fix: Alt click interactions have been refactored, which may lead to
unintentional changes to gameplay. Report any issues, please.
/:cl:
…cking non-mobs (2 year old bug) (tgstation#82694)

## About The Pull Request

- Deletes `ATTACK_QDELETED`
- May have been necessary in the past but it's pointless now. All it
does is clutter the attack chain. Perish.

- Fixes welders not using fuel on attacking non-mobs
- tgstation#65762 "fixed" welders consuming fuel on clicking turfs by adding an
`isliving` check and not an `ismovable` check?


## Changelog

:cl: Melbert
fix: Blobs may rejoice, welding torches now consume fuel when attacking
objects again after two years.
/:cl:
This pr brought to you by The™ Players™ Club™.
## About The Pull Request
this makes ai controllers use cell trackers and signals to determine
when to idle

## Why It's Good For The Game
might be better than looping over all clients for every controller

## Changelog
:cl:
code: The way mobs idle has been refactored, please report any issues
with non-reactive mobs
/:cl:
…em, instead of being just a var (tgstation#82650)

## About The Pull Request
quirk_item is now /obj/item, since it will allow for calling procs or
getting variables from this item

It's required for non-modular translation to call for item's name to
remove articles

## Why It's Good For The Game
It's always an item, and if it's a path, it's already checked for it.
Better usage in the future.
## About The Pull Request
adds a new weapon to mining, the grapple gun. this weapon is a new fun
way to traverse lavaland, it lets u grapple onto things and ziplines u
towards them.


https://github.com/tgstation/tgstation/assets/138636438/5e935776-1482-4994-bcc7-e1ca7fcf33dc

while its less practical than things like the spinning mining modsuit
module, or xenobio wings, its still very fun to use.
u can also use this as a weapon against mobs! (like batman) 

the zipline will launch u towards the mob, doing some damage to them and
launching them back


https://github.com/tgstation/tgstation/assets/138636438/3bf77fe5-4ed1-4153-8673-a0786ecee98f

## Why It's Good For The Game
adds a new fun harmless way to travel through mining biomes 

## Changelog
:cl:
add: miners can now purchase grapple guns
/:cl:
@Majkl-J Majkl-J closed this Apr 17, 2024
@Majkl-J Majkl-J deleted the what-is-even-going-on branch April 17, 2024 09:10
@Majkl-J Majkl-J restored the what-is-even-going-on branch April 17, 2024 09:14
@Majkl-J Majkl-J deleted the what-is-even-going-on branch May 15, 2024 06:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.