Agression Update Loop

Description

This file (basically a 60-second loop) is now responsible for updating all the balance variables, incrementing the four resource pools and launching attacks. Descriptions of balance variables:

  • A3A_activePlayerCount is a count of all active players. Activity is determined by a simple client-side getDir check.

  • A3A_balancePlayerScale is the general amount-of-stuff coefficient, normalized to 1 with 6 players at tier 6.

  • A3A_balanceVehicleCost is a rough average resource cost of a single attack vehicle + cargo (if any) at the current war tier.

  • A3A_balanceResourceRate is the resources of each type typically gained by a faction every 10 minutes, currently just balancePlayerScale * balanceVehicleCost. The defence cap is currently at 10 * A3A_balanceResourceRate.

  • A3A_enemyBalanceMul is a parameter (default 10, because params don’t do FP) that multiplies A3A_balancePlayerScale to make the game generally harder or easier.

  • A3A_enemyAttackMul is a parameter that multiplies attack resource rate to make attacks faster or slower.

  • A3A_invaderBalanceMul is a parameter that multiplies invader resource gain rates.

ResourceCheck (the 10-minute loop) still has most of its former responsibilities, although it now runs with any active players (not necessarily a commander), and no longer generates supply convoys against flipped towns (now the responsibility of chooseAttack).