refactor Item_factory::load(islot_ammo) to islot_ammo::load #39899
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
SUMMARY: Infrastructure "refactor Item_factory::load(islot_ammo) to islot_ammo::load"
Purpose of change
Item_factory was from a time before we had generic_factory. I would much rather us use that, as it really decreases maintenance because we don't have to figure item factory out from scratch.
This PR adds islot_ammo::load and utilizes that in item factory, even correctly loading copy-from items. This is the first in a long series of PRs to rework item factory to be itype::load() (and maybe also helper functions for the other stuff it's doing)
Describe alternatives you've considered
well, we could leave it i guess? there is the addage "if it ain't broke, don't fix it" but in this case i think the ease of maintenance will become quite useful as items gain more members.
Testing
loaded the game, made sure no debug messages popped up, checked out some ammo that utilizes copy-from and made sure its ammotype was correct.
Additional context
This is the first in a pretty long series of PRs that i expect will spread out far because it's not very high priority.