-
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 #30681
Archery Redux Part 3 #30681
Conversation
Adjusts values to fit with the new system. Should make bows more viable and less garbage. Ranges are currently just based directly on range, since it's kind of a nonsense value anyway. Minor name/description changes.
Adjusted range and damage, added required strength value (based on strength required to draw it by hand), added mod slots for reloading mechanisms.
Necessary for various reasons
You did not changed the loudness of bows. So while composite bow went from 5 dmg to 23, and from 5 str to 10, its loudness is still 6. Selfbow is 8 loud, shortbow 6, compound bow 10. And comp bow is closest in its other stats. |
Missed the rail mounted crossbow which would close #29941 |
Fair, but composite bows are still quite quiet. I'll have to check it against the other traditional style bows.
Those aren't in crossbows.json so I forgot, thanks for the reminder. |
Two years of this shit.
Gave it an actual damage value so it actually fires and doesn't just plonk bolts on the floor. Sorry if anyone's character died because of that...
This isn't working out quite as well as I had hoped.
|
Accidentally a double space
Pneumatic bolt driver is also kind of a crossbow if you feel that needs changing as well. |
It does, but that's going to be in part 4 or 5. |
What kinda thing that still needs working on? |
I made the mistake of deciding to tackle crossbows in this PR. Which means I need to revamp the strength requirement mod and possibly change minimum strength requirements in general. I'm hoping to handle that tomorrow, which should complete this PR. |
Umm; 40lb draw selfbow? At 40lbs you're not really a self bow any more; as you've probably added recurve, backing and moved more into the territory of some other bow. Selfbows... kinda suck without really good points on arrows. I mean; they are better than no bow; and useless against armour. and can take down a goat... but anything much bigger has a good chance of living. edit: missed the notes part: yup, is a bit generous. but given short bow is 30lbs, why not make it the same and make a short bow less encumbrancy and more accuracy. |
Selfbow is just a very broad category rather than a particular type of bow, namely a bow made from a single piece of wood rather than from composite materials. In our case I've renamed it to crude bow, since even the 200lb longbows on the Mary Rose are selfbows. Most of the admittedly rough research I've done suggest most rough selfbows people make from actual staves fall in the 60lb range. This one isn't made from a proper stave or properly seasoned, so I think 40lb is reasonable. Alternatively, you could consider it 30lb and slightly more efficient, but the roughness makes it feel like a 40lb draw. |
I've said this a number of times, but to repeat, all selfbows are going to require seasoning as soon as we have code in place to handle it. Unseasoned bows are not worse than seasoned bows, they're not bows at all. |
Perhaps I didn't explain it properly. The "crude bow" isn't made properly, it's not from a stave or any proper piece of wood, just some sort of semi-dry or reasonably bendy stick. Something along the lines of: |
As a special exception for the very easiest bow to make we can leave it unseasoned. Your sources place it squarely in the 25-30 lb. draw weight range that @yarbelk cited. And no, a rough hewn stick bow is definitely not going to be at all efficient at turning that force into propulsion. You need to come to terms with this, a survival bow is garbage, and its stats need to reflect that. 30lb draw weight, 0.5 efficiency, and whatever damage the formula tells you that should have. |
This kind of thing is why i orginally asked for feedback. There's no "coming to terms with" anything, It was basically just a value I pulled out of nowhere. All you need to do is say what you think. |
any eta on progress? |
Well you'll notice the last commit was 2 weeks ago, so maybe tomorrow, maybe in another two weeks. Motivation is a fickle beast. |
Changing both to be proportional rather than additive and percentage multiplier
Basically trying to change the reload modifier from percentage to multiplicative since nothing else uses a percentage multiplier and also change the str modifier from additive to also multiplicative, since that's what it was originally supposed to be. I sure hope this works.
@darktoes: The project requires PRs be tested by the contributor making it. For JSON changes, the very least you can do is swap out original files for your new ones and see if the game loads and the items work as expected (debug menu is a godsend for that). And I speak as a contributor who never had a proper dev environment either, so I limited myself to JSON-only changes. |
I wanted it to be JSON only changes and I thought it would only be JSON only changes, then it turned out some things weren't set up the way they needed to be and I needed to change them. I'm trying to do the best I can but obviously I need some help since I'm out of my depth. I'm not sure why that warranted the original comment, and I'm not sure why replying in kind is out of line. To be clear, the issue above isn't testable without an environment because this PR changes hardcode that modifies how that JSON value is treated. Without an environment I can't test most of the changes, and i don't yet have one set up, so I asked Zhilkin if he could rerun his test for me. |
Freely abused ??? ..... Jesus. You were asking other people to compile and test your changes in the discord weeks ago, and giving attitude to people then when they questioned why you couldn't set it up to do it yourself. And now it's happening again... this is not abuse, this is the baseline level of input required from all contributors in their own PRs. I cannot believe you still don't understand this. Asking for help and guidance when you are out of your depth is one thing, asking other people to do your work for you is another, and it is not stopping. If you cannot do it yourself, then just don't do it , pick a contribution you can do, or set up a dev environment. |
@darktoes: Sorry, but the moment you made a PR with source changes, you need a dev environment. The requirement is there for a reason. The project is too large and popular to sneak in untested changes which will likely result in the game outright crashing. Even with the requirements for contributors to test - and a suite of automatic tests - things break. Case in point, the recent change to 1s a turn. |
I don't remember this, can you give an example?
It hasn't been an issue before, and that's not the issue I have now. My issue was why I can't reply in kind to a comment that I interpreted as derisive. If it wasn't meant to be derisive and I misinterpreted it, then that makes things far different, but Ifreund would need to answer that. I'd like to be able to do these things on my own but I simply don't have the environment set up or the knowledge to do so on my own, which is why I'm hoping to get a friend of mine to help me with it in the near future.
No one who's "done my work for me" has ever told me they had an issue with it. I need help, I ask for it, sometimes people give it to me, and everything is fine. I'm not sure what the issue there is, and this is the first time I've heard anything about it. I'd happily go back to JSON-only PRs if it weren't for the fact that this one is kind of necessary to fix bow/crossbow balance, which a fair number of people consider significant enough to bother me about on Discord. Kevin wants ranged bow tests so someone needs to make that happen, and the fact is I can handle it myself given enough time but it would be a lot quicker if someone helped me. Honestly, I'd just like this PR to be completed.
Same thing. I've been pulled out of my area of expertise by the scope of this PR, which I'd really like to finish since a number of people want it, and I just need some help with that. I'm not trying to sneak in anything untested (and I rather resent that), which is why I wait until Zhilkin or anyone else with the ability to help me has time to help me and offers their help. The crux of the argument here seems to be "you're contributing but only doing XX% of the work when you should be doing 100%", but isn't XX% still infinitely better than 0%? |
Personally, I'd rather that, than indulging the selfish and entitled attitude you are displaying. But that's just me, others may have generous hearts overflowing with bounteous time to give to others. And others may just want this PR over the line, and hold their nose and hold your hand to get it done. I've said my opinion, but its not up to me. |
No, it's really not, and I don't understand where you're getting selfish and entitled from. I'll freely acknowledge that I've grouched about how difficult this has become but it's never been intentionally directed at anyone. I made a comment (on Discord) about "not getting shit" when asking for help on Discord, but that was an explanation and statement of fact, again, not directed at anyone. If there's any other comments on Discord (which currently appears to be down, making it difficult for you to provide examples if you're inclined, I acknowledge) which could be construed as entitled or selfish then I suspect they were just poorly worded (likely due to my recent stresses), since I'm sincerely thankful to everyone that has helped me with this PR, @ifreund included. Perhaps I attributed too much malice to their original comment, and/or maybe it's just been a long day and I don't have the energy to properly react to what may well have just been banter or a genuine question. Regardless, I think you're entirely wrong, and I don't understand why you're so malicious about it. |
Well, looks like travis answered your original question for you: https://travis-ci.org/CleverRaven/Cataclysm-DDA/jobs/549677719 |
Oh it has indeed. That's handy! And here I thought Travis still just always failed without reason. |
I am baffled and amazed that you'd be defending the decision to make a fairly large balance PR without even attempting gameplay. There isn't an excuse for that and I feel rather strongly that if you can't test your changes in a case like this you shouldn't be making them. Anyone can install a compiler. |
I don't know what to tell you. I do this as a minor hobby and have other priorities, and it hasn't been a serious issue until now. Most of my values are real-world derived so I'm fairly confident that playtesting isn't going to reveal much balance-wise as long as nothing crashes, which the automatic builds show me just as easily. You're all being very offensive to someone who's just trying to improve a game they like playing. Nothing's going to get PRed until it's complete/working and I'll keep working on it until it is, so just calm the hell down. |
Or other people with their own priorities will keep getting asked to work on it. |
I asked a couple of times, sometimes I ask for advice. Everyone else does as well. What's your issue, it's not enough to want to help and contribute? To do what I can? |
I'm just going to note here that you have spent more time arguing against setting up your own dev environment than it would have taken for you to install Visual Studio |
Well if I didn't have to sit and have this argument about what I should or shouldn't be able to do with my own damn time maybe I would have. |
The issue is, the fact you are not choosing to spend your time on setting up a compiler ( which every other contributor usually has to do ) has an impact on other peoples time who have to pick up the slack to get this done and help you out, and write the tests and astyle for you etc. |
I would be happy to talk you through installing visual studio on discord and setting up a compiling environment that allows you to press a button and make it compile. |
I wrote the tests myself thank you, I sat and worked it out. I needed someone to run them to see why they were failing. If people want to help me they can, I've never forced anyone to do anything, so fuck off about any impact I might have on others that freely and willingly give me their time. I'll spend my time however I please, and this PR will just have to take as long as it takes me.
I appreciate the offer but already have a friend who's agreed to give me some guidance. I'm just not going to do it today or probably anytime soon, since I'm supposed to be on holiday after the exams I suffered through. |
Kindly, do not tell me to fuck off. thanks. please read the Code of Conduct. People freely and willingly give their time because some people are nice. It isnt fair to rely on it, that is what you are doing, you are doing something no other contributors do, putting yourself in a position where you need other peoples work to finish this. That is not how this process is meant to work. |
I'm sure code of conduct has plenty to say about harassing another contributor just trying to finish their own PR. Some people are nice, I agree with that. You aren't one of them. It's fair to ask people for help when I know they could do something far more quickly than I could. It's also fair for them to refuse if they don't want to. I've never forced anyone to do anything, and if they don't want to help then that's fine. That just means it's going to take longer. Even if I did absolutely require other people's work (which I don't. Or you could say that I do, considering it's a collaborative project and everything is built on everyone else's work, but then so does everyone.) then that would also be fair because at least I'm still contributing the parts I can do on my own. The only difference between me and all the contributors that put up feature requests for things they can't hardcode and then just wait for someone to do it for them is that at least I'm making an effort to do it on my own, and it disgusts me that that somehow isn't enough for you. The way the process works is people make PRs and if they're acceptable they get merged. Mine isn't acceptable yet so I'm working on it. This has no impact on you in any way, shape, or form. |
Darktoes, the issue here is not that your pr isn't acceptable nor done yet, it's that you have said yourself it's presently impossible for you to test it, asked other contributors to do elementary level tests for you, and when people get understandably a little miffed about that you get extremely defensive. The rest of us have priorities too. I don't have a compiler. There's a reason I've only submitted about five very trivial c++ related changes, three of which were just cp'd from a coder's instructions. I also still test my changes in any way I feasibly can. It's a volunteer project, sure, but if you break stuff then it's the other volunteers who are then obligated to pick up the slack for what you break. You do good stuff for the most part and nobody wants to see you leave, but people have been banned for refusing to test their stuff in the past, for reasons I would have thought until today would be incredibly obvious. |
From the sound of it you are throwing rocks into a pond with a blindfold on, and asking everyone "Are the waves big enough, or should I throw a bigger rock?" instead of doing some preliminary judgement yourself by self-testing the intended change and saying "I think this size of rock is ok, waves are big enough, do you agree?". Members of the team that deal with merging will do their judgement on the latter, not the former. But if you deliberately declare "I can't be bothered with testing. It's dev team job to judge it.", you are simply wrong. I can believe they could let it go, if it was an obvious one-liner, but in more significant changes its a must! No one will get back to you again and again with feedback just for you to make another change in the blind and asking "Test it again, perhaps this time I've hit the spot". There are dozens of PR to tend to then waste time on such unproductive proceedings. |
Putting this on hold until you can get your build environment sorted out and get the tests done. Also to address some of your specific points:
No, it's not. People have their own priorities, and you starting things, getting stuck, and then demanding help to complete things is not fair, it's manipulative. From the project's point of view this is a terribly inefficient way to get things done, so it cannot be allowed to persist. In particular, coding in c++ without a very tight loop of edit -> compile -> fix problems -> repeat is an incredibly difficult task that people don't normally attempt without years of experience. This is the last thing you should be trying to do if you're just learning c++.
It doesn't matter why you changed game code, only that you did. The fact that you did means you need a build environment set up to test your changes, full stop.
No, it's not, because you're giving the impression that you're doing more work without actually doing more work, and using it as leverage to get people to work on your thing instead of what they think is more important. If you open a PR, the expectation is that YOU do the work necessary to complete the PR
It has in fact been a serious issue all along, and you have been told it's a problem a number of times. In addition to the closure of the PR, consider this an official warning, you're causing significant disruption to the project by the way you have chosen to proceed with these changes, if you continue to proceed in this fashion, your contributions will no longer be welcome. |
@kevingranade This is the first I've heard of anyone having feelings anywhere along these lines. No one has ever told me that this was any kind of issue beyond "you really should have a proper environment set up, it makes things faster/easier/etc". I honestly don't see why it's such a big issue to do things at my own pace and get help when others can do what I can't. I haven't "demanded" help on any occasion and I've never manipulated anyone. Using the Discord search i can find two instances where I asked for environment help on this PR, one of which was prompted because it came up in conversation, the other was a single, polite message. If anyone can provide instances where I've "demanded" or "manipulated" then that would interest me, otherwise this just sounds like baseless accusations. "Significant disruption to the project" also sounds like an outright exaggerration, unless you're referring to this entire conversation, in which case I wasn't the one that started it. I haven't had any issues with anyone who has not responded to or denied my requests for help, I've only ever gotten upset in this particular case where I've been accused of demanding and manipulating. |
That IS someone telling you that it's an issue, yes. The fact that you ignored it doesn't mean it didn't happen. I told you why this is a problem and what you need to do about it, it's not up for discussion. |
Being told it's faster or easier to do things with an environment isn't telling me that it's a problem with regards to the standard of the community. Thus far it hasn't been an issue and I've had a number of successful PRs without having an environment set up, and I've been blindsided by this entire issue. At no point was I told or have I felt that I would be insulted and attacked because I tried to develop something without an environment, which seems like a pretty substantial communication failure to me. I'm perfectly fine with the decision to close this PR until I can get the tests succeeding and if you had just done/said that without any other criticism there wouldn't be an issue between us. I take issue with the fact you said I was demanding and manipulative. If you can provide a good example then fine, otherwise you should acknowledge that it was unwarranted. |
This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there: https://discourse.cataclysmdda.org/t/archery-nerfs-and-drama/20683/1 |
Summary
SUMMARY: Balance "adjusts bows and crossbows"
Purpose of change
Part 3 as I'm still working on part 2, but this fixes all the damage/range issues people have been complaining about.
Describe the solution
Adjusts bows/crossbows to match the system outlined in : https://docs.google.com/spreadsheets/d/1wpuAk7F1fJ227yAgYbokwn7KxdEeOv-MGFvnnnW5s1Q/edit#gid=781207725
Additional context
Hopefully everything is right, but this isn't an exhaustive set of changes.
Also, the reload mechanisms have somewhat crappy recipes but I intend to fix that when I get around to part 2.