Thrown weapon combat: Difference between revisions

m
Added a line about possible missing info
mNo edit summary
m (Added a line about possible missing info)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{As Of Patch|2.0.201.49}}{{tocright}}
{{As Of Patch|2.0.201.49}}{{Missing info|Are the claims that thrown weapons always show their "maximum possible penetration" and that "thrown weapon penetration will always equal 5 at minimum" still accurate? Seems like this might have changed with the introduction of throwing daggers to the game, and should be reviewed for accuracy. In addition, throwing daggers now break the previous rule of throwing weapons dealing minimal damage when used as melee weapons. Tonics also always penetrate?}}{{tocright}}
Any item in {{gamename}} can be equipped to a creature's '''thrown weapon''' equipment slot and thrown using the {{qud text|&y(&WT&y)hrow}} command.
Any item in {{gamename}} can be equipped to a creature's '''thrown weapon''' equipment slot and thrown using the {{qud text|&y(&WT&y)hrow}} command.


Line 20: Line 20:
* {{favilink|parabolic muscular subroutine}}: Increases maximum throwing range by 2.
* {{favilink|parabolic muscular subroutine}}: Increases maximum throwing range by 2.
* [[Airfoil]] mod: Increases a ''specific item's'' throwing range by 4.
* [[Airfoil]] mod: Increases a ''specific item's'' throwing range by 4.
* {{favilink|precision force lathe}}: Increases the throw range for fabricated {{favilink|force knife|plural}} by 6.


== Accuracy (Aim Variance) ==
== Accuracy (Aim Variance) ==
Line 28: Line 29:
* The thrower has the '''parabolic muscular subroutine''' installed, or the '''Deft Throwing''' skill.
* The thrower has the '''parabolic muscular subroutine''' installed, or the '''Deft Throwing''' skill.


Otherwise, the throw distance will be adjusted by {{dice tooltip|1d3-2}} cells. This means that, there is a 1 in 3 chance for the thrown object to stop one tile short of the target. For this reason, for players without the '''parabolic muscular subroutine''' or '''Deft Throwing''', it is preferable to aim one cell ''beyond'' the target to improve the chance of hitting it. NPCs will not be smart enough to overcome this limitation.
Otherwise, the throw distance will be adjusted by {{dice tooltip|1d3-2}} cells. This means that, there is only a 1 in 3 chance for the thrown object to land in tile aimed for and it will otherwise land behind or in front of the tile.


=== Angular Variance ===
=== Angular Variance ===
Line 43: Line 44:


== Hit Mechanics ==
== Hit Mechanics ==
Unlike melee weapon attacks and ranged weapon attacks, thrown objects cannot be [[DV|dodged]]. The analogue to dodging in thrown weapon combat is simply the variability with regard to range and accuracy. Since most creatures do not have a method of ensuring 100% throw accuracy (such as a {{qud text|&Yparabolic muscular subroutine}}), there is a reasonable chance for most throw attempts to miss. Players with high throw accuracy can use the fact that throwing ignores [[DV]] to their advantage to hit enemies that otherwise have extremely high dodge values, such as {{favilink|crypt ferret|plural}}.
Unlike melee weapon attacks and ranged weapon attacks, thrown objects cannot be [[DV|dodged]]. The analogue to dodging in thrown weapon combat is simply the variability with regard to range and accuracy. Since most creatures do not have a method of ensuring 100% throw accuracy (such as a {{qud text|&Yparabolic muscular subroutine}}), there is a reasonable chance for most throw attempts to miss. Players with high throw accuracy can use the fact that throwing ignores {{DV}}DV to their advantage to hit enemies that otherwise have extremely high dodge values, such as {{favilink|crypt ferret|plural}}.


If a thrown weapon ultimately lands in the same cell as a creature, it will have a high chance of hitting it. However, there is still a small chance of missing the target, dependent on the thrower's Agility.<ref name="PerformThrow" /> The base probability for this is determined by the game rolling '''1dA''', where '''A''' is the thrower's full [[Agility]] stat value. If the game rolls the maximum value, it rolls again and continues adding to that value. If the final result is 3 or greater, the thrown weapon hits the target. This roughly translates to the following approximate agility-based hit chances<ref>[https://rextester.com/LES55099 throw hit logic simulation]</ref>, though these values can be modified by other factors in game:<ref>''This particular failure mechanic is not well understood. The "other factors" seem to reduce the chance of missing dependent on target and other details. More research is likely required.''</ref>
If a thrown weapon ultimately lands in the same cell as a creature, it will have a high chance of hitting it. However, there is still a small chance of missing the target, dependent on the thrower's Agility.<ref name="PerformThrow" /> The base probability for this is determined by the game rolling '''1dA''', where '''A''' is the thrower's full [[Agility]] stat value. If the game rolls the maximum value, it rolls again and continues adding to that value. If the final result is 3 or greater, the thrown weapon hits the target. This roughly translates to the following approximate agility-based hit chances<ref>[https://rextester.com/LES55099 throw hit logic simulation]</ref>, though these values can be modified by other factors in game:<ref>''This particular failure mechanic is not well understood. The "other factors" seem to reduce the chance of missing dependent on target and other details. More research is likely required.''</ref>
Line 82: Line 83:
= List of Thrown Weapons =
= List of Thrown Weapons =
<div style="display:flex;flex-wrap:wrap;">
<div style="display:flex;flex-wrap:wrap;">
<div style="margin-right: 2.5em;">
=== Thrown Blades ===
{{#cargo_query:
| tables  = GeneralData=GD, ItemsTable=IT, PhysicalProperties=PP
| join on  = GD.JoinKey=IT.JoinKey, GD.JoinKey=PP.JoinKey
| fields  = CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Item,
            CONCAT('{{((}}PV{{))}}',CONCAT(IT.MaxPV))=Max PV,
            CONCAT('{{((}}Heart{{))}}{{((}}dice tooltip{{!}}',CONCAT(IT.Damage),'{{))}}')=Damage
| where    = PP.Throwable='1' AND GD.Categories='Short Blades'
| order by = IT.MaxPV DESC, IT.Damage DESC, GD.PlainName ASC
| format  = table
}}
</div>
<div style="margin-right: 2.5em;">
<div style="margin-right: 2.5em;">


=== Miscellaneous Thrown Items ===
=== Miscellaneous Thrown Items ===
{{#cargo_query:tables=GeneralData,ItemsTable
{{#cargo_query:
| join on=GeneralData.ObjectID=ItemsTable.ObjectID
| tables   = GeneralData=GD, ItemsTable=IT, PhysicalProperties=PP
| fields=CONCAT('{{((}}favilink{{!}}',CONCAT(GeneralData._pageName),'{{))}}')=Item,CONCAT('{{((}}PV{{))}}',CONCAT(ItemsTable.MaxPV))=Max PV,CONCAT('{{((}}Heart{{))}}{{((}}dice tooltip{{!}}',CONCAT(ItemsTable.Damage),'{{))}}')=Damage
| join on = GD.JoinKey=IT.JoinKey, GD.JoinKey=PP.JoinKey
| where=GeneralData.Categories='Thrown Weapons'
| fields   = CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Item,
| order by=ItemsTable.MaxPV DESC,ItemsTable.Damage DESC
            CONCAT('{{((}}PV{{))}}',CONCAT(IT.MaxPV))=Max PV,
| format=table
            CONCAT('{{((}}Heart{{))}}{{((}}dice tooltip{{!}}',CONCAT(IT.Damage),'{{))}}')=Damage
| where   = PP.Throwable='1' AND GD.Categories<>'Short Blades' AND GD.Categories<>'Tonics' AND GD.Categories<>'Grenades'
| order by = IT.MaxPV DESC, IT.Damage DESC, GD.PlainName ASC
| format   = table
}}
}}


Line 97: Line 116:


=== Tonics ===
=== Tonics ===
{{#cargo_query:tables=GeneralData,ItemsTable
{{#cargo_query:
| join on=GeneralData.ObjectID=ItemsTable.ObjectID
| tables   = GeneralData=GD, ItemsTable=IT, PhysicalProperties=PP
| fields=CONCAT('{{((}}favilink{{!}}',CONCAT(GeneralData._pageName),'{{))}}')=Item,CONCAT('{{((}}PV{{))}}',CONCAT(ItemsTable.MaxPV))=Max PV,CONCAT('{{((}}Heart{{))}}',CONCAT(ItemsTable.Damage))=Damage
| join on = GD.JoinKey=IT.JoinKey, GD.JoinKey=PP.JoinKey
| where=GeneralData.Categories='Tonics'
| fields   = CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Item,
| order by=Item
            CONCAT('{{((}}PV{{))}}',CONCAT(IT.MaxPV))=Max PV,
| format=table
            CONCAT('{{((}}Heart{{))}}{{((}}dice tooltip{{!}}',CONCAT(IT.Damage),'{{))}}')=Damage
| where   = PP.Throwable='1' AND GD.Categories='Tonics'
| order by = IT.MaxPV DESC, IT.Damage DESC, GD.PlainName ASC
| format   = table
}}
}}


Line 109: Line 131:


=== Grenades ===
=== Grenades ===
{{#cargo_query:tables=GeneralData,ItemsTable
{{#cargo_query:
| join on=GeneralData.ObjectID=ItemsTable.ObjectID
| tables   = GeneralData=GD, ItemsTable=IT, PhysicalProperties=PP
| fields=CONCAT('{{((}}favilink{{!}}',CONCAT(GeneralData._pageName),'{{))}}')=Item,CONCAT('{{((}}PV{{))}}',CONCAT(ItemsTable.MaxPV))=PV,CONCAT('{{((}}Heart{{))}}',CONCAT(ItemsTable.Damage))=Damage
| join on = GD.JoinKey=IT.JoinKey, GD.JoinKey=PP.JoinKey
| where=GeneralData.Categories='Grenades'
| fields   = CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Item,
| order by=Item
            CONCAT('{{((}}PV{{))}}',CONCAT(IT.MaxPV))=Max PV,
| format=table
            CONCAT('{{((}}Heart{{))}}{{((}}dice tooltip{{!}}',CONCAT(IT.Damage),'{{))}}')=Damage
| where   = PP.Throwable='1' AND GD.Categories='Grenades'
| order by = IT.MaxPV DESC, IT.Damage DESC, GD.PlainName ASC
| format   = table
}}
}}


Line 123: Line 148:
<references />
<references />


{{Mechanics Navbox}}
[[Category:Battle Mechanics]]
[[Category:Battle Mechanics]]
6

edits