v50 Steam/Premium information for editors
- v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
- Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.
Editing v0.34:Material science
Jump to navigation
Jump to search
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
You are editing a page for an older version of Dwarf Fortress ("Main" is the current version, not "v0.34"). Please make sure you intend to do this. If you are here by mistake, see the current page instead.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | {{ | + | {{quality|Fine|02:27, 11 May 2012 (UTC)}}{{av}} |
− | {{av}} | ||
− | |||
[[Material|Materials]] have a number of properties representing real world variables that describe how they respond to inputs. In particular, the game now has a number of variables that describe what happens to a material when it's put under stress. | [[Material|Materials]] have a number of properties representing real world variables that describe how they respond to inputs. In particular, the game now has a number of variables that describe what happens to a material when it's put under stress. | ||
Line 42: | Line 40: | ||
==Effects on Combat== | ==Effects on Combat== | ||
− | + | Dwarf Fortress only features a limited combat system. Item decay does not seem to be simulated properly at all, so the hypotheses are largely incorrect. | |
− | The mechanics governing how material properties impact the protection armor provides against projectiles have been [http://www.bay12forums.com/smf/index.php?topic=116151.0 studied reasonably carefully], and are described below. Armor protection from melee weapons has not been studied in detail, although it likely shares many similarities with ranged weapons. '''''Note: all of the below is based on recent | + | The mechanics governing how material properties impact the protection armor provides against projectiles have been [http://www.bay12forums.com/smf/index.php?topic=116151.0 studied reasonably carefully], and are described below. Armor protection from melee weapons has not been studied in detail, although it likely shares many similarities with ranged weapons. '''''Note: all of the below is based on recent experiments, and many results may be approximate or incomplete.''''' |
===Projectile Properties=== | ===Projectile Properties=== | ||
− | The main factor determining if a projectile penetrates armor is its momentum. Material properties of the bolt/arrow (except for IMPACT_YIELD, which will be described below), as well as bolt quality and marksdwarf/archer skills do not appear to matter | + | The main factor determining if a projectile penetrates armor is its momentum. Material properties of the bolt/arrow (except for IMPACT_YIELD, which will be described below), as well as bolt quality and marksdwarf/archer skills do not appear to matter. Dwarven weapons launch projectiles with roughly constant momentum. However rounding of projectile masses can result in some very strange behavior. The complete calculation used to determine projectile momentum is as follows: |
*Find the mass of your projectile. Mass=SOLID_DENSITY*SIZE/1,000,000. | *Find the mass of your projectile. Mass=SOLID_DENSITY*SIZE/1,000,000. | ||
*Floor that number to an integer. | *Floor that number to an integer. | ||
Line 56: | Line 54: | ||
===Interactions Between Projectiles and Armor=== | ===Interactions Between Projectiles and Armor=== | ||
− | |||
When a projectile strikes armor, there are several possible outcomes: | When a projectile strikes armor, there are several possible outcomes: | ||
*Conversion of edged damage to blunt damage (chain mail does this). | *Conversion of edged damage to blunt damage (chain mail does this). | ||
Line 62: | Line 59: | ||
*The armor absorbs all or part of the force of the blow. | *The armor absorbs all or part of the force of the blow. | ||
*The armor is fractured and does nothing to stop the projectile. | *The armor is fractured and does nothing to stop the projectile. | ||
− | For armor to be at all effective at stopping projectiles, the armor material must have SHEAR_YIELD and/or SHEAR_FRACTURE greater than or equal to the projectile material. Otherwise, the projectile just cuts through the armor like it isn’t there. Additionally, the IMPACT_FRACTURE of the armor must be large relative to the projectile momentum, or the armor fractures and the projectile passes through without slowing down significantly (this happens for metal bolts against any plate armor in | + | For armor to be at all effective at stopping projectiles, the armor material must have SHEAR_YIELD and/or SHEAR_FRACTURE greater than or equal to the projectile material. Otherwise, the projectile just cuts through the armor like it isn’t there. Additionally, the IMPACT_FRACTURE of the armor must be large relative to the projectile momentum, or the armor fractures and the projectile passes through without slowing down significantly (this happens for metal bolts against any plate armor in the current version). [Insert Urist's flowchart here] |
====Conversion of Edged Damage to Blunt Damage==== | ====Conversion of Edged Damage to Blunt Damage==== | ||
− | If the momentum of the projectile is not too high, then chain armor can convert the edged damage normally caused by projectiles to blunt damage, resulting in chips, fractures, jams and bruises, but no tears or cuts. Plate armor does not appear to provide this type of protection under any conditions tested so far. It is not yet known how the momentum needed for edged damage to penetrate chain armor is calculated, but for the cases examined the momentum needed is many times larger than those observed for in-game projectiles. | + | If the momentum of the projectile is not too high, then chain armor can convert the edged damage normally caused by projectiles to blunt damage, resulting in chips, fractures, jams and bruises, but no tears or cuts. Plate armor does not appear to provide this type of protection under any conditions tested so far. It is not yet known how the momentum needed for edged damage to penetrate chain armor is calculated, but for the cases examined the momentum needed is many times larger than those observed for in-game projectiles. [Insert plot here] |
− | |||
− | |||
====The Projectile Absorbs the Force of the Collision==== | ====The Projectile Absorbs the Force of the Collision==== | ||
Line 74: | Line 69: | ||
*Mass=armor SOLID_DENSITY times the volume from the last step | *Mass=armor SOLID_DENSITY times the volume from the last step | ||
*If the IMPACT_YIELD of the projectile is less than mass*(800/157)/PROJECTILE_SIZE, then the projectile deforms and is reported as “deflected”. | *If the IMPACT_YIELD of the projectile is less than mass*(800/157)/PROJECTILE_SIZE, then the projectile deforms and is reported as “deflected”. | ||
− | In-game, this type of deflection is observed for wood bolts impacting metal armor, and explains why adamantine is observed to be the worst armor for deflecting wood bolts, as it has the lowest density | + | In-game, this type of deflection is observed for wood bolts impacting metal armor, and explains why adamantine is observed to be the worst armor for deflecting wood bolts, as it has the lowest density. |
====The Armor Absorbs the Force of the Collision==== | ====The Armor Absorbs the Force of the Collision==== | ||
This form of deflection depends only on the momentum, but not the material, of the projectile. The armor will provide 50% protection from projectiles if | This form of deflection depends only on the momentum, but not the material, of the projectile. The armor will provide 50% protection from projectiles if | ||
− | + | :momentum = (IF-IY/2)*round100(C*S)/(2400000-AU*10000-Q*30000) | |
− | + | where IF=IMPACT_FRACTURE and IY=IMPACT_YIELD of the armor material, C is CONTACT_AREA of the projectile (although it may be the smaller of the projectile and the body part struck), and S=LAYER_SIZE of the armor item(s) covering the body part struck, AU is the target's armor user skill (0=none, 16=legendary) and Q is the armor quality (0=none, 5=masterwork). The function round100(x) is equal to 100 if x is less than 100, and 100*floor(x/100) otherwise (rounded to the nearest 100). It unclear if or how the thicknesses of multiple armor layers covering one body part stack. This formula is approximate, and the exact values of the coefficients in the denominator may not be accurate. The amount of protection provided drops sigmoidally from 100% to zero over a fairly narrow range. | |
− | where | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | It unclear if or how the thicknesses of multiple armor layers covering one body part stack. This formula is approximate, and the exact values of the coefficients in the denominator may not be accurate. The amount of protection provided drops sigmoidally from 100% to zero over a fairly narrow range | ||
− | |||
− | |||
− | + | The manner in which armor offers protection is different depending on whether the bolt momentum is greater than 50000/IMPACT_STRAIN_AT_YIELD [I need to check if/how CONTACT_AREA influences this equation - this if for CONTACT_AREA=2]. If momentum is less than this threshold, then armor can completely deflect projectiles, while if it is larger, armor can significantly slow projectiles so that they cause only bruises (not tears, chips, fractures, or jams). | |
{{Category|Materials|*}} | {{Category|Materials|*}} |