Fixing loot tables

- Use quad_low and quad_medium loot table for corresponding mobs in
dungeons
- Remove cultist loot table from T3-T4 loot tables
- Use resize instead of vec[obj; len] to create different loot and not
duplicated for miniboss_1
This commit is contained in:
juliancoffee 2021-05-21 11:20:37 +03:00
parent e48e3e11ba
commit df58fa9acf
3 changed files with 13 additions and 13 deletions

View File

@ -2,5 +2,4 @@
(1.0, LootTable("common.loot_tables.humanoids")),
(1.0, LootTable("common.loot_tables.armor.steel")),
(1.0, LootTable("common.loot_tables.weapons.tier-3")),
(3.0, LootTable("common.loot_tables.cultists")),
]
]

View File

@ -1,5 +1,5 @@
[
(1.0, LootTable("common.loot_tables.humanoids")),
(1.0, LootTable("common.loot_tables.armor.steel")),
(1.0, LootTable("common.loot_tables.weapons.tier-4")),
(5.0, LootTable("common.loot_tables.cultists")),
]
]

View File

@ -1220,7 +1220,7 @@ fn boss_fallback(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3<i32>) -> Vec<Ent
}
fn mini_boss_0(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3<i32>) -> Vec<EntityInfo> {
let chosen = Lottery::<LootSpec>::load_expect("common.loot_tables.weapons.tier-0");
let chosen = Lottery::<LootSpec>::load_expect("common.loot_tables.creature.quad_medium.default");
vec![
EntityInfo::at(tile_wcenter.map(|e| e as f32))
.with_body(comp::Body::QuadrupedMedium(
@ -1235,8 +1235,9 @@ fn mini_boss_0(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3<i32>) -> Vec<Entit
}
fn mini_boss_1(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3<i32>) -> Vec<EntityInfo> {
let chosen = Lottery::<LootSpec>::load_expect("common.loot_tables.weapons.tier-1");
vec![
let chosen = Lottery::<LootSpec>::load_expect("common.loot_tables.creature.quad_medium.default");
let mut entities = Vec::new();
entities.resize_with(3, || {
EntityInfo::at(tile_wcenter.map(|e| e as f32))
.with_body(comp::Body::QuadrupedMedium(
comp::quadruped_medium::Body::random_with(
@ -1245,13 +1246,13 @@ fn mini_boss_1(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3<i32>) -> Vec<Entit
),
))
.with_name("Bonerattler".to_string())
.with_loot_drop(chosen.read().choose().to_item());
3
]
.with_loot_drop(chosen.read().choose().to_item())
});
entities
}
fn mini_boss_2(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3<i32>) -> Vec<EntityInfo> {
let chosen = Lottery::<LootSpec>::load_expect("common.loot_tables.weapons.tier-2");
let chosen = Lottery::<LootSpec>::load_expect("common.loot_tables.creature.quad_low.default");
let mut entities = Vec::new();
entities.resize_with(6, || {
EntityInfo::at(tile_wcenter.map(|e| e as f32))
@ -1268,9 +1269,9 @@ fn mini_boss_2(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3<i32>) -> Vec<Entit
}
fn mini_boss_3(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3<i32>) -> Vec<EntityInfo> {
let chosen = Lottery::<LootSpec>::load_expect("common.loot_tables.weapons.tier-3");
let chosen = Lottery::<LootSpec>::load_expect("common.loot_tables.creature.quad_low.default");
let mut entities = Vec::new();
entities.resize_with(6, || {
entities.resize_with(8, || {
EntityInfo::at(tile_wcenter.map(|e| e as f32))
.with_body(comp::Body::QuadrupedLow(
comp::quadruped_low::Body::random_with(