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

Even moar bitrunning ports from TG #512

Merged
merged 28 commits into from
Mar 15, 2024

Conversation

Gboster-0
Copy link
Contributor

@Gboster-0 Gboster-0 commented Oct 31, 2023

About The Pull Request

Ports the following:

Why It's Good For The Game

More upstream compability, and more importantly more cool stuff

Changelog

🆑 jlsnow301, Rhials, Paxilmaniac, san7890
add: jlsnow301: Added some clarity to the range of netpods (4 tiles) in their exam text.
del: jlsnow301: Chamber of Echoes map removed as it conflicts with the actual Legion
fix: jlsnow301: Entering a virtual domain should no longer give you a message that it doesn't forbid items
fix: jlsnow301: Paraplegics can now enter netpods.
fix: jlsnow301: Fixes an exploit caused by teleporting out of a netpod.
fix: jlsnow301: Outfit selection at netpods shouldn't give armor bonuses any longer.
fix: jlsnow301: Bubblegum should no longer teleport out of the simulation when threatened
fix: jlsnow301: Heretics won't lose their living heart while bitrunning anymore.
qol: Rhials: As an observer, clicking on a bitrunning pod will let you orbit it's bitrunning avatar. Cool!
code: Paxilmaniac: Bitrunner domains can now have spells or items from disks disabled if the domain maker wants such a thing
fix: san7890: Bitrunners can no longer get mass-mindswapped out of their avatar when the wizard does the event. Something about machinery and magic not going well together.
/:cl:

Rhials and others added 18 commits October 31, 2023 11:30
… if that is desired (#78959)

## About The Pull Request

Adds two variables to bitrunner domains, one for making them not spawn
disk items, and one for making them not grant disk abilities to
bitrunner characters on loading into the domain.

Not presently used in any domains, but will be a mystery tool that will
help us later.
## Why It's Good For The Game

I've thought of a few pretty good domains but the ideas behind them fall
apart a bit of joey bitrunner can bring a desword and fireball into
them.
## Changelog
:cl:
code: Bitrunner domains can now have spells or items from disks disabled
if the domain maker wants such a thing
/:cl:

---------

Co-authored-by: Ghom <[email protected]>
Clears up some functionality in netpod disconnect cases that lead to an
infinite loop

Also fixes an errant message from #78959
Fixes #79190

🆑
fix: Entering a virtual domain should no longer give you a message that
it doesn't forbid items
/🆑

---------

Co-authored-by: Mothblocks <[email protected]>
Fixes #79310

Adds a new trait to prevent mindswaps (which is just useful for any
future cases when we don't wanna rely on the blacklist typecache) while
also accounting for bitrunners (who you can't mindswap because their
mind is elsewhere) and their avatars (because that's not a real mind now
is it).

this does mean that bitrunners while bitrunning are immune to all
mindswaps but i don't have a good answer on how to fix it. i don't even
much like the idea of VR but I think that having these traits are useful
enough for future utilization.

prevent big breakage.

:cl:
fix: Bitrunners can no longer get mass-mindswapped out of their avatar
when the wizard does the event. Something about machinery and magic not
going well together.
/:cl:
## About The Pull Request
Atomized bug fix PR from the content patch. They seemed to be priority
## Why It's Good For The Game
Fixes #79329
Fixes #79164
Fixes #79289

## Changelog
:cl:
fix: Paraplegics can now enter netpods.
fix: Fixes an exploit caused by teleporting out of a netpod.
fix: Outfit selection at netpods shouldn't give armor bonuses any
longer.
/:cl:
…79424)

Another atomization of the content patch-
Let's not subtype everything into virtual variants

This also fixes some bugs that were present with vdom boss maps
- Made the bubblegum map larger so he wouldn't teleport out
- Legion is just far too annoying to have to fix code wise, given that
few if anyone tries it with the base virtual equipment

<details>
<summary>what do you mean too annoying?</summary>

Legion doesn't handle dying like the standard megafauna - each time it
"dies" it looks to see if there's another legion in the entire game
world. Given the real one very likely exists, this basically means it
won't drop anything. I'd have to modify legion's death proc specifically
for the virtual domain. No other megafauna has this level of weirdness
(nor splitting behavior) and coupled with the fact I think no one tries
the domain, I'm just removing it.

</details>

Cleans up megafauna subtypes that were specific for the virtual domain.
Now, we won't need to keep adding to the list if there's ever a new one
Fixes #79203
Fixes #79200

🆑
fix: Bubblegum should no longer teleport out of the simulation when
threatened
del: Chamber of Echoes map removed as it conflicts with the actual
Legion
/🆑
## About The Pull Request
Atomized #78997
Broke up duplicate signal usage - though they do the same thing, this is
convention & it makes it easier to debug
Removed custom alert subtypes in favor of just setting values directly
Removed some unnecessary vars like the console ref from the server
Since I'm just copying this over, it has added exam text for net pods,
which fixes an issue reported to me in Discord
## Why It's Good For The Game
Code improvement
## Changelog
:cl:
add: Added some clarity to the range of netpods (4 tiles) in their exam
text.
/:cl:
## About The Pull Request
Returning a player to their body counts as a body transfer, thus they
lose their living heart
## Why It's Good For The Game
Fixes #78780
## Changelog
:cl:
fix: Heretics won't lose their living heart while bitrunning anymore.
/:cl:
## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/70376633/53bfdef0-946f-440b-82fd-9f0073b18807)

## Why It's Good For The Game

visual clarity i guess

## Changelog
only mapper facing
…ing map (#79423)

## About The Pull Request
Changed how loot signals work with bitrunning entirely, which allows map
creators to attach functionality to objects without creating subtypes of
the item

As a bonus I added a fishing minigame map which uses it
## Why It's Good For The Game
It's a messy solution to need to create subtypes just for the one-off
map that needs them
## Changelog
:cl:
add: Added a new fishing map to bitrunning.
add: You are no longer limited to pina coladas on the beach bar domain.
Cheers!
/:cl:
Reopened #78997
Larger patch for bitrunning that addresses a few issues.

- Two new antagonists: cyber tac and netguardian
- Quantum server emag opportunity
- Modular mob packs: Like random spawners, but for groups
- Antag spawning fixed: vdom antags now have up to a 10% chance to spawn
based on domains loaded
- Virtual domains are no longer all fullbright by default, only the
outdoorsy ones
- Actually deletes legion map file, since it was removed in #79424

<details>
<summary>images</summary>

The netguardian prime

![dreamseeker_eKi7Mhv45s](https://github.com/tgstation/tgstation/assets/42397676/099a0982-d6f8-4c93-a64c-8c7d45d9204e)

![robot_48_animation](https://github.com/tgstation/tgstation/assets/42397676/a2147195-61e6-4584-8645-56333ecd3e07)

The glitch effect - this mob is being mutated

![dreamseeker_NE4j4rCoez](https://github.com/tgstation/tgstation/assets/42397676/273892c7-e396-417b-8a9d-3709a210e3ff)

Cyber tac (t2 antagonist)
![Screenshot 2023-10-27
211732](https://github.com/tgstation/tgstation/assets/42397676/6ff79337-cb0d-4a1f-80cf-dce99a4991d5)

</details>

- Bitrunning antagonists are so incredibly rare that it's underwhelming
to play as one for the solid second they offer if you even get the role
- Bitrunners had basically no traitor route to follow, they became
assistants with black outfits

Fixes #79465

<details>
<summary>More info</summary>

Bitrunners don't have any type of traitor options. If they're made into
traitors, there's nothing bitrunner related they can do, and their
access is particularly bad so it's like they're a worse assistant. I've
coupled this with the bitrunning antagonist system, which is now
fixed.\. Bitrunners can now attempt to coax these entities to come onto
the station, however they are not given any form of allegiance for doing
so (and are quite counterable).

Previously, vdom antagonists relied on so many factors to spawn that it
basically wouldn't happen. Now, it runs on the server each time there is
a map loaded, with increasing probability as the round progresses. This
builds up the list of spawnable antagonists, of which two are new,
including an entirely new giant mech megafauna. This is the first
"megafauna-esque" basic mob in the game. Its AI is bad, it's really only
meant to be player controlled, but this does mean an admin can spawn
them. Being mech, they are very counterable with ion rifles and the
like.

Several refactors, rewrites, and overall bug fixes are included in this
PR.

Lastly, I added a framework for making bitrunner maps more random, the
modular mob spawning system, which works in conjunction with random
crate locations.
</details>

jlsnow301, infraredbaron
:cl:
add: Bitrunning Patch 1 features a host of changes!
add: Added randomized mobs to virtual domains, which will be indicated
with a unique icon.
add: New emag interaction with the quantum server. Antags will spawn
more frequently, and they can hack themselves onto the station. You have
been warned.
add: Both living and dead players can now see which mob is going to
spawn an antagonist in the vdom.
add: Two new vdom antagonists: Cyber Tac and the NetGuardian. These
unlock at specific thresholds.
balance: You can no longer stack copies of the same ability with
bitrunning disks.
balance: Some of the disk items have been replaced with stronger
versions.
fix: You can no longer spy on crew using the advanced camera console on
syndicate assault.
fix: Fixed the spawning mechanism of virtual domain antagonists. You
should now have a chance of playing as one. This chance increases as
more domains are completed.
fix: Vdom antagonists shouldn't spawn at the end of the run any longer.
fix: The preference for vdom antagonists has been changed to factor in
the new types. Check your preferences!
fix: The quantum server will now show its balloon alerts to all
observers.
fix: Random domains should be fully random again.
/:cl:

---------

Co-authored-by: LemonInTheDark <[email protected]>
@DexeeXI
Copy link
Collaborator

DexeeXI commented Nov 27, 2023

Is there anything we're missing from this in order to get these fixes for Bitrunning handled?

@Gboster-0
Copy link
Contributor Author

Is there anything we're missing from this in order to get these fixes for Bitrunning handled?

Nope! the only reason its sittin here as a draft is because apparently TRAIT_NO_MINDSWAP is re-defined, but quite sure it in fact is not

@Gboster-0 Gboster-0 marked this pull request as ready for review December 4, 2023 03:24
@DexeeXI
Copy link
Collaborator

DexeeXI commented Mar 2, 2024

Are we ready to test or commit these long awaited fixes?

@dwasint dwasint merged commit 474d2d4 into Monkestation:master Mar 15, 2024
18 checks passed
github-actions bot added a commit that referenced this pull request Mar 15, 2024
@Gboster-0 Gboster-0 deleted the even-moar-bitrunning branch March 27, 2024 00:30
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.

8 participants