-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Archery Redux Part 3 attempt 3 #35971
Archery Redux Part 3 attempt 3 #35971
Conversation
Oh boy already failing the tests! Figured there'd be a few hitches. Also I totally did not asytle this. |
d380308
to
9207746
Compare
First, great job reviving this. That said, |
What happened to darktoes? |
If i remember corectly, he neded something small done in C++ and couldnt do it himself, then he told one of the contributors to do it for him. Not being rude in any way nor politely asking, just nutral sentence. Then a lot of people started writting how inappropriate it is to telling other people to do your job. Mind you that the actual person told to do this thing didnt reply. Then some rlly unnecasery drama started quickly, almost as big as one arround Firestorm or Klaus, and soon after Darktoes decided he doesnt want to contribute anymore. |
Glad someone took the time to look though the content and give me some new thoughts! I'm still trying to make the time myself, finals are coming up and it's kinda sucking away my motivation to do anything else at the moment. I was pondering if the content of the rework itself was done or not and if I just needed to fix any technical issues, or if I needed to do anything else related to the stats as well. I can now see I'm going to at least need to do a cursory glance over the other two parts darktoes committed to hammer out what his intent was overall and decide what needs to be tweaked moving forward. |
You are mis-remembering. That was just the final straw. This is not the place to discuss this in detail, but it is also not good to put out bad information like that. |
9207746
to
8182e3c
Compare
Hey guys! Totally didn't forget about this. Looking up some of the underlying mechanics of crossbows and archery in general has given me a ton of inspiration and ideas, and I can tell you right now this isn't going to be done in time for 0.E stable. Right now, two glaring issues I see compared to reality are: |
Not everything needs to be done in a single PR |
Good point. I can focus this one on crossbow reloading just for the purpose of getting it done, then work on an archery part four. While it would be realistic to have the player install a crossbow mod, reload the crossbow, then uninstall the mod before firing, that would also be supremely annoying from a gameplay perspective. I just don't know any other way of fitzing with it, save having it be an item you can use on your crossbow. |
So, have you somehow managed to get your hands on the research/goals that darktoes supposedly had, but never successfully supplied us? Because the main reason nobody fixed up darktoes' PR before was because we had no notion of the actual value of it at that point. What is the rationale for the accuracy and damage of the weapons? Or any other change here? Because this isn't likely to go anywhere without an actual rationale other than "I guess it works" |
Darktoes was kind enough to make his data publicly accessible, I'm pouring over it now. |
...okay, looks like gun mods can't actually draw power. Not without some CPP changes. |
Excellent news! I figured out where all the data comes from, and it (mostly) checks out. Probably only needs a few tweaks, if any (depending on if you think the self bow should continue to be a thing). Only hitch I have is the electric crossbow reloader, I might just yoink it out and make it a separate PR just to get all this done with. |
Can you post darktoes's data here so that the maintainers have a reference? |
Other than the spreadsheet, he used the data presented in #26183 to figure out the arrow stats. (Which I admittedly still need to give a more thorough reading.) From a cursory look, it all checks out, but I'm not about to trust my judgement on this 100% at 3am. |
Nothing to see here, definitely didn't get overeager about committing or anything.... |
f990f21
to
caf4509
Compare
Tests are included in #37060 so that CI will continue to function on this PR. |
Alrighty, did a quick reload adjustment, since I remembered that darktoes told me the times were still relative to 6 second turns. Crossbows got a flat x6 increase, and regular bows only got x3. Since most practiced archers actually draw and aim at the same time, I figured only multiplying by x3 would be a good way of temporarily fixing it until I can do some code work on the matter. If you take the time needed to line up the shot, it generally works out to six seconds per shot. Reloading bows is currently represented by aiming, then you draw the bow and shoot, which is... not realistic at all. Drawing a bow takes your whole upper body, and the bow is not going to stay in place while you do this. A better way of simulating it would be having a delay before entering the aim screen (representing knocking the arrow then drawing), then while hanging out in the aim screen it would slowly take stamina as you hold the draw and line up the shot. |
A discussion on the discord has shown that there's a lot of things in this that... don't hold up under scrutiny. And I can't say I'm TOO attached to all of this, since it's not my data, and if I did it from scratch I would do it very differently. Connections to reality aside, right now archery is in a very poor place balance wise, and I would suggest the contents of this PR as a form of triage until it's improved. If that's not a priority, then I can just close it while I take a closer look at the game's bow and crossbow loadout (This would likely have me scrapping the current set of bows and crossbows completely, and doing something completely different). |
Merge conflicts resolved with the accuracy adjustments my attempts at making tests brought to light. If this passes I'm going to call this done. Actually, I'll call it done even if it doesn't pass. I'M done working on it. EDIT: No idea why it's failing tests, but looks like it's not my fault. |
I guess you can close current PR, as it is being obsoleted by #37241. |
I suppose so, at first I thought it was an either-or situation, but as I see it progressing, it looks like the other PR is tackling some of the underlying issues that my source material did not. I've managed to exhaust myself on this, and if someone else is willing to tackle these underlying issues before me, I see no reason to keep this open. |
I might just do another PR with the item.cpp and item.h changes after 0.E happens, those seem handy to have for later. |
Summary
SUMMARY: Balance "adjusts bows and crossbows"
Purpose of change
The part 3 of the archery rework darktoes was working on before his... incident. All merge conflicts fixed, I think.
Describe the solution
There have been a few changes to both
archery.json
anditems.cpp
I think I hammered out. Other than that, I left it mostly unchanged. I have attempted this before, and got it working, but I sat on it for a few months after sliding into a slump and it stopped working, so I'd like to get this one out this time in case that happens again.Describe alternatives you've considered
Letting archery continue to suck. I really don't like that idea, though.
Testing
All of it seems to check out, loaded up a game and tried the various bows and arrows.
Additional context
The issue he was running into that prevented new world generation was fixed in this pull request.
I'd appceiate a more experienced pair of eyes on
item.cpp
to make sure I did that right, I was kinda just copying how the surrounding code looked to make this branches changes fit with the recent refactor.EDIT: Darktoes has made his spreadsheet linked in his original PR publicly accessible, which makes it a lot easier to check the data.