Results 1 to 2 of 2

Thread: Missile and Projectiles Research.

  1. #1
    The Great Khan of Rome's Avatar Civis
    Join Date
    Dec 2016
    Location
    In your prison cell...
    Posts
    157

    Default Missile and Projectiles Research.

    Hello everybody. This is a thread for the possibilities of projectiles/missiles in the TW3 Engine. This is mostly my own research, with the help of others (very much appreciated).

    The first part of this thread will be dedicated to how projectiles work; how they factor for accuracy, damage, etc.

    According to MagicalSmalrusWalrusJones (creator of the famous Tuskmod), the formula for projectile accuracy is the following:
    V-BS+AS+WAS-S
    Where V is Velocity,
    BS is Base Spread,
    AS is Accuracy Skill,
    WAS is Weapon Accuracy Skill Bonus,
    and S is the fixed spread of the projctile
    From: The Obscure mechanics of Attila.

    Here, we will calculate some practice accuracy calculations with WalrusJone's formula in mind. (Note, this does not account for the mutators of _kv_rules, those being the missile_target_in_cover_penalty, the Missile_saving_bonus, the weather modifiers, and the Projectile_Target_Calibration_area values. These will be tested later.)

    Prac 1. att_arrow_bow_normal accrucey = 55 - 1 (guess), + 0 + 5 - 0
    att_arrow_bow_normal accrucey = 49%(?Atilla porbaly does not use this in-game; its likly a whole number instead) decimal = 0.49

    Prac 2. att_arrow_composite_normal accrucey = 55 - 1, + 0 + 5 - 0
    att_arrow_composite_normal accrucey = 61% decimal = 0.61

    Prac 3. att_arrow_crossbow_normal accrucey = 75 - 1, + 0 + 5 - 0
    att_arrow_crossbow_normal accrucey = 69% decimal = 0.69

    Prac 4. att_arrow_long_normal accrucey = 65 - 1, + 0 + 5 - 0
    att_arrow_long_normal accrucey = 59% decimal = 0.59

    Prac 5. att_arrow_fighting_tower_medium accrucey = 55 - 1, + 0 + 5 - 3
    att_arrow_long_normal accrucey = 46% decimal = 0.46

    Now we shall account for the mutators in _kv_rules (weather is irrelevant, as they are all 1)

    att_arrow_bow_normal accrucey = 49% (att_arrow_bow_normal's effective range is 150, so the accrucey is halved)

    att_arrow_bow_normal mutated with missile_distance_for_half_chance_hit accuracy = 24.5% (unknown if this applied or not)

    att_arrow_bow_normal mutated with missile_saving_bonus_base accuracy = 9.8%

    att_arrow_bow_normal mutated fully with missile_saving_bonus_base and missile_distance_for_half_chance_hit accuracy = 4.9%

    att_arrow_composite_normal accrucey = 61%

    att_arrow_crossbow_normal accrucey = 69%

    att_arrow_long_normal accrucey = 59%

    att_arrow_long_normal accrucey = 46%
    Last edited by The Great Khan of Rome; January 12, 2019 at 03:13 PM.
    Creator of UNREAL, balance mod series that promises changes to everything Total War, and it's offshoots, MEGA for other games. Basically, I'm reject Radious.

  2. #2
    The Great Khan of Rome's Avatar Civis
    Join Date
    Dec 2016
    Location
    In your prison cell...
    Posts
    157

    Default Re: Missile and Projectiles Research.

    Part 2: _kv_rules

    This part will discuss the
    kv_rules tables in relation to
    projectiles. There are a number of divisors, multipliers, and adders etc, with projectiles in mind.

    The effects of the said rules are made in the following thread:
    for kv_rules you have several values to play with, important ones are:

    missile_range_lethality_modifier - constant used to determine ranged lethality of projectile fired within effective range
    missile_saving_bonus_base - basic saving bonus to which shields and armour bonuses are added
    missile_saving_bonus_coefficient - the sum of the armour and shield bonuses are multiplied by this value.
    missile_shield_piercing_coefficient - multiplied by shield value during missile damage resolution
    projectile_calibration_target_area - area of calibration target in square metres
    projectile_damage_accuracy_multiplier - Multiplier to attacker accuracy (core marksmanship) before adding to kill chance
    projectile_damage_armour_divisor - divisor for armour stat subtraction from kill chance
    projectile_damage_base_multiplier - base multiplier to projectile damage (kill chance) before applying other modifiers
    projectile_damage_defense_divisor - divisor for defence stat subtraction from kill chance
    projectile_damage_distance_multiplier - multiplier applied to distance/range for subtraction from kill chance
    projectile_damage_shield_divisor - divisor for shield stat subtraction from kill chance


    and few more. anyway, these values are a bit tricky. usually divisor values divide the subtraction, therefore smaller values increase the resistance, while multipliers might either increase damage or reduce it based on what they multiply.. so some testing is required to find optimum values.
    How to weaken missile units in _kv_rules

    missile_range_lethality_modifier seems to be equivalent to missile-target-accuracy in battle_config.xml. Lethality is very likely just a percentage chance to deduct HP from a unit, usually what's ever left over from armor reduction. Kill Hit chance is damage according to this, so a damage value of 10 is probably equal to 10% (0.1).

    Tests confirmed armor is merely a percentage chance to deflect damage. Or, more concisely, how much damage to take away. The remainder gets deducted from the units HP. False, See below. How strong that armor is (how much gets deducted) is very likely determined by the value of projectile_damage_armour_divisor. Higher means more is deducted, fewer means less is deducted. The same is for projectile_damage_shield_divisor (for shields) and projectile_damage_defense_divisor (for defense stat, melee or is it missile block chance?).

    The conclusion from is thus that damage is a measure of efficiency, as armor can't or won't protect units from all the missile damage (presumably they get converted to blunt damage as the missiles fail to penetrate the armor). The more damaging missiles mean more efficient missiles, in relation to the armor. It also seems to be the chance to inflict damage on the target, as well as the amount of HP that gets decreased from the model (HP is per model).

    The formula for damage is the following:

    (damage (d) (from projectiles_tables) * projectile_damage_base_multiplier (bD)) -

    (missile_saving_bonus_coefficient (bC) * missile_saving_bonus_base (sB) + firing distance (fD) * projectile_damage_distance_multiplier (mD) + (missile_armour_piercing_coefficient * unit armour (aU) (mP for normal armour, for weak armour, missile_armor_penetrating_coefficient (mP2), if strong, no multiplier) / projectile_damage_armour_divisor (aD) +

    (missile_shield_piercing_coefficient (sC) * unit shield (uS) / projectile_damage_shield_divisor (sD)) -

    (missile block chance (mC) / projectile_damage_defense_divisor (dD)) -

    (marksmanship bonus (mB) + unit accuracy (uA)

    To simplify:

    (d * bD) -
    ((sB + fD) * bC) * mD +
    mP (normal armour) mP2 (weak armour) 0 (strong armour) * (aU / aD) +
    (uS / sD) * sC -
    (mC / dD) -
    (mB + uA)

    2023 me is here to correct some things. No, all the things. Now I think this is the case:

    Damage is simply the amount of HP the projectile takes off a unit. It's "reduced" by armor and shield. In reality, all a projectile needs is accuracy aka the chance to hit and armor/shield is there to block it, not really decrease it. Range can reduce both by their stated modifiers in _kv_rules, but I'm still unsure about its exact effects. I think this is a bit more simple to understand than a bunch of math, but I'll create them eventually when I feel like it, probably by revising this page.
    Last edited by The Great Khan of Rome; December 04, 2023 at 03:04 PM. Reason: corrections. huge corrections
    Creator of UNREAL, balance mod series that promises changes to everything Total War, and it's offshoots, MEGA for other games. Basically, I'm reject Radious.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •