User:76561198031004412/Sandbox: Difference between revisions

From MENACE Official Wiki
Khitrir (talk | contribs)
No edit summary
Khitrir (talk | contribs)
No edit summary
Line 21: Line 21:
! Squad?
! Squad?
| ????????
| ????????
! Shots per firer
| {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}}
|}
|}
{| class="wikitable"
{| class="wikitable"
Line 77: Line 79:
|-
|-
! Base HP Damage per shot
! Base HP Damage per shot
| 1
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((1 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 2
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((2 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 3
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((3 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 4
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((4 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 5
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((5 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 6
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((6 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 7
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((7 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 8
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((8 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 9
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((9 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 10
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((10 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 11
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((11 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 12
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((12 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 13
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((13 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 14
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((14 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
| 15
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((15 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}})) }}
|-
|-
! Expected HP Damage per rifleman
! Expected HP Damage per firer
| {{#expr: {{#invoke:TestModule|get|{{{1|}}}|Damage}} * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((1 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(1-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 2 {{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}  
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((2 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(2-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 3
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((3 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(3-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 4
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((4 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(4-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 5
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((5 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(5-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 6
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((6 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(6-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 7
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((7 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(7-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 8
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((8 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(8-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 9
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((9 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(9-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 10
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((10 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(10-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 11
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((11 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(11-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 12
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((12 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(12-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 13
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((13 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(12-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 14
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((14 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(13-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
| 15
| {{#expr: ({{#invoke:TestModule|get|{{{1|}}}|Damage}} - ((15 - 1) * abs({{#invoke:TestModule|get|{{{1|}}}|DamageDropoff}}))) * ((50 + {{#invoke:TestModule|get|{{{1|}}}|AccuracyBonus}} - (abs(14-{{#invoke:TestModule|get|{{{1|}}}|IdealRange}}) * abs({{#invoke:TestModule|get|{{{1|}}}|AccuracyDropoff}})))/100) * {{#invoke:TestModule|getSkillProperty|{{{1|}}}|{{{2|}}}|Repetitions}} }}
|-
|-
! Base Armor Damage per shot
! Base Armor Damage per shot
Line 127: Line 129:
| 15
| 15
|-
|-
! Expected Armor Damage per rifleman
! Expected Armor Damage per firer
| 1
| 1
| 2
| 2

Revision as of 11:21, 4 May 2026

This is to build a proof of concept, which can then be converted into a dedicated module once the kinks are worked out. This can then be used as a point of comparison for the dedicate module to verify numbers etc.


4 16


Weapon R10A6 K-PAC with Launcher Skill Salvo AP 0 ???? Ammo 16 Squad? ???????? Shots per firer 3
Range
(Tiles)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Accuracy 22% 28% 34% 40% 34% 28% 22% 16% 10% 4% -2% -8% -14% -20% -26%
Armor Penetration 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Base HP Damage per shot 9 8.2 7.4 6.6 5.8 5 4.2 3.4 2.6 1.8 1 0.2 -0.6 -1.4 -2.2
Expected HP Damage per firer 5.94 6.888 7.548 7.92 5.916 4.2 2.772 1.632 0.78 0.216 -0.06 -0.048 0.144 0.588 1.32
Base Armor Damage per shot 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Expected Armor Damage per firer 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15