forked from townforge/townforge
cc: pass role, not stability, to influence calc
This commit is contained in:
parent
1795477cdd
commit
bfa21bfd15
@ -133,7 +133,7 @@ cc_command_game_update_t create_cc_game_update_command(BlockchainDB &db, bool co
|
||||
if (!flag.active)
|
||||
continue;
|
||||
|
||||
const uint32_t influence_radius = cc::get_cc_influence(flag.x0, flag.y0, flag.x1, flag.y1, flag.stability);
|
||||
const uint32_t influence_radius = cc::get_cc_influence(flag.x0, flag.y0, flag.x1, flag.y1, flag.role);
|
||||
const uint32_t ix0 = std::max(flag.x0, influence_radius) - influence_radius;
|
||||
const uint32_t iy0 = std::max(flag.y0, influence_radius) - influence_radius;
|
||||
const uint32_t ix1 = std::min(flag.x1, std::numeric_limits<uint32_t>::max() - influence_radius) + influence_radius;
|
||||
|
@ -32,11 +32,13 @@
|
||||
namespace cc
|
||||
{
|
||||
|
||||
uint32_t get_cc_influence(uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, uint8_t potential)
|
||||
uint32_t get_cc_influence(uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, uint8_t role)
|
||||
{
|
||||
const uint32_t w = x1 - x0 + 1;
|
||||
const uint32_t h = y1 - y0 + 1;
|
||||
const uint32_t tiles = w * h;
|
||||
#warning TODO
|
||||
const uint32_t potential = 100;
|
||||
const uint32_t potential_multiplier = 100 * (150 + potential) / 405;
|
||||
return ((sqrtint(4 * (w + h) * (w + h) + 16 * tiles) * potential_multiplier) - 2 * (w + h)) / 800;
|
||||
}
|
||||
|
@ -32,5 +32,5 @@
|
||||
|
||||
namespace cc
|
||||
{
|
||||
uint32_t get_cc_influence(uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, uint8_t potential);
|
||||
uint32_t get_cc_influence(uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, uint8_t role);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user