Conversation
|
RSI Diff Bot; head commit cbb5123 merging into 91822e1 Resources/Textures/_Omu/Clothing/Multiple/bloodred-headphones.rsi
Resources/Textures/_Omu/Objects/Weapons/Melee/shredder.rsi
|
|
errm I'll fix that linter fail tomorrow |
|
it ran fine for me, why is the build test freaking out? not sure if this has anything to do with me or not |
|
Do remember that shock is AP....8 shock kinda spooky |
|
Also that test just sometimes freaks out, you can just click on it to see if it's anything relevant to you or an unrelated test fail |
There was a problem hiding this comment.
This is 1 pixel to the right of being centered on a tile
Thesia000
left a comment
There was a problem hiding this comment.
the animation is mininmal off please fix it, make sure it is centered on a urist
NotActuallyMarty
left a comment
There was a problem hiding this comment.
These are general notes i've not looked over this entirely, but the calls of EQE on an update loop don't look good to me.
You made a ShredderStatusEffectComponent But no actual entity for the Component.
Make an entity prototype in yaml, and probably move the effects from ShredderBuffComponent to it, then apply it where you need to when you need to using status effect system.
See for example the status effect for tasers:
- type: entity
parent: StatusEffectSlowdown
id: TaserSlowdownStatusEffect
name: shot by taser slowdown
with the parent being:
- type: entity
parent: MobStatusEffectDebuff
id: StatusEffectSlowdown
abstract: true
name: slowdown
components:
- type: StatusEffect
whitelist:
components:
- MobState
blacklist:
tags:
- SlowImmune
- type: MovementModStatusEffect
You are going to probably need to do a bit more given the stuff you want to give, but for example just by adding a MovementModStatusEffectComponent to your status effect already simplifies this by a lot because MovementModSystem will handle the movespeed refreshing without you needing to hardcode things.
You could also probably move this to OmuMod which would make it a lot cleaner. Just put the systems in Content.Omu.Shared or Content.Omu.Server or whatnot, and if you don't need to touch core files that should work.
|
Okay you did add a status effect entity my ass is blind, this just needs some cleanup then |
oh whoops, the animation is centered but apparently players themselves are and have always been 1 pixel offcenter(?!?!?!?!?!) |
God damn it. I knew a general system for movespeed status effects existed somewhere but somehow I missed this |
|
Reviews addressed for the most part. I'm a bit iffy on the EQEs too but it does need to refresh on a timer so I think this is acceptable?
What's actually the difference between this and just namespacing it? |
















About the PR
Adds the Shredder, a musician (45tc) and nukie (75tc) only syndicate rock guitar which functions as both a strong melee and as an ally buffing tool. It deals 2 slash/6 blunt unwielded, 4 slash/8 blunt/8 shock (20 total) wielded, has a 1.25x attack rate and grants a buff which gives the wielder 1.2x movespeed and slight passive regeneration of brute, burn and bloodloss damage types while active.
Also adds the blood-red headphones, which allows you to share the Shredder's buff as long as you are within a roughly 4 tile radius of the wielder while worn. 6 of these are included in the nukie version of the listing, so the whole squad can get the buff. They can also be bought on their own for 3tc.
Why / Balance
Bounty. Provides a very unique form of weapon which will hopefully lead to some interesting nukie strategies. Also, cool job-specific weaponry for syndie musicians.
Healing effect is very minor, so it shouldn't be disastrous for balancing. Values can all be tweaked through yaml if needed.
Technical details
Added RadiusBuffComponent and RadiusBuffSystem for entities which should apply a status effect to other entities within a radius. Includes fields which should make it flexible enough to be adapted for other uses via yaml in the future, including specifying a different status effect, whitelist/blacklist, if the holder should be affected and if the entity itself should be affected. Somewhat based off of the raw prophet radius heal system, but more generalised. In this case, status effects are applied every 3 seconds, last for 5 seconds and search for entities with the RadiusBuffReceiverComponent (this should really be named ShredderBuffReceiverComponent, oops).
Added the status effect itself, along with ShredderStatusEffectComponent (required by statuseffectsystem and only used to handle the state of the status effect) and ShredderBuffComponent (component given to entities with the status effect which holds most of the datafields). Added EffectShredder proto for the indicator visual. Healing and visual is applied every 3 seconds. Movement speed is granted/removed and refreshed when the status effect is added/removed.
Added ActivateBuffOnWieldComponent and ActivateBuffOnWieldSystem. Toggles the radius buff on/off when wielded/unwielded. Not really made to be used with anything other than RadiusBuffComponent.
Added uplink listings for the shredder, nukie shredder bundle and bloodred headphones.
Media
2026-03-18.21-10-37.mp4
Nukie bundle listing

Roughly maximum buff range

Requirements
Breaking changes
Changelog