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

[WIP] Reaper Reworked, Again Again #7629

Closed
wants to merge 309 commits into from

Conversation

TheKillfish
Copy link
Contributor

@TheKillfish TheKillfish commented Nov 19, 2024

About the pull request

A revival of PR #6610 with much rewriting and reworking. Though much has changed, the core goal remains the same: to rework @Geevies' original Reaper PR #1899 and @ThePiachu's Reaper Re-up #2234 to be better balanced and not end up being Carrier but better, along with some related miscellaneous changes that could be atomized into their own PRs but fuck it, done here instead.

In this state, the Reaper is a frontline support attacker, able to fufil both Carrier-esque duties such as planting eggs, carrying huggers, planting weeds, ordering special constructions and using pheremones, but also able to put on some hurt if need be, mainly being oriented around debilitating damage in the form of toxin rather than directly mulching marines like Praetorian, Crusher or Ravager can. My goal here has been trying to make Reaper fufil a niche that either no other xeno does or is being done in an appreciably different way compared to other xenos without either infringing on the niches of other xenos nor being too blatantly overpowered or utilizing features people generally don't like. Oh, and going hard on morbid, horrific vibes for the RP lovers. Whether I have succeeded at that or not is up to the judgement of everyone else who reviews this and comes with feedback of which I'd appreciate getting via Discord or mentioned here (even if at risk of being labled as off-topic by maintainers).

For the specifics regarding what I've given Reaper, please read this HackMD writeup, although the following are TLDR-ish notes:

  • Evolves only from Carrier.
  • Stats are same as Carrier except for speed (Tier 3 instead of Tier 4), damage (Tier 3 - Tier 3 instead of Tier 2 - Tier 4), plasma (600 instead of 400) and tackling (uses Ravager's tackle stats).
  • You can process unrevivable corpses into Flesh Plasma for your main source of marine debilitating. You can also carry up to 4 burst corpses around, useful for replenishing Flesh Plasma reserves if you run out!
  • You may have the means for attacking on the frontline, but you are NOT a frontliner like Ravager, Crusher or Praetorian: you have no armor, you have no stuns, you have no mobility tools. You will die quickly if you try to pretend you are one of the aforementioned three. You are meant to weaken marines for others to kill or capture, not play Doom music and slash them at their cadeline.
  • Though you don't have storage for bulk transport of either, you can carry eggs in one hand and huggers are nurtured while you hold them, much like Carrier. If you cannot be useful in a fight, you can cooperate with Carriers to build up your backline.

Some miscellaneous inclusions

  • Plasma cost for pheremones is now a tweakable variable called aura_plasma_cost.
  • Most single letter variables on trap.dm have been nuked.

Explain why it's good for the game

The Drone line lacks any form of T3 and it'd be cool if they had at least one (for now), and T3 as a whole is pretty offensively biased; while I have ended up doing no better, at least Reaper does so in a way different than "move forward and slash the shit out of people" and isn't meant to be getting the kills itself. Wei's sprites for Reaper look sick and they deserve a more permanent spot in the game.

Pheremone costs being modular is useful and opens up interesting future ideas. Single letter variables suck.

Testing Photographs and Procedure

Vidyas will be provided once I get my new PC set up.

Screenshots & Videos

Put screenshots and videos here with an empty line between the screenshots and the <details> tags.

Changelog

🆑 Killfish, credit to Geeves, sleepynecrons, ThePiachu
add: Adds new T3 Xenomorph called the Reaper, evolving from Carrier. It is a supportive attacker oriented around wearing down marines faster through use of toxin damage caused via reagent which itself is applied through a slash ability, a smoke emanation ability and smoke traps.. Also oriented around being a horrifying, morbid creature perfect for RP.
add: Passive: Flesh Plasma. Resource Reaper generates both passively and actively. Starts at 1 per tick, can be temporarily increased by normal slashes, max of 5.
add: 1st Ability: Haul Corpse. Target burst corpses to store them, target self to recover one. Can store up to 4 corpses. Number of stored corpses can be examined by others, and corpses are dropped on death.
add: 2nd Ability: Flesh Harvest. Target bodyparts on unrevivable corpses to harvest: targeting head does nothing, targeting arms and legs rip them off, targeting chest or groin chestbursts unbursted corpses. Generates 30 Flesh Plasma from limbs and 60 Flesh Plasma from bursting chests. Pauses decay on bonus passive generation for 5 seconds.
add: 3rd Ability: Reap. REPLACES TAILSTAB. Simple spriteclick melee with 2-tile range. Hitting humanoid targets injects small amounts of Sepsicine; a simple toxin that causes pain and toxin damage. Additionally increases bonus passive generation and pauses its decay for 5 seconds.
add: 4th Ability: Emit Mist. Consume 150 Flesh Plasma to create a small cloud of toxic mist that applies Sepsicine to humanoid targets, as well as slowing them and unallied xeno targets down.
add: Passive: Mist Mine. Consume 100 Flesh Plasma to charge an empty resin hole with toxic mist. Functions like Boiler neurogas traps.
code: Most single letter vars in trap.dm have been killed.
imageadd: Reaper and Reaper-related sprites.
/:cl:

@cmss13-ci cmss13-ci bot added Sprites Remove the soul from the game. Feature Feature coder badge Code Improvement Make the code longer labels Nov 19, 2024
@Zenith00000
Copy link
Contributor

If you're pretty much making this Carrier ++ then perhaps I can convince Wei to add huggers to the sprite, since originally it was supposed to be this.

This is what it was originally supposed
unknown
to be - the huggers:

Either way can't wait, keep it up. Looking forward to it.

@deathrobotpunch
Copy link
Contributor

Can’t view the hackMD

@TheKillfish
Copy link
Contributor Author

HackMD link should be working now, my potato brain forgot the "let everyone view it" option

@Red-byte3D
Copy link
Contributor

Can you write tldrs of abilities in the cl? some people like reading those instead of opening prs and going into hackmd

@Red-byte3D
Copy link
Contributor

Red-byte3D commented Nov 20, 2024

I think you created a very well xenomorph aesthetic, but i feel like this is going to be less favorable, gameplay wise. I understand that the main point is that you can carry huggers, bodies and eggs but majority of the time two of these three is useless,

you can carry eggs yes but two per hand as opposed to just carriers being able to store them kinda makes this nearly moot as an evolution. Same with carrying huggers. Since carrying burst bodies are also now useless other then giving you plasma regen

Not to put pressure on you but xenomorph side hasnt had a new caste in what i belive is 3-5 years~~? Not counting king since its not in the normal gameplay loop.

I understand that you wanted to mainly go "support" but as it stands i think you are scared to add abilities that people are supposed to fear, im not sure what you are actually supporting as reaper, helping...drones build? Making carriers more lethal by allowing them to make more traps? This caste currently seems like its just going to be wandering around aimlessly. Not being a frontliner doesnt mean you arent deadly. The entire casteline up is very heavy on this, yes you dont have much to fear about a drone when you're far away and theyre usually easy kills, but if they know what they are doing they can instantly just two tap you and win the fight. With its speed and massive size most people will be able to just shoot you to death before you can even two tap them.

I think you should look more into making this an actual support instead of just a xenomorph whos never supposed to show its face, hivelord and drones can make walls while not showing their face, burrowers are usually sneaky because theyre backlining or making traps. carriers dont show themselves because theyre probably just planting eggs and making traps because they have the storage to do so, you've removed everything from this caste and gave it basically nothing that would reinforce staying behind.

I think the first step is to make all tier 2 drone's be able to evolve into this so nobody feels the "im locked to this tier 2" effect anymore, and can opt out to tier 3 tier or tier 1 as they wish since you hold your bonus and people dont waste another 200 going hive > drone > carrier

The trap filling is good but im not seeing why anyone would ever choose these traps over the burrower traps, as it stuns people and does good damage INSTANTLY same goes for spitter. While the damage from the toxin is pretty decent, it takes way too long for it to matter as if its in the heat of the battle, it wont matter at all because most people will instantly retreat once it goes off (which is a good way for scaring away people who doesnt know how the ability works, more average players will push whatever they were pushing regardless because the damage takes a good while to rack up.) and most people can probably already counter this with tricord, and dylovene if theres a medic which doesnt stop them from pushing. (The difference between this and burrower trap is that the burrower traps can work aggressively and defensively, either stunning people so the xenos can do alot of damage to the person or letting the xeno escape, this doesnt really achieve either of them)

The gas shares the same problem with above.

Why did you remove the old flesh construct abilities? I feel like they were pretty cool, i had a few ideas while working on the pr myself that i just didnt have time to finish due to real life stuff. Dm me on discord, i'd love to talk to you more about this caste if you want and i think it has more potential. (i am banned from the discord)

image

@cm13-github cm13-github added the Merge Conflict PR can't be merged because it touched too much code label Nov 22, 2024
@cm13-github
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

cmss13-ci bot and others added 20 commits November 24, 2024 21:25
# About the pull request

I did this quite a while ago but it got overwritten in a merge conflict
so here's round two. This makes all pipes in the main evac area (from
the right of the cameras in picture below) not explode during hijack. It
also applies the same to the maintenance access corridors for the
lifeboats.

# Explain why it's good for the game

Everyone takes all the pipes out of these areas anyway, and I've made
this change previously it just got overwritten. It does make sense that
the evacuation area would have some degree of protection from disastrous
overpressure.

I could apply the same logic to CIC and reactor room, but I'm choosing
not to.


# Testing Photographs and Procedure

![image](https://github.com/user-attachments/assets/c64610dd-0a11-42f1-8d97-17524c154f57)

![image](https://github.com/user-attachments/assets/61d927f8-4fff-4108-929b-047e214e11f3)


<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
maptweak: Lifeboat air pipes are now reinforced (again) and no longer
explode.
/:cl:
…mss13-devs#7478)

# About the pull request

Fixes cmss13-devs#7465

CEs need to choose between the PDA or the nailgun, this fixes it

# Explain why it's good for the game

both the nailgun and the PDA is under essentials but you need to choose
between them, this fixes it

# Changelog

:cl: Drdodo
fix: now CEs can buy all of their essentials
/:cl:

---------

Co-authored-by: Isaac Alp Kocyigit <alpkoc27@students.cs.ubc.ca>
# About the pull request

removes navbecon from game, not sued anywhere

# Explain why it's good for the game

less clutter


# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
del: removes navbeacon code
/:cl:

Co-authored-by: vincibrv <vojtechvincibr@seznam.cz>
# About the pull request

adds eqivalent name var to squad, this allows to assing squads of other
factions to prefered USCM squad eqivalent aka charlie = cheka

# Explain why it's good for the game

UPP command will not have to spear marines manualy allows for UPP and in
future otehr faction squad RP and identity


# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
qol: when lobby joining as UPP you getassigned to equivalen of prefered
USCM squad if possible
/:cl:

---------

Co-authored-by: vincibrv <vojtechvincibr@seznam.cz>
# About the pull request

As title

# Explain why it's good for the game

Holograms that no one can see shouldn't be triggering ares.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
fix: Hologram mobs no longer trigger ares sensors.
/:cl:
# About the pull request
Makes tgui able to read langchat styles.

# Explain why it's good for the game
Readable!

# Testing Photographs and Procedure
before:


![11111](https://github.com/user-attachments/assets/93be0517-d537-4d7a-8226-be0530bd7e2f)

after:


![333333](https://github.com/user-attachments/assets/36ea6019-c208-42c6-9de5-fabbb8e2a6bf)


# Changelog
:cl: ihatethisengine
add: makes langchat readable through tgui menus.
/:cl:

---------

Co-authored-by: harryob <55142896+harryob@users.noreply.github.com>
# About the pull request

This PR sets a time of death on a successful hug. However, that time of
death will not affect their position in larva queue. It also updates the
join as facehugger verb to mention that eggs are also a way to join as a
facehugger.

This has been revised to only prevent immediate respawning as a lesser
drone on successful hug (huggers can still try to become a hugger again
immediately). I also bumped the lesser drone respawn time from 30s to 1
minute, and fixed a situation where the join as xeno button wasn't
checking the bypass_time_of_death_checks variable set for lessers &
huggers.

In addition, there were various inconsistencies between joining as a
xeno between larva queue, ctrl click, and join as xeno verb that have
been rectified.

To recap:
- Dying as a hugger or lesser drone will not alter your larva queue
position, and now the join as xeno button being used to take over an afk
xeno will not be prevented for recent death (larva queue already had
this exception).
- Dying as a lesser will require you to wait 1 minute to respawn as a
lesser again, or 3 minutes to respawn as a hugger.
- Dying as a hugger will require you to wait 1 minute to respawn as a
lesser, or 3 minutes to respawn as a hugger again.
- Successfully hugging as a hugger will require you to wait 1 minute to
respawn as a lesser, or 0 minutes to respawn as a hugger again.

# Explain why it's good for the game

A lone player hugging someone, then immediately spawning as a lesser to
go rush to that cap borders on breaking the metagaming rule even though
the entire hive should have the knowledge of the hug (they *were* part
of the hive but became a ghost). At the moment another ghost could just
then immediately spawn and go cap that new hug, but that will be later
mitigated with https://hackmd.io/@Drathek/rJ9zXhzSC

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Hugger testing:
https://youtu.be/fjcy8L32w1U (prior to 1 minute respawn change for
lesser)

Join as xeno refactoring:
https://youtu.be/HnsVlBq8DDc

</details>

# Changelog
:cl: Drathek
balance: Player huggers now have to wait 1 minute to respawn as a lesser
on successful hug (same as death). They can still immediately respawn as
a hugger on successful hug.
balance: Lesser drones respawn time has been increased from 30s to 1
minute.
fix: Join as xeno button/verb (much like larva queue) no longer
considers a recent hugger/lesser death as a reason to deny it.
fix: Fixed join as xeno button/verb allowing 0 health afk xenos to be
controlled.
fix: Fixed the xeno_bypass_timer gamemode flag skipping inactivity
checks.
refactor: Refactored some of the join as xeno code inconsistencies and
changed prompts to tgui_alert
spellcheck: Mentioned eggs when using join as facehugger verb.
/:cl:
# About the pull request

Legacy pred armor did not spawn with the correct sprite because of
improper capitalization. The mask spawned in fine. Now both legacy pred
armor and the mask spawn correctly. I have tested it in game and it
works as intended, see images.

# Explain why it's good for the game

Fixes a bug with legacy gear so it can appear correctly.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

![example1](https://github.com/user-attachments/assets/ab88e000-c89e-445a-87d4-69d863a1b761)

![example2](https://github.com/user-attachments/assets/c02ed6bc-af31-4caf-b0e4-ac62c61f8420)

</details>


# Changelog
:cl:
fix: preds not spawning with correct legacy armor sprites
/:cl:
cmss13-ci bot and others added 23 commits December 19, 2024 14:49
# About the pull request
Overwatch consoles let you hear speech and see emotes around the marine
you are overwatching. His speech will also appear as langchat over the
console. Basically close to how broadcasting works rn. Doesn't show
speech and AUDIBLE emotes if there are comms issues unless on the same
z-level.

Now supports ground console. Might be bug heavy, needs testing. 

# Explain why it's good for the game
It was in the movie. And we have to make observer+ role a bit more
interesting.

# Testing Photographs and Procedure
<details>
One day I'll record something, really lazy rn though and my vm I use to
code is bugged af
</details>


# Changelog
:cl: ihatethisengine
add: Overwatch can hear speech and see emotes.
/:cl:

---------

Co-authored-by: harryob <me@harryob.live>
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->

# About the pull request

Give Queen ability to remote "Thicken" walls during first 30min of game.

# Explain why it's good for the game

When game starts, and people want to do Hive reinfocement as drones,
they are not allowed by queens (most of time) to build inside hive, its
because queen cannot make them "Thicker" and often lack of people going
hivelord to do that, queen most of time chooses to do it by itself,
slowing down creation of early game defences, this PR aim to change
that, now queen can remote upgrade structures for first 30min of buff
duration, this should make people doing "Drone Tax" and want to
contribute to hive building be actually usefull, instead of be seen as
"obstacles".

# Testing Photographs and Procedure
<!-- Include any screenshots/videos/debugging steps of the modified code
functioning successfully, ideally including edge cases. -->

<!-- !! If you are modifying sprites, you **must** include one or more
in-game screenshots or videos of the new sprites. !! -->

<details>
<summary>Click HERE to see video:</summary>

My cute drones builded hive for me! lets apprieciete their hard work by
upgrading it!


https://github.com/user-attachments/assets/7b27549f-c869-48df-a1d0-fe377a31e0e2


</details>


# Changelog

:cl: Venuska1117, Drathek
balance: Early game Queen Building Buff, now allows queen to upgrade
structures to "Thicker" version.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! -->

---------

Co-authored-by: Venuska1117 <venus117@o2.pl>
# About the pull request

This PR just adds a nullcheck to `mob_client` for SEA's new player hud.
In this case a flat icon is being generated for a SEA with no client, so
a HUD is not applicable. There isn't an effect by this change though
that I can tell (appearance would be made fine just before and after).

# Explain why it's good for the game
Less runtimes.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>


![image](https://github.com/user-attachments/assets/f1d2a0d1-9b2b-4157-b7d4-36f160d16280)

</details>


# Changelog
:cl: Drathek
fix: Fixed a runtime when generating SEA appearance for an imaginary
friend
/:cl:
# About the pull request

This PR simply early returns if the window size is 0 (occurs when the
game is minimized when autofit viewport tries to fit the viewport).

# Explain why it's good for the game

Less runtimes.

# Changelog
:cl: Drathek
fix: Suppressed a div by 0 error when autofit viewport tries to fit the
window while minimized
/:cl:
…#7853)

# About the pull request

This PR is a follow up to cmss13-devs#7486 which now flags the hunting grounds with
`AREA_YAUTJA_HUNTING_GROUNDS` and can optionally be tested against in
`should_block_game_interaction` which is now checked as far as the ToD
for larva queue.

# Explain why it's good for the game

Generally ghost activities should not penalize you from rejoining the
main game.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl: Drathek
balance: Hunting ground deaths no longer counts against larva queue
/:cl:
@cm13-github cm13-github removed the Merge Conflict PR can't be merged because it touched too much code label Dec 20, 2024
@cm13-github
Copy link
Contributor

Conflicts have been resolved. A maintainer will review the pull request shortly.

@cmss13-ci cmss13-ci bot added Mapping did you remember to save in tgm format? Sound Blast 5 minutes of bass boosted music to our players UI deletes nanoui/html labels Dec 20, 2024
@TheKillfish
Copy link
Contributor Author

for fucks sake, git and vsc, why do you insist on making conflict resolving so fucking backwards. closing this and making yet another fucking branch it seems

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code Improvement Make the code longer Feature Feature coder badge Mapping did you remember to save in tgm format? Sound Blast 5 minutes of bass boosted music to our players Sprites Remove the soul from the game. Stale beg a maintainer to review your PR UI deletes nanoui/html
Projects
Status: Closed
Development

Successfully merging this pull request may close these issues.