CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.65k stars 4.18k forks source link

Disparity between throwing by hand and throwing with a tool. #77827

Open ampersand55 opened 3 days ago

ampersand55 commented 3 days ago

Describe the bug

I've noticed that there's something off with throwing and primitive ranged weapons for a while, but I haven't been able to get my observations across very well and the issues/prs have been closed without action. I've also been learning more things as I've continued experimenting. This is my last post about throwing, I promise.

I believe the cause is that there's two systems that has been evolving independently, one for throwing by hand and one throwing with a tool. There no test comparing the different throwing weapons in and there's no guidelines for primitive ranged weapons, see #77799.

  1. In the throwing by tool system, the movement cost is partly determined by item reload time and how fast you can retrieve the ammo from the quiver or container, and the dispersion is greatly reduced (for most items).
  2. In the throwing by hand system, the base movement cost is determined solely by the volume/weight of the item, and the dispersion (aiming) is a lot better. This seems to be the system feral humans operate under as they can throw rocks at range 5 with good accuracy.

An example of system 1 is the atlatl we have in the game which was recently balanced to have dispersion relative to bows in #77776.

An example of system 2 is the war dart that were added in #56553, which are similar to the atlatl. Quoting from the subtitles of one of the source videos https://youtu.be/cJotBsrqbwI?t=142

you'll see a notch here and that can be used in conjunction with a throwing spring there's no evidence at all from any of the manuscript pictures that they use the throwing spring and I'll show you what that is in a little bit but it's a device that's been known you know Stone Age times with the equivalent of an atlatl throwing stick does the same job so it's a device that would have been known and works very well with lightweight projectiles like to say this one's about 370 grams.

Attach save file

N/A

Steps to reproduce

Some of my testing, using an unencumbered 8/8/8/8 character with 5 throwing skill.

Weapon Ammo M.E.R Max range Dispersion Damage Moves dps
(throwing) Rock 1 (18) 18 low 7 60 5.83
Staff sling Rock 17 17 214 / 44 (sight) 17 416 2.04
(throwing) Steel atlatl spear 1 (17) 32 low ~2 60 1.67
Atlatl Steel atlatl spear 8 (65%) 8 1980 / 149 (sight) 15 513 1.9
(throwing) Iron war dart 1 32 low 5+17 56 19.64
(throwing) Lawn dart 1 32 low 16 56 14,29
(throwing) Throwing stick 1 18 low 5 63 3.97
(throwing) Aluminum bat 1 10 low 22 82 13.4
short bow Wooden broadhead 10 (82%) 10 1110 / 66 (sight) 6 421 0.61

The atlatl and short bow has a 10 crit multiplier which wasn't accounted for.

M.E.R = Displayed Max Effective Range where you have ~50% hit chance with precise aim. Most hand-thrown displayed as having range 1 (due to bug 1) in this report #77826) have approx 16-18 effective range if their maxrange is more than 18. Aluminum bat has maybe 6-8 effective range.

The numbers themselves aren't important per se, I just wanted to show that there is a pattern of two types of "throwing".

Expected behavior

In general, I would expect the weapons implemented with system 1 ought to have more range and do more damage than those in system 2, but not necessarily have higher dps due to the faster attack speed of throwing things.

I think we could use the feral humans throwing rocks at range 5 as a baseline for a minimum effectiveness of any primitive ranged weapons that were used in real life, at least with medium to high skill levels in throwing. There would be few reasons to invent a type of ranged weapon that were less accurate, had shorter range and did less damage than simply throwing a rock.

Screenshots

No response

Versions and configuration

Additional context

No response

IdleSol commented 2 days ago

How did you calculate damage and dps?

ampersand55 commented 2 days ago

Damage: For the hand-thrown items i read the "thrown_damage" field in json, for the other I examined the items and looked at the displayed damage.

Example for iron war dart:

"thrown_damage": [ { "damage_type": "bash", "amount": 5 }, { "damage_type": "cut", "amount": 17 } ],

$(5+17) \text{damage} \div 56 \text{moves} 100 .5 \times \text{hit chance } = 19.64$

ampersand55 commented 2 days ago

Some of the disparity can be attributed to the time_to_attack from throwing skill not being applied the same way to hand-thrown items. In addition tool assisted throwing weapons get move cost added from the move cost of the weapon and from the movecost from retrieving ammo from a container.

https://github.com/CleverRaven/Cataclysm-DDA/blob/27b424dfe1ff9ee3f6aa1a73492ba8d92609de10/data/json/skills.json#L215-L224

At level 0 in all skills, a naked 8/8/8/8 character can throw a rock in 69 (nice) moves.