coavins / zomboid-coavins-firearms Goto Github PK
View Code? Open in Web Editor NEWA Project Zomboid mod that expands the firearm repair system
Home Page: https://steamcommunity.com/sharedfiles/filedetails/?id=3101379739
License: MIT License
A Project Zomboid mod that expands the firearm repair system
Home Page: https://steamcommunity.com/sharedfiles/filedetails/?id=3101379739
License: MIT License
Item types can be hard-coded to match specific models, but we should also be able to look at some attributes of the firearm to guess which model might best fit. Guns will only be expanded by this mod if they are matched to a model.
This will allow us to automatically match to firearms that are introduced by other mods.
Instead of manually updating the changelog.md, it could be a good idea to use the GItHub Releases' "Generate Release Notes" feature. This automatically adds Release notes, including merged PRs, contributors et cetera.
The inventory tooltip on mouseover is a lot harder to use, it seems the mod can only add one line of transient text here. Maybe use this to show the most important information, like what parts are missing from the component.
This would make it a lot easier to find the component you're looking for in a big list of them.
I think it'd be a good idea to rename the master
branch into the main
branch to keep up with current GH and code standards.
Also, are you interested in introducing a couple GitHub Actions into this repository aimed at enhancing our workflow? An idea I got in mind would be auto-assigning reviewers and the ability to auto-merge when review has passed its checks. And the labelling feature could be interesting. I'll demo something if ya want.
The actions checkout@v2
and gh-actions-lua@v8
are using deprecated node versions.
Latest versions for the checkout action is v4, for gh-actions-lua it's v10.
This proposed enhancement suggests the addition of a GitHub Action Workflow to streamline the process of pushing changes from both the 'master' and (hopefully upcoming) 'development' branches to the Steam Workshop. Currently, this process requires manual handling by Coavins. Automating this workflow can significantly improve efficiency and reduce the risk of oversights during the deployment process.
I'd propose the following changes:
master
branchFor this workflow to be efficient, the following step-by-step workflow should be discussed below:
development
branch where issues get ironed out and testing takes place.development
branch to a new Steam Workshop Item named "coavins-firearms-repair-git" or similarmaster
Happy to hear your input.
Maybe add more items to each model, like grip, trigger, mag well, hammer, firing pin, etc.
Adding new models, parts, and Zomboid items involves way too many steps in too many separate files. There should be a way to define models and parts in one place (e.g. yaml files) and use those to generate the actual source files used by the game (e.g. CoavinsModels.lua and the parts list in FirearmsHelper.lua)
I think this could be easier to maintain as the list of models and parts grows larger.
The current "Add Branch from Issue" workflow GitHub provides doesn't seem to meet my workflow in the way I had hoped it would.
Confirm that modData is being synced with server and clients. If not, you have to do it manually.
Need to retain this in the modData along with condition.
It could be a good idea to split the currently available models the mod introduces into per-caliber. This would allow us to move away from the GenericPistol
model and open up more interactions between different pistols while keeping (somewhat, to allow for fun) the realism this mod strives to improve upon.
I've built a little something that may be useful.
Takes Firearm Type, Components and Caliber, then generates an entry for coavinsModels and appends it to the file.
Expansion to also have it generate this based on the input is undergoing as I learn.
When you right-click on a component and select "Assemble firearm", the part list that appears should show extended component info in the tooltip (like the kind you see when you mouse over "Component Info"). This will make it easier for the player to choose the part they're looking for, with the right pieces installed.
When a gun is found in the world, it won't yet have modData initialized for its parts. When we initialize modData for a gun, we should randomize the condition of its internal parts during initialization, using the firearm's initial condition as a guide.
Should show what parts are installed, condition, etc.
As all PRs etc run against develop
, I think it'd make sense to reflect tihs in the repository settigs by adjusting the default branch from master
to develop
.
This would also resolve the issue of branches that have been automatically opened by github being "helpful" having the wrong target branch, thus having all of its commits unchangeably run against master
, which is not what we want. I haven't found a way to change that either.
In summary: Change default branch for PRs, Issues etc, to prevent things being run against the wrong branch. Maybe protect the Master branch too, requiring PRs before merging and just flat-out disallowing everything else. Or locking it, that's a thing too (Why would anyone...)
Create a custom window to make it easier to install and remove components from the firearm. This would function as an alternative to the inventory context menu.
Add items for Pistol model:
I think it could be a good idea to add a pull_request_template.md
to refresh users on how to best open PRs for this repository. This also presents itself as an opportunity to increase accessibility and communication.
The base game defines some "fixings" which allow the user to repair a firearm using some simple materials (usually another firearm of the same kind.) This mod completely changes how firearms are repaired, so these "fixings" should be hidden or disabled.
Mods which introduce new firearms probably also define "fixings" for them; these should be disabled in the same manner.
Add a definition for the .410 Gauge Shotgun.
Example: Viper G2 (410g(
Planned definition name: shotgun_410g
Typo on this line, an extra space is defined in the part name which prevents assembly of the Glock 21
Originally posted by @coavins in #40 (comment)
Since repair of the firearm is no longer possible, we need new recipes to allow the player to repair each component. This probably shouldn't require many materials since there are more parts to repair.
This may also involve adding new materials which are used in the repair, like rags, cleaning rods, gun oil, or solvents.
Use metalworking skill here. Maybe also use the new firearms skill if possible.
Add a skill in the "Firearms" category which is associated with the new actions.
Maybe repair of components can be affected by both metalworking and this new skill.
You should get XP in this skill when you perform these actions.
Hi, I'm requesting permission to contribute to the mod by adding support for Totally's Historical Firearms Pack. I have cloned the repo, created a branch locally, created the files needed and lightly tested the mod. I need permission to push my branch and create a pull request.
https://steamcommunity.com/sharedfiles/filedetails/?id=2897536185
The Colt1855 is currently GenericRevolver
, should be Shotgun_10g
Possible need to create specific model for this item.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.