-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
Speedloaders for Internal Magazine Weapons #29807
Conversation
RSI Diff Bot; head commit abb9c24 merging into 9f55000 Resources/Textures/Objects/Weapons/Guns/Ammunition/SpeedLoaders/Shotgun/shotgun_speed_loader.rsi
|
I had to look it up, but shotgun "speed loaders" are apparently a thing. Sort of. They're somewhere between a neat idea someone had to justify their 3d printer and a bad substitute for just practicing with a shotgun. The stripper clip is good though, I like that. |
On further thought, it might be good to make the speedloaders require doafters. |
Also reminds me we could really use a visualizer that can layer these based on the contained ents so it can show the right shells. That's out of scope for now though imo. |
Nah, speed loaders are instant for revolvers
I would have to look into how revolvers do it, I just wanted a basic sprite so I did not ask for too much from the person who made the sprites.
My biggest issue with the shotgun speed loader is how it devalues the advantage of the bulldog. The bulldog would still be better, it would just only be better due to 1 extra capacity and less space for ammo rather than the speed at which you load it. Sci tech would be fine if war ops was not a thing. Its really the only time it would be good and the only time it would be researched. |
imo just give this one a do-after and add it to the lathes, bulldogs will still be superior because their ammo swap wouldn't require a do-after |
They don't, that's why it reminded me. |
|
||
component.Entities.Add(ent.Value); | ||
Containers.Insert(ent.Value, component.Container); | ||
|
||
if (IsClientSide(ent.Value)) | ||
Del(ent.Value); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this inserting then deleting it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is what happens without the delete. OnBallisticAmmoFillDoAfter
does the same thing
2024-08-08.21-51-03.mp4
|
||
if (EntityManager.HasComponent<SpeedLoaderComponent>(args.Used)) | ||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this doubling the existing speedloaders? It's not even using a whitelist or anything.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if (ev.Ammo.Count == 0) | ||
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The event one is just a ref to the local variable, is this even possible here? It's being iterated in the loop.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems to work, is there another way to do this that's preferred or is that fine?
2024-08-08.22-00-55.mp4
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Are you still working on this Also I'd consider removing the drum mags from sec techfabs since the only drum-fed shotguns are Syndicate weapons. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
About the PR
Adds speedloaders for shotguns and makes the SpeedLoaderLightRifle function like a speedloader.
Why / Balance
This was more made for a system that would let people quickly load internal mags the same way that revolvers do. Neither of the speedloaders mentioned are currently obtainable, but replacing the .30 rifle ammo box in the uplink with the light rifle speedloader would be nice. If people want I could add the shotgun speedloader to the secfab, but I don't think that would balance all that well with the existence of the bulldog. If I do it would be in another pr.
Technical details
Check if the object interacting with the gun has the
SpeedLoaderComponent
in theOnBallisticInteractUsing
. Gets the empty slots in the shotgun, does aTakeAmmoEvent
to clear them out of the speedloader, and then adds them to the weapon.Media
2024-07-07.20-26-46.mp4
Breaking changes
Changelog
no cl, nothing players can obtain has been changed