Back to the Korax Forum Archives
Crimson Wizard
RambOrc
Firebrand
Crimson Wizard
Firebrand
Crimson Wizard
Crimson Wizard
Firebrand
Crimson Wizard
Crimson Wizard
RambOrc
Firebrand
Crimson Wizard
// missiles can hit other things
if (bMissile)
{
if (bRip && !Other.bDontRip)
{
<...>
damage = GetMissileDamage(3, 2);
<...>
return true;
}
<...>
damage = GetMissileDamage(bStrifeDamage ? 3 : 7, 1);
EntityEx.Misc::GetMissileDamage:
int GetMissileDamage(int Mask, int Add)
{
if (!MissileDamage)
{
return 0;
}
if (!Mask)
{
return Add * MissileDamage;
}
return ((P_Random() & Mask) + Add) * MissileDamage;
}
For Ripping missiles (with bRip flag) GetMissileDamage is called with Mask = 3 and Add = 2.
For non-ripping missiles with bStrifeDamage GetMissileDamage is called with Mask = 3, for all others Mask = 7.
Regarding Korax Arena, final formulas are:
[list:17z5mtah]- for Ripping projectiles:
damage = ((P_Random() & 3) + 2) * MissileDamage;
- for common projectiles:
damage = ((P_Random() & 7) + 1) * MissileDamage;
[/list:u:17z5mtah]
That is, correspondingly:
( 2 to 5 ) * MissileDamage
( 1 to 8 ) * MissileDamage.Crimson Wizard
Firebrand
Crimson Wizard
Firebrand
Firebrand
Crimson Wizard
Firebrand
Crimson Wizard
Firebrand