forked from townforge/townforge
cc: tweak gemstone find chance
This commit is contained in:
parent
dc6de325cc
commit
13a0ef7fe8
@ -557,7 +557,7 @@ static void add_cities(const BlockchainDB &db, cc_command_game_update_t &cg, gam
|
||||
// gemstones
|
||||
if (flag.role == ROLE_STONECUTTER)
|
||||
{
|
||||
const uint64_t gemstone_power = sqrtint(flag_area) * flag.economic_power * flag.economic_power * (8 + flag.age / (86400 * 7 / DIFFICULTY_TARGET_V2));
|
||||
const uint64_t gemstone_power = sqrtint(flag_area) * flag.economic_power * sqrt(flag.economic_power) * (8 + flag.age / (86400 * 7 / DIFFICULTY_TARGET_V2));
|
||||
uint8_t data[sizeof(crypto::hash) + sizeof(uint32_t) + 1], *ptr = data;
|
||||
crypto::hash hash = db.top_block_hash();
|
||||
memcpy(ptr, &hash, sizeof(crypto::hash));
|
||||
@ -570,11 +570,11 @@ static void add_cities(const BlockchainDB &db, cc_command_game_update_t &cg, gam
|
||||
uint64_t r = SWAP64LE(*(uint64_t*)&hash);
|
||||
r /= gemstone_power;
|
||||
int item = ITEM_NONE;
|
||||
if (r < 100000000) item = ITEM_DIAMOND;
|
||||
else if (r < 250000000) item = ITEM_RUBY;
|
||||
else if (r < 500000000) item = ITEM_EMERALD;
|
||||
else if (r < 1500000000) item = ITEM_SAPPHIRE;
|
||||
else if (r < 5000000000) item = ITEM_AMETHYST;
|
||||
if (r < 2000000000) item = ITEM_DIAMOND;
|
||||
else if (r < 5000000000) item = ITEM_RUBY;
|
||||
else if (r < 10000000000) item = ITEM_EMERALD;
|
||||
else if (r < 30000000000) item = ITEM_SAPPHIRE;
|
||||
else if (r < 100000000000) item = ITEM_AMETHYST;
|
||||
if (item != ITEM_NONE)
|
||||
{
|
||||
events.add(flag.owner, flag.id) << "Found a " << cc::get_item_name(db, item);
|
||||
|
Loading…
Reference in New Issue
Block a user