dragon fireball burn damage modification

This commit is contained in:
FateJH 2020-08-26 19:10:43 -04:00
parent 89a7f180dd
commit 285d5c94ae
2 changed files with 23 additions and 5 deletions

View file

@ -2616,7 +2616,7 @@ object GlobalDefinitions {
flamethrower_fireball.Aggravated = AggravatedDamage( flamethrower_fireball.Aggravated = AggravatedDamage(
List(AggravatedInfo(DamageType.Direct, 0.9f, 500), AggravatedInfo(DamageType.Splash, 0.9f, 500)), List(AggravatedInfo(DamageType.Direct, 0.9f, 500), AggravatedInfo(DamageType.Splash, 0.9f, 500)),
Aura.Fire, Aura.Fire,
AggravatedTiming(5000), AggravatedTiming(5000, 10),
0.1f, 0.1f,
false, false,
false, false,
@ -2627,9 +2627,8 @@ object GlobalDefinitions {
ProjectileDefinition.CalculateDerivedFields(flamethrower_fireball) ProjectileDefinition.CalculateDerivedFields(flamethrower_fireball)
flamethrower_fireball.Modifiers = List( flamethrower_fireball.Modifiers = List(
DamageModifiers.InfantryAggravatedDirect, DamageModifiers.InfantryAggravatedDirect,
DamageModifiers.InfantryAggravatedDirectBurn,
DamageModifiers.InfantryAggravatedSplash, DamageModifiers.InfantryAggravatedSplash,
DamageModifiers.InfantryAggravatedSplashBurn, DamageModifiers.FireballAggravatedBurn,
DamageModifiers.RadialDegrade DamageModifiers.RadialDegrade
) )
@ -2646,7 +2645,7 @@ object GlobalDefinitions {
flamethrower_projectile.Aggravated = AggravatedDamage( flamethrower_projectile.Aggravated = AggravatedDamage(
List(AggravatedInfo(DamageType.Direct, 0.5f, 500)), List(AggravatedInfo(DamageType.Direct, 0.5f, 500)),
Aura.Fire, Aura.Fire,
AggravatedTiming(5000), AggravatedTiming(5000, 10),
0.5f, 0.5f,
false, false,
false, false,
@ -2659,7 +2658,7 @@ object GlobalDefinitions {
ProjectileDefinition.CalculateDerivedFields(flamethrower_projectile) ProjectileDefinition.CalculateDerivedFields(flamethrower_projectile)
flamethrower_projectile.Modifiers = List( flamethrower_projectile.Modifiers = List(
DamageModifiers.InfantryAggravatedDirect, DamageModifiers.InfantryAggravatedDirect,
DamageModifiers.InfantryAggravatedDirectBurn, DamageModifiers.FireballAggravatedBurn,
DamageModifiers.MaxDistanceCutoff DamageModifiers.MaxDistanceCutoff
) )

View file

@ -278,6 +278,25 @@ object DamageModifiers {
} }
} }
/**
* For damage application that involves aggravation of a fireball (Dragon secondary fire mode),
* perform 1 damage.
* @see `ResolvedProjectile`
*/
case object FireballAggravatedBurn extends Mod {
def Calculate: DamageModifiers.Format = formula
private def formula(damage: Int, data: ResolvedProjectile): Int = {
if (data.resolution == ProjectileResolution.AggravatedDirectBurn ||
data.resolution == ProjectileResolution.AggravatedSplashBurn) {
//add resist to offset resist subtraction later
1 + data.damage_model.ResistUsing(data)(data)
} else {
damage
}
}
}
/** /**
* The initial application of aggravated damage against an aircraft target. * The initial application of aggravated damage against an aircraft target.
* Primarily for use in the starfire weapon system. * Primarily for use in the starfire weapon system.