The Battle Manual:Firing

From PlanetsWiki

Jump to: navigation, search

Contents

[edit] Overview

[edit] New Power Boost

The new power boost for Large Weapons can greatly increase the power of a Large weapon because as long as the power bank is not emptied, weapons can fire like a machine gun every tick. But be careful! There is a good chance that your ship goes BOOM!

Have a look here for details on charging of the power bank. If the power bank is full and if one or both of the new weapon switches for the two power boost modes are activated and if the ships has fired in the last tick then the weapon systems give an signal to the power boost section that now it would be a good time to activate the power boost sequence. To avoid energy wasting the power boost is not initiated immediately but more and more likely the more the weapon banks get uncharged.

If finally the sequence is initiated then the power bank is directly coupled to the weapon bank. The coupling of the power bank and the weapon bank is a critical event. An unskilled crew or a ship with too much sys damage or to less crew or to less HGs (the Borg Queen counts as many) may cause a BOOM! The ship is then disabled and badly damaged for the rest of the combat. It can even be destroyed! But it gains more skillz if it survives the combat. RCS owned plasma stream ships (Lotus and Aurora) only have up to half of the BOOM! chance. It depends on the ratio of boosted PBC to boosted none PBC LWs.

If the BOOM! does not occur the whole weapon bank is now in a decaying energy bath. The bath decays with PB = PB * 0.9 - 10 per tick. The energy bath charges the weapons immediately in one tick if there is enough energy left. No normal charging takes place. The decay even takes place if the weapons are not firing.

In normal power boost mode all weapons except BC, PBC are boosted. In special power boost mode only PBC and BC are boosted. One can combine both modes. Super weapons will be never boosted in the new power boost code. The old power boost for cloakers and for super weapons remains unchanged.

By default BC take FullCharge/10 from the energy bath and PBC FullCharge/100. The divisors are a hconfig parameter. Other weapons take FullCharge*5 from the bath. The * 5 is also a hconfig parameter.

As soon as the PB reaches zero the coupling with the weapon bank is resolved and normal charging take place again.

BTW: All objects will enter combat with empty weapons and power banks and charge now every tick all the time.

[edit] BOOM! Chance

Level = Ship's Experience
r1 = Crew / MaxCrewSize (max = 1 min = 0)
IF Borg THEN IF Queen onboard THEN r2 = 1
IF no Borg THEN
* IF MaxCrewSize > 1000 THEN r2 = HG / 100 (max = 1 min = 0)
* IF MaxCrewSize <=1000 THEN r2 = 10 * HG / MaxCrewSize (max = 1 min = 0)
r3 = 1 - (DamageSys + DamageWeapons) / 100 (minimum = 0) (max = 1 min = 0)
r = (r1 + r2 + r3) / 4
TriggerLevelOutput = r
TriggerLevel = 200
Sensitivity = 0.01
Luck = Sigmoid(Level, TriggerLevel , TriggerLevelOutput, Sensitivity)

"Luck" is the probability that a BOOM! does not occur. Before each power boost sequence this Luck is calculated and the dice are thrown:

IF RND > Luck THEN BOOM!

[edit] Example 1

TriggerLevelOutput: 0.75

Triggerlevel: 200

Sensitivity: 0.01

Level   Luck
0        0.204545453
100      0.321428567
200      0.75
300      0.949999988
500      0.980769217
1000     0.99242425

[edit] Example 2

TriggerLevelOutput: 0.375

Triggerlevel: 200

Sensitivity 0.01

Level   Luck
0        0.059210528
100      0.102272727
200      0.375
500      0.892241359
1000     0.954710126

[edit] Special Coalition Rule

The Coalition can use the PBC better than any other race. So the BOOM! risk coming from PBCs in Coalition hands is smaller:

Luck = Luck + (1 - Luck) * 0.5 * BoostedPBCs / AllBoostedLWs

[edit] BOOM! Damage

DamageWeapons = DamageWeapons  + 100% * RND
DamageSys     = DamageSys      + 100% * RND
DamageHull    = DamageHull     +  25% * RND
DamageShield  = DamageShield   +  50% * RND

IF SoftSpot > RND * 100 THEN DamageHull = DamageHull + 25% * RND
PowerBoost is deactivated for the rest of actual space combat

[edit] Ships versus Wings

[edit] New 3 Stage Odds Competition System

A new multi stage odds competition system has been introduced for all firing vs. wings inside space combat (by Point Defense, Sandcaster and Gatling Phasors).

The system here has 3 stages:

  • Stage 1: The weapon accuracy has to compete with the distance.
  • Stage 2: When the weapon produces a shot which goes into the intended direction then the shot does not hit automatically because the target is moving and trying to evade. So attacking abilities have to compete with evading abilities.
  • Stage 3: Finally if the shot hits the target then the blast strength has to compete with the armor.

This way effects can be modeled more independently and structured.

[edit] Details

GoodOdds have to compete against BadOdds: GoodOdds "wins" if GoodOdds * RND > BadOdds * RND

With the odds competition even GoodOdds|BadOdds > 100 keep a meaning. But they can not directly be interpreted as probabilities (but if both are equal the chance is 50%).

Two avoid the double invocation of the RND's in the former inequality there a function OC(GoodOdds,BadOdds), which yields the chance that the GoodOdds win:

OC(GoodOdds,BadOdds) = 1 - 0.5 * BadOdds/GoodOdds if GoodOdds >= BadOdds

OC(GoodOdds,BadOdds) = 0.5 * GoodOdds/BadOdds if GoodOdds < BadOdds
  • OC(p,q) tends to 0 if p tends to 0
  • OC(p,q) tends to 1 ot p becomes greater and greater
  • If p=q it yields 0.5


[edit] New Gatling Phasor Anti-Fighter Feature

NEW: Gatling Phasors now can fire at wings, too.

  • Note: Currently to order them to do this the weapon switch "Sandcasters: Fire on Fighters" has to be activated in the client.

[edit] Summary

  • A critical hit kills one fighter.
  • GP only fires at one type per shot.
  • GP is also effective against high armor fighter types.
  • Fighter evasive mod does not help to evade the shot.
  • Fighter soft spot helps the GP to cause a critical hit.
  • A HG on board the wing helps in evading the shot

As described above here we also have a new 3 stage odds competition system. Please look there for more detailed information.

Other than the Sand Caster, the Gatling Phasor only fires at one fighter type per shot. This type is chosen completely randomly.

[edit] Stage 1

GoodOdds = 100 + GatlingPhasorAccuracy

BadOdds  = 100 - 50 * rngT(Distance, GatlingPhasorRange, 0)

rOdds    = OC(GoodOdds,BadOdds) 

OC is the odds competition function as described in new 3 stage odds competition system.

Apply penalty/bonus due to a avoid base|guard base situation. Look at Sand Casters vs. Wings.

IF RND < rOdds THEN GP did it well!

[edit] Stage 2

GoodOdds = 100 + ShipsAttackMod (all the attack mods effects together)

BadOdds  = 50 (no wing evasive mode here. It is hard to evade a GP shot)

IF wing HG > 0 THEN BadOdds = BadOdds + 20 (HG help evading)

rOdds    = OC(GoodOdds,BadOdds)

IF RND < rOdds THEN Good shot! GP hits the wing!

[edit] Stage 3

GoodOdds = 250 + FighterSoftSpot 

Sand Caster has a blast of 1 and a value of 20 here. The Gatling Phasor has a blast of 25. So 250 shall reflect the blast ratio between them here.

BadOdds  = FighterArmor + 1

rOdds    = OC(GoodOdds,BadOdds)

IF RND < rOdds THEN Critical Hit! Fighters will be killed!

Killed Fighter = 1


[edit] Sandcasters versus wings

[edit] Summary

  • Sand caster spread fire: One SC shot can hit several wings. But it still kills not more than 30 fighters per shot. The spread fire sequence stops after a ship was hit.
  • Ship attack mod helps SC
  • Fighter soft spot helps SC
  • Armor helps fighter
  • Energized Sand Exotic Tech helps SC accuracy
  • Energized Sand Exotic Tech helps against EE and Robot fighter bonuses 80% of the time
  • Micro wings lose at least one fighter after a critical hit
  • If a SC causes a critical hit, most fighter kills occur with big wings (for the SC only the number of killed fighters per critical hit counts)
  • But if one compares two fighter types with different costs per single fighter against the SC then the "cash damage" can be greater with small wings an expensive type.
  • Sand Shields Exotic Tech helps wings
    • The Energized Sand exotic tech gives an 80% chance of countering Sand Shields.

The following three stages are processed for each type in the wing independently:

[edit] Stage 1

Calculate GoodOdds:

GoodOdds = 100 + SandcasterHitOdds (99)

IF Energized Sand is active THEN GoodOdds = GoodOdds + 30

Calculate BadOdds:

BadOdds = 100 - 50 * rngT(Distance, SandcasterRange, 0)
  • rngT(Range, MaxRange, pMin) is a function which is 1 if Range = 0 and which falls down towards pMin if Range reaches MaxRange (pMin should be < 1 ) This means at point blank (Range=0) BadOdds are 50. And the edge (Range = MaxRange) is is 100 - 50 * pMin. For the sandcaster we have at the edge of it's range BadOdds = 100

Calculate rOdds:

rOdds = OC(GoodOdds,BadOdds)

But before this is "diced" out the penalty/bonus due to a avoid base|guard base situation is applied:

IF a base guard shoots at a base avoider THEN rOdds = rOdds * 1.33
IF a base avoider shoots at a base guard THEN rOdds = rOdds * 0.66
  • These penalty/bonus is only applied if the shot starts within base IC range and ends outside base IC range or vice versa. Also the base guard has to be really in base guard mode (if can give up it's position temporally if no one has shot at him or the base for a longer time). This was introduced to counter an avoid base attack to clear orbital defense first.
IF RND < rOdds THEN the SC shot went into the desired direction. 

But this does not mean that it automatically hits the wings. Because of the movement of the wing and the attack mod abilities of the ship the anticipatory abilities of the crew decide if the the shot really hit the wing:

[edit] Stage 2

Calculate GoodOdds:

GoodOdds = 100 + ShipsAttackMod (all the attack mods effects together)

Calculate BadOdds:

BadOdds = 50 (no wing evasive mode here. It is hard to evade a SC grain stream)

Calculate rOdds:

rOdds = OC(GoodOdds,BadOdds)

IF RND < rOdds THEN SC hit the wing!

But even this is not enough. The SC shot has to penetrate the fighters armor:

[edit] Stage 3

Calculate GoodOdds:

GoodOdds = 10 + FighterSoftSpot

Calculate BadOdds:

BadOdds  = FighterArmor

Calculate rOdds:

rOdds    = OC(GoodOdds,BadOdds)

IF RND < rOdds THEN Critial Hit! Fighters will be killed!

The number of killed fighters depends now on several effects:

  • v = 1 + (FighterCount-1) * RND
  • IF Energized Sand is not active OR 20% of the time THEN
    • IF the wing is an EE wing THEN v = v * RND
    • IF Sand Shields is active THEN v = v * RND
    • IF the wing is a Robot wing THEN
      • Type 1: v = v * 0.5
      • Type 2: v = v * 0.3
      • Type 3: 90% of the time v=0, 10% of the time not greater than 5 (v is cut to 5)

If v is greater than 30 then it is cut down to 30. If the SC shot has already killed N fighters of the current processed type due to SC spread fire then the kills are cut down to 30-N.



[edit] Point Defense vs. Wings

The PD fire also follows the new 3 stage odds competition system. Please look in the corresponding section for details or objects which may seem here to be undefined.

  • A ship without crew cannot fire PD at wings.
  • A ship with more than 59.9% control damage cannot fire PD at wings.
  • Intercept PD is useless vs. wings.
  • Holo Decoy PD will not damage wings, but will help to reduce wing firing accuracy.

The following is applied to all three fighter types in a wing until a critical hit (fighters are killed) occurs. The order is type 1 then 2 then 3.

[edit] Stage 1

Calculate GoodOdds:

GoodOdds = 100 + PDAntifighterAccuracy

Exotic Techs:

Calculate BadOdds:

BadOdds = 100 - 50 * rngT(Distance, MaxRange,0)

Calculate rOdds, apply penalty/bonus due to a avoid base|guard base situation:

rOdds = OC(GoodOdds,BadOdds)
IF RND < rOdds THEN PD did it well! Shot went into the intended direction!

[edit] Stage 2

Calculate GoodOdds:

GoodOdds = 100 + ShipAttackMod (all effects together)

Calculate BadOdds:

BadOdds = 50 + fighterEvasiveMod
  • IF HG onboard wing THEN
    • BadOdds = BadOdds + 20
  • IF the wing is a Robot Wing THEN
    • IF the Ship is owned by a 3rd Party race
      • BadOdds = BadOdds + 40
    • IF the Ship is not owned by a 3rd Party race
      • BadOdds = BadOdds + 10
  • Holo Decoys:
    • BadOdds = BadOdds + Wing's race holo decoys / 8

Calculate rOdds:

rOdds = OC(GoodOdds,BadOdds)

IF RND < rOdds THEN Good shot! Shot will hit the wing!

[edit] Stage 3

Calculate GoodOdds:

GoodOdds = (PDBlast + 3) * 10 + fighter Soft Spot

Calculate BadOdds:

BadOdds = fighterArmor

Exotic Techs:

Calculate rOdds:

rOdds = OC(GoodOdds,BadOdds)

IF RND < rOdds THEN Critical hit! Fighters will be destroyed!

FighterCount = FighterCount - 1 (at least one kill if hit)
  • IF PD = Turbo Laser
    • IF FighterCount >= 2 THEN FighterCount = FighterCount - 2 ELSE FighterCount = 0
  • IF ship is Draconian owned Rostov Class AA Gunship THEN
    • IF FighterCount >= 3 THEN FighterCount = FighterCount - 3 ELSE FighterCount = 0
    • IF PD = Turbo Laser THEN
      • IF FighterCount >= 9 THEN FighterCount = FighterCount - 9 ELSE FighterCount = 0


[edit] Wings versus Wings

When a wing is firing then all three types fire independently from each other per tick (order 1-2-3) If a single type in a wing is firing then it fires all it's allowed shots at one target until the target is dead. If allowed shots are left then it can fire at another target.

[edit] Beams

[edit] Summary

  • A critical hit kills can kill more than one fighter.
  • Good beam value give kill bonus
  • Fighter attack mod helps to hit
  • Fighter evasive mod helps to evade the shot
  • Fighter soft spot can cause a critical hit.
  • Armor will significantly help to suffer a critical hit
  • A HG on board the wings helps hitting|evading
  • Robot wings are bad against CoM wings especially against V15 Viper (CoM T3)
  • Non CoM wings are bad against Robot wings especially against the R27 Raider (Robot T3)

As described above here we also have a new 3 stage odds competition system. Please look there for more detailed information.

Other than the Sand Caster, the Gatling Phasor only fires at one fighter type per shot. This type is chosen completely randomly.

When a single beam is fired at awing the following is processed:

[edit] Stage 1

GoodOdds = 100 + fighterOddsBeam

IF firing wing has HG THEN GoodOdds = GoodOdds + 40

BadOdds  = 100 - 50 * rngT(Distance, fighterRangeBeam, 0)

rOdds    = OC(GoodOdds,BadOdds) 

OC is the odds competition function as described in new 3 stage odds competition system.

IF RND < rOdds THEN Beam weapon shot into intented direction!

[edit] Stage 2

A wing is firing only at one type per shot. So now the target type, which shall be under fire is determined:

(This is old code)

With chance of 60% type1 is chosen With a chance of 25% type2 is chosen With a chance of 15% type3 is chosen

If the chosen type has no fighters then the next type (browsing order is cyclic: 1-2-3-1-...), which has fighters is chosen.

GoodOdds = 100 + fighterAttackMod (firing wing)

BadOdds  = 50 + fighterEvasiveMod (receiving wing)

IF firing wing has HG THEN GoodOdds = GoodOdds + 40
IF receiving wing has HG THEN BadOdds = BadOdds + 40 

rOdds    = OC(GoodOdds,BadOdds)

Racial bonuses (from old code):

IF a Robot wing fires at a CoM wing THEN 
* rOdds = rOdds / 3
* IF the receiving type is V15 Viper (CoM type3) THEN rOdds = rOdds / 2 (additionally)

IF a non CoM wing fires at a Robot wing THEN
* rOdds = rOdds / 1.3
* IF the receiving type is R27 Raider (Robot type3) THEN rOdds = rOdds / 2 (additionally)

Apply penalty/bonus due to a avoid base|guard base situation. Look at Sand Casters vs. Wings.

IF RND < rOdds THEN Pilots have chosen a good direction!

[edit] Stage 3

GoodOdds = fighterBeam / 2 (firing wing) + FighterSoftSpot (receiving wing)
GoodOdds = GoddsOdds + FighterAttackMod (firing wing) / 2 (Host 213o)
IF FighterAttackMod > 100 then  GoodOdds = GoddsOdds + FighterAttackMod / 2 (Host 213o)
BadOdds  = 1 + FighterArmor * 8 (Host 213o, was 10)

rOdds    = OC(GoodOdds,BadOdds)

IF FightertSoftSpot > 0 THEN 
 rOdds    = rOdds + 0.33 * (1-rOdds)* OC(3 * FighterSoftSpot+FighterAttackMod, 200) (Host 213o)


IF RND < rOdds THEN Critical Hit! Fighters will be killed!
Killed Fighter = 1 

(Host 213o)
r := fighterBeam/100
SELECT CASE r
 CASE 0-1
  IF RND < r THEN Killed Fighter   = Killed Fighter+1 
 CASE 1-2
  Killed Fighter = Killed Fighter+1 
  IF RND < r-1 THEN Killed Fighter = Killed Fighter+1 
 CASE 2-3
  Killed Fighter = Killed Fighter+2 
  IF RND < r-2 THEN Killed Fighter = Killed Fighter+1 
 CASE ELSE
  Killed Fighter = Killed Fighter+3
END SELECET

[edit] Missiles

[edit] Summary

  • A critical hit kills can kill more than one fighter.
  • Good missile value give kill bonus
  • Fighter attack mod helps to hit
  • Fighter evasive mod helps to evade the shot
  • Fighter soft spot can cause a critical hit.
  • Armor will significantly help to suffer a critical hit
  • A HG on board the wings helps hitting|evading
  • The missile range of the Quasar (Solorian T1) is doubled versus wings
  • Fusions (Solorian T2) are immune against fighter missiles
  • Robot fighter missile have problems to hit the V15 Viper (CoM T3)
  • Non CoM fighter missiles have problems to Robot wings

When a single missile is fired at a wing the following is processed:

[edit] Stage 1

A wing is firing only at one type per shot. So the target type, which shall be under fire is determined:

(This is old code)

With chance of 60% type1 is chosen

With a chance of 25% type2 is chosen

With a chance of 15% type3 is chosen

If the chosen type has no fighters then the next type (browsing order is cyclic: 1-2-3-1-...), which has fighters is chosen.

IF a Robot wing fires at a V15 Viper (CoM T3) THEN
* GoodOdds = GoodOdds + fighterOddsMissle / 6
IF a non CoM wing fires at a Robot wing THEN
* GoodOdds = GoodOdds + fighterOddsMissle / 6
IF neither case is true THEN
* GoodOdds = GoodOdds + fighterOddsMissle
IF firing type is the Quasar (Solorian T1) THEN fighterRangeMissle is doubled
BadOdds  = 100 - 50 * rngT(Distance, fighterRangeMissile, 0)
IF firing wing has HG THEN GoodOdds = GoodOdds + 40
rOdds    = OC(GoodOdds,BadOdds)
IF firing type is the Fusion (Solorian T2) THEN rOdds = 0

Apply penalty/bonus due to a avoid base|guard base situation. Look at Sand Casters vs. Wings.

IF RND < rOdds THEN missile shot into intented direction!

[edit] Stage 2

GoodOdds = 100 + fighterAttackMod (firing wing)

BadOdds  = 50 + fighterEvasiveMod (receiving wing)

IF firing wing has HG THEN GoodOdds = GoodOdds + 40
IF receiving wing has HG THEN BadOdds = BadOdds + 40 

rOdds    = OC(GoodOdds,BadOdds)
IF RND < rOdds THEN Pilots have chosen a good direction!

[edit] Stage 3

GoodOdds = fighterMissile / 2 (firing wing) + FighterSoftSpot (receiving wing)
GoodOdds = GoddsOdds + FighterAttackMod (firing wing) / 2 (Host 213o)
IF FighterAttackMod > 100 then  GoodOdds = GoddsOdds + FighterAttackMod / 2 (Host 213o)
BadOdds  = 1 + FighterArmor * 8 (Host 213o, was 10)

rOdds    = OC(GoodOdds,BadOdds)

IF FightertSoftSpot > 0 THEN 
 rOdds    = rOdds + 0.5 * (1-rOdds)* OC(3 * FighterSoftSpot+FighterAttackMod, 200) (Host 213o)


IF RND < rOdds THEN Critical Hit! Fighters will be killed!
Killed Fighter = 1 

(Host 213o)
r := fighterMissile/100
SELECT CASE r
 CASE 0-1
  IF RND < r THEN Killed Fighter   = Killed Fighter+1 
 CASE 1-2
  Killed Fighter = Killed Fighter+1 
  IF RND < r-1 THEN Killed Fighter = Killed Fighter+1 
 CASE 2-3
  Killed Fighter = Killed Fighter+2 
  IF RND < r-2 THEN Killed Fighter = Killed Fighter+1   
 CASE 3-4
  Killed Fighter = Killed Fighter+3 
  IF RND < r-3 THEN Killed Fighter = Killed Fighter+1 
 CASE 4-5
  Killed Fighter = Killed Fighter+4 
  IF RND < r-4 THEN Killed Fighter = Killed Fighter+1 
 CASE ELSE
  Killed Fighter = Killed Fighter+5
END SELECET

[edit] Ships versus Bases

[edit] Wings versus Bases

[edit] Ships versus Ships

[edit] Wings versus Ship

Fighter Beams firing at a Ship (ship evasive bonus helps it to avoid being hit, fighter attack bonus increases the odds of a hit)

rOdds = fighterOddsBeam
IF Guard > 0 THEN rOdds = rOdds + 40
rOdds = rOdds - Decoy/30

rT = rngT(rRange, rMaxRange, 0.4)
IF ECM AND AczannyHull THEN rOdds = rOdds - 15
rMT = (200 - EvasiveMod + AttackMod) / 100
IF rMT < 0.1 THEN rMT = 0.1
rOdds = rOdds * rT * rMT
IF rOdds < 10 THEN rOdds = 10

IF Experience > 100 THEN r = 1 - Experience/1000
r < 0.3 THEN r = 0.3
rOdds = rOdds * r

'// Penalty/bonus due to a avoid base|guard base situation
'// base guard fires from inside at outer base avoider
IF fgAvG = 1 THEN rOdds = rOdds * 1.33

'// Outer base avoider fires at inner base guard
IF fgAvG = -1 THEN rOdds = rOdds * 0.66
IF (RND * 100) < rOdds THEN Hit!

Fighter Missiles firing at a Ship (ship evasive bonus helps it to avoid being hit, fighter attack bonus increases the odds of a hit)

rOdds = fighterOddsMissile
IF Guard > 0 THEN rOdds = rOdds + 60
rOdds = rOdds - Decoy/30

rT = rngT(rRange, rMaxRange, 0.4)
IF ECM AND AczannyHull THEN rOdds = rOdds - 15
rMT = (150 - EvasiveMod + AttackMod) / 100
IF rMT < 0.1 THEN rMT = 0.1
rOdds = rOdds * rT * rMT
IF rOdds < 10 THEN rOdds = 10 (...the rest is the same as for fighter missiles)

[edit] Base (Ion Cannons) versus Ships

Personal tools