mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
normalize loot tables before combining them, take current values for a start
This commit is contained in:
parent
8228437b22
commit
a98b9ad049
@ -2,32 +2,32 @@
|
|||||||
loot_tables: [
|
loot_tables: [
|
||||||
// balance the loot tables against each other (higher= more common= smaller price)
|
// balance the loot tables against each other (higher= more common= smaller price)
|
||||||
// Weapons
|
// Weapons
|
||||||
(32.0, true, "common.loot_tables.weapons.starter"),
|
(192.0, true, "common.loot_tables.weapons.starter"),
|
||||||
(0.025, false, "common.loot_tables.weapons.cultist"),
|
(0.075, false, "common.loot_tables.weapons.cultist"),
|
||||||
(0.025, false, "common.loot_tables.weapons.cave"),
|
(0.075, false, "common.loot_tables.weapons.cave"),
|
||||||
(0.02, false, "common.loot_tables.weapons.legendary"),
|
(0.04, false, "common.loot_tables.weapons.legendary"),
|
||||||
|
|
||||||
// Weapons sets
|
// Weapons sets
|
||||||
(16.0, true, "common.loot_tables.weapons.tier-0"),
|
(80.0, true, "common.loot_tables.weapons.tier-0"),
|
||||||
(8.0, true, "common.loot_tables.weapons.tier-1"),
|
(48.0, true, "common.loot_tables.weapons.tier-1"),
|
||||||
(1.0, true, "common.loot_tables.weapons.tier-2"),
|
(6.0, true, "common.loot_tables.weapons.tier-2"),
|
||||||
(0.125, true, "common.loot_tables.weapons.tier-3"),
|
(0.75, true, "common.loot_tables.weapons.tier-3"),
|
||||||
(0.0625, false, "common.loot_tables.weapons.tier-4"),
|
(0.375, false, "common.loot_tables.weapons.tier-4"),
|
||||||
(0.03, false, "common.loot_tables.weapons.tier-5"),
|
(0.18, false, "common.loot_tables.weapons.tier-5"),
|
||||||
|
|
||||||
// Non-craftable Armor
|
// Non-craftable Armor
|
||||||
(20.0, true, "common.loot_tables.armor.cloth"),
|
(640, true, "common.loot_tables.armor.cloth"),
|
||||||
(1.0, true, "common.loot_tables.armor.twigs"),
|
(6.0, true, "common.loot_tables.armor.twigs"),
|
||||||
(1.0, true, "common.loot_tables.armor.twigsflowers"),
|
(6.0, true, "common.loot_tables.armor.twigsflowers"),
|
||||||
(1.0, true, "common.loot_tables.armor.twigsleaves"),
|
(6.0, true, "common.loot_tables.armor.twigsleaves"),
|
||||||
(0.01, false, "common.trading.jewellery"),
|
(0.02, false, "common.trading.jewellery"),
|
||||||
|
|
||||||
// Ingredients
|
// Ingredients
|
||||||
(1.0, true, "common.trading.sellable_materials"),
|
(72.5, true, "common.trading.sellable_materials"),
|
||||||
(1.0, false, "common.trading.unsellable_materials"),
|
(1.7205, false, "common.trading.unsellable_materials"),
|
||||||
|
|
||||||
// Food Ingredients
|
// Food Ingredients
|
||||||
(1.0, true, "common.trading.food"),
|
(20.375, true, "common.trading.food"),
|
||||||
|
|
||||||
// Potions
|
// Potions
|
||||||
//
|
//
|
||||||
@ -39,9 +39,9 @@ loot_tables: [
|
|||||||
// and economy.
|
// and economy.
|
||||||
//
|
//
|
||||||
// Collections
|
// Collections
|
||||||
(0.00001, false, "common.trading.collection"),
|
(0.00026, false, "common.trading.collection"),
|
||||||
// Manual balance
|
// Manual balance
|
||||||
(1.0, false, "common.trading.balance"),
|
(81.0, false, "common.trading.balance"),
|
||||||
],
|
],
|
||||||
|
|
||||||
// this is the amount of that good the most common item represents
|
// this is the amount of that good the most common item represents
|
||||||
|
@ -13,7 +13,7 @@ use lazy_static::lazy_static;
|
|||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
use tracing::{info, warn};
|
use tracing::{info, warn};
|
||||||
|
|
||||||
const PRICING_DEBUG: bool = true;
|
const PRICING_DEBUG: bool = false;
|
||||||
|
|
||||||
#[derive(Default, Debug)]
|
#[derive(Default, Debug)]
|
||||||
pub struct TradePricing {
|
pub struct TradePricing {
|
||||||
@ -358,11 +358,12 @@ impl TradePricing {
|
|||||||
}
|
}
|
||||||
let (frequency, can_sell, asset_path) = table;
|
let (frequency, can_sell, asset_path) = table;
|
||||||
let loot = ProbabilityFile::load_expect(asset_path);
|
let loot = ProbabilityFile::load_expect(asset_path);
|
||||||
|
let new_scale = frequency / loot.read().content.iter().fold(0.0, |s, i| s+i.0);
|
||||||
for (p, item_asset) in &loot.read().content {
|
for (p, item_asset) in &loot.read().content {
|
||||||
result.get_list_by_path_mut(item_asset).add(
|
result.get_list_by_path_mut(item_asset).add(
|
||||||
&eqset,
|
&eqset,
|
||||||
item_asset,
|
item_asset,
|
||||||
frequency * p,
|
new_scale * p,
|
||||||
*can_sell,
|
*can_sell,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user