v0.31 Talk:Archery

From Dwarf Fortress Wiki
Jump to navigation Jump to search

For some reason, my dwarfs are are 1) assigned to Train on the M screen in scheudle... 2) equipped with quiver and bolts and weapon... 3) have archery targets outside which have the T next to their name....

Hmm....and they say they can't follow the order..........eh....... :/

That can happen if you haven't modified the training schedule for your dwarves so that less than ten of them are required for the training to happen. As of 0.31.25, if your squad is fewer than ten members, you must change the required number of members in the training schedule for them to do any group training at all. Grumbledwarfskin 11:58, 23 August 2011 (UTC)
Actually, I'm not sure I was right about that anymore... Grumbledwarfskin 16:24, 27 September 2011 (UTC)
You forgot number 4 on the archery checklist

4)Archery targets have the correct orientation for their location. If you have them set to shoot top to bottom, but you have designed the range for bottom to top firing and there is no room to stand north of the target, they will never use those targets.

..and no. 5 - the target must have a walkable straight-line surface from the shooting position. If the target is set to shoot from the east, there can be no channels, cliffs, terrain level changes, or even grates in a straight line east of the target. Not to mention, no. 6, the range has a minimum size. And no. 7, archers still require a conventional barracks in addition to the range... 01:08, 19 September 2011 (UTC)

Archer max range??[edit]

What is the typical max range of crossbows/bows? Based on previous observations, I had thought it was 20-25, maybe 30 tiles maximum, however I just watched a middling-good crossbowdorf (prof marksd/expt arch) spear a buzzard out of the sky at a range of 55 (diagonal) tiles...! 01:08, 19 September 2011 (UTC)

55 diagonal tiles would be 55 tiles north, 55 tiles west, and 55 tiles up (for instance). It's likely that range does not take diagonality into account (that would be consistent with other range checks like sighting distance). So the effective range that the marksdwarf shot at would be the greatest of x, y, or z distance, and not any sum of those distances. (Don't know exactly your situation, but 55 tiles doesn't sound likely to me-- a single, central marksdwarf could then cover the entirety of a 2x2 embark.)Vasiln 02:33, 19 September 2011 (UTC)
Archers have a much longer range than crossbowmen. For crossbows, I see the typical 20-25, max 30 that you saw. However, I have seen some far shots (didn't really count tiles) when the target is running away quickly. My dwarfs are on a turret, and if the enemy is within range (fleeing, say) then they will shoot at the target much farther than if the enemy was just approaching. I see the code as "target is in range" OK. "Fire" OK, wait for experience, etc, then the bolt is fired. Meanwhile the target has moved quite a few tiles away.--Kwieland 02:58, 21 September 2011 (UTC)
55 diagonal tiles in the x-y plane, + a few (maybe 5-ish) z-levels up. Definitely a crossbow; I have no bowdorfs. Yes, the squad was definitely assigned crossbows specifically, and yes I checked his inventory to verify actual equipment. The dwarf's squad was m-ordered to the roof of my fort to scare off an annoying flock of cancel-spam-generating buzzards, and he was just the first to arrive; once he got there I gave the squad kill-from-list orders. I was expecting the combat reports, so was able to pause pretty much instantly once a report came up. It likely was not the first shot he took, just the first one that hit.
For now, I'm just assuming it's a case of there being a disconnect between the range for max initial target acquisition and actual shot range (so long as the target remains straight-line visible - note that might preclude the same happening for goblins dodging between trees). Further, the dorf took 2 more shots at the same fleeing (then falling) target, so it's not a matter of the target being in range when the decision to take the shot was made. And no, there was no other target along the same line, and the bolts traveled either very nearly or exactly through the creature's tile at the exact (tick-stepping) moment that each shot was fired (though unsurprisingly the creature had flown/fallen from that tile by the time the bolt got there). As extra confirmation, the followup bolt that was on target went from deadly-flying-bolt to useless-falling-deadweight on the exact tile the creature had occupied.
tl;dr I say the code is: t=acquire_target(acquire_range); if (t) then {while(visible(t) & in_weapon_range(t)) {fire_at(t)}}; 05:33, 27 September 2011 (UTC)
This is a very late addendum, and it's in regards to observations in 34.05, but I think this conversation is the right place to put it. Research on bolt recovery showed me that the max range of a marksdwarf (same z-level, horizontal distance only) is about 20 tiles. [b]However[/b], I saw exactly the behavior you're describing-- at one point, a surface marksdwarf started freaking out and shooting about 50 tiles to the north. There wasn't anything special about this marksdwarf, he wasn't blind, he wasn't particularly skilled, he didn't have special equipment. So I believe there's probably a difficult to reproduce bug where occasionally, marksdwarf range is greatly increased. -- Vasiln 07:07, 22 March 2012 (UTC)