Ajust new npcs from feedback

This commit is contained in:
Snowram 2021-06-24 23:04:17 +02:00
parent d7f25627ab
commit ef6d6563ea
15 changed files with 97 additions and 47 deletions

View File

@ -2,7 +2,7 @@ EntityConfig (
name: Some("Husk Brute"),
body: Some(RandomWith("husk_brute")),
loot: Some(LootTable("common.loot_tables.dungeon.tier-5.minion")),
loot: Some(LootTable("common.loot_tables.dungeon.tier-5.miniboss")),
main_tool: None,
second_tool: None,

View File

@ -11,5 +11,5 @@ EntityConfig (
second_tool: None,
loadout_asset: None,
skillset_asset: Some("common.skillset.dungeon.tier-5.enemy"),
skillset_asset: Some("common.skillset.dungeon.tier-5.warlord"),
)

View File

@ -0,0 +1,4 @@
[
(1.0, Item("common.items.crafting_ing.hide.tough_hide")),
(3.0, Item("common.items.crafting_ing.hide.scales")),
]

View File

@ -2,5 +2,5 @@
(1.5, Item("common.items.food.meat.beast_small_raw")),
(0.5, Item("common.items.food.meat.beast_large_raw")),
(2.0, Item("common.items.crafting_ing.animal_misc.large_horn")),
(3.0, Item("common.items.crafting_ing.hide.carapace")),
(3.0, Item("common.items.crafting_ing.hide.rugged_hide")),
]

View File

@ -1,4 +1,4 @@
[
(1.0, ItemQuantity("common.items.crafting_ing.hide.tough_hide", 2, 3)),
(1.0, ItemQuantity("common.items.crafting_ing.hide.rugged_hide", 1, 2)),
(1.0, ItemQuantity("common.items.crafting_ing.animal_misc.large_horn", 2, 3)),
]

View File

@ -1,3 +1,3 @@
[
(1.0, Item("common.items.crafting_ing.hide.plate")),
(1.0, Item("common.items.crafting_ing.hide.rugged_hide")),
]

View File

@ -1,5 +1,5 @@
[
(0.5, Item("common.items.food.meat.beast_large_raw")),
(1.0, Item("common.items.crafting_ing.hide.tough_hide")),
(1.0, Item("common.items.crafting_ing.hide.scales")),
(1.0, Item("common.items.crafting_ing.animal_misc.raptor_feather")),
]

View File

@ -275,7 +275,7 @@
output: ("common.items.mineral.ingot.bloodsteel", 2),
inputs: [
(Item("common.items.mineral.ore.bloodstone"), 1),
(Item("common.items.mineral.ore.iron"), 1),
(Item("common.items.mineral.ingot.iron"), 1),
(Item("common.items.mineral.ore.coal"), 1),
],
craft_sprite: Some(Forge),
@ -283,7 +283,7 @@
"steel ingot": (
output: ("common.items.mineral.ingot.steel", 1),
inputs: [
(Item("common.items.mineral.ore.iron"), 1),
(Item("common.items.mineral.ingot.iron"), 1),
(Item("common.items.mineral.ore.coal"), 1),
],
craft_sprite: Some(Forge),
@ -917,8 +917,8 @@
"woolen belt": (
output: ("common.items.armor.cloth.woolen.belt", 1),
inputs: [
(Item("common.items.crafting_ing.cloth.wool"), 2),
(Item("common.items.crafting_ing.cloth.cotton"), 2),
(Item("common.items.crafting_ing.cloth.wool"), 1),
(Item("common.items.crafting_ing.cloth.cotton"), 1),
(Item("common.items.crafting_ing.animal_misc.fur"), 1),
(Item("common.items.crafting_tools.sewing_set"), 0),
],
@ -927,7 +927,7 @@
"woolen chest": (
output: ("common.items.armor.cloth.woolen.chest", 1),
inputs: [
(Item("common.items.crafting_ing.cloth.wool"), 10),
(Item("common.items.crafting_ing.cloth.wool"), 8),
(Item("common.items.crafting_ing.cloth.cotton"), 2),
(Item("common.items.crafting_ing.animal_misc.fur"), 2),
(Item("common.items.crafting_tools.sewing_set"), 0),
@ -937,7 +937,7 @@
"woolen feet": (
output: ("common.items.armor.cloth.woolen.foot", 1),
inputs: [
(Item("common.items.crafting_ing.cloth.wool"), 3),
(Item("common.items.crafting_ing.cloth.wool"), 2),
(Item("common.items.crafting_ing.cloth.cotton"), 1),
(Item("common.items.crafting_ing.animal_misc.fur"), 1),
(Item("common.items.crafting_tools.sewing_set"), 0),
@ -947,7 +947,7 @@
"woolen hands": (
output: ("common.items.armor.cloth.woolen.hand", 1),
inputs: [
(Item("common.items.crafting_ing.cloth.wool"), 3),
(Item("common.items.crafting_ing.cloth.wool"), 2),
(Item("common.items.crafting_ing.cloth.cotton"), 1),
(Item("common.items.crafting_ing.animal_misc.fur"), 1),
(Item("common.items.crafting_tools.sewing_set"), 0),
@ -957,7 +957,7 @@
"woolen pants": (
output: ("common.items.armor.cloth.woolen.pants", 1),
inputs: [
(Item("common.items.crafting_ing.cloth.wool"), 8),
(Item("common.items.crafting_ing.cloth.wool"), 6),
(Item("common.items.crafting_ing.cloth.cotton"), 2),
(Item("common.items.crafting_ing.animal_misc.fur"), 2),
(Item("common.items.crafting_tools.sewing_set"), 0),
@ -967,7 +967,7 @@
"woolen shoulder": (
output: ("common.items.armor.cloth.woolen.shoulder", 1),
inputs: [
(Item("common.items.crafting_ing.cloth.wool"), 8),
(Item("common.items.crafting_ing.cloth.wool"), 6),
(Item("common.items.crafting_ing.cloth.cotton"), 2),
(Item("common.items.crafting_ing.animal_misc.fur"), 2),
(Item("common.items.crafting_tools.sewing_set"), 0),

View File

@ -0,0 +1,13 @@
([
Group(Weapon(Sword)),
// TripleStrike
Skill((Sword(TsCombo), None)),
Skill((Sword(TsDamage), Some(1))),
Skill((Sword(TsRegen), Some(1))),
// Dash
Skill((Sword(DDamage), Some(1))),
Skill((Sword(DCost), Some(1))),
Skill((Sword(DDrain), Some(1))),
])

View File

@ -0,0 +1,5 @@
([
// Just gather everything
Tree("common.skillset.dungeon.tier-5.sword_simple"),
Tree("common.skillset.dungeon.tier-5.hammer"),
])

View File

@ -468,9 +468,9 @@ impl Body {
quadruped_medium::Species::Panda => 900,
quadruped_medium::Species::Bear => 900,
quadruped_medium::Species::Moose => 800,
quadruped_medium::Species::Dreadhorn => 1100,
quadruped_medium::Species::Mammoth => 1900,
quadruped_medium::Species::Ngoubou => 1500,
quadruped_medium::Species::Dreadhorn => 1300,
quadruped_medium::Species::Mammoth => 2500,
quadruped_medium::Species::Ngoubou => 1800,
_ => 700,
},
Body::BirdMedium(bird_medium) => match bird_medium.species {
@ -504,6 +504,7 @@ impl Body {
biped_large::Species::Harvester => 5000,
biped_large::Species::Blueoni => 2400,
biped_large::Species::Redoni => 2400,
biped_large::Species::Huskbrute => 8000,
_ => 1200,
},
Body::BipedSmall(biped_small) => match biped_small.species {
@ -541,7 +542,7 @@ impl Body {
quadruped_low::Species::Rocksnapper => 1400,
quadruped_low::Species::Pangolin => 400,
quadruped_low::Species::Maneater => 1300,
quadruped_low::Species::Sandshark => 900,
quadruped_low::Species::Sandshark => 1100,
quadruped_low::Species::Hakulaq => 500,
quadruped_low::Species::Lavadrake => 1600,
quadruped_low::Species::Basilisk => 2000,
@ -595,7 +596,7 @@ impl Body {
quadruped_medium::Species::Moose => 30,
quadruped_medium::Species::Dreadhorn => 50,
quadruped_medium::Species::Mammoth => 80,
quadruped_medium::Species::Ngoubou => 50,
quadruped_medium::Species::Ngoubou => 60,
_ => 20,
},
Body::BirdMedium(bird_medium) => match bird_medium.species {
@ -622,6 +623,7 @@ impl Body {
biped_large::Species::Mountaintroll => 60,
biped_large::Species::Swamptroll => 60,
biped_large::Species::Dullahan => 120,
biped_large::Species::Huskbrute => 100,
// Boss enemies have their health set, not adjusted by level.
biped_large::Species::Mindflayer => 0,
biped_large::Species::Minotaur => 0,
@ -644,7 +646,7 @@ impl Body {
quadruped_low::Species::Rocksnapper => 50,
quadruped_low::Species::Pangolin => 10,
quadruped_low::Species::Maneater => 30,
quadruped_low::Species::Sandshark => 40,
quadruped_low::Species::Sandshark => 45,
quadruped_low::Species::Hakulaq => 10,
quadruped_low::Species::Deadwood => 30,
_ => 20,
@ -670,6 +672,11 @@ impl Body {
Body::Golem(g) => matches!(g.species, golem::Species::ClayGolem),
Body::BipedSmall(b) => matches!(b.species, biped_small::Species::Haniwa),
Body::Object(object::Body::HaniwaSentry) => true,
Body::QuadrupedLow(q) => matches!(q.species, quadruped_low::Species::Lavadrake),
Body::BirdLarge(b) => matches!(
b.species,
bird_large::Species::Phoenix | bird_large::Species::Cockatrice
),
_ => false,
},
BuffKind::Ensnared => {

View File

@ -368,7 +368,7 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
quadruped_small::Species::Truffler | quadruped_small::Species::Fungome => {
"common.loot_tables.creature.quad_small.mushroom"
},
quadruped_small::Species::Sheep => {
quadruped_small::Species::Sheep | quadruped_small::Species::Goat => {
"common.loot_tables.creature.quad_small.wool"
},
quadruped_small::Species::Skunk
@ -495,6 +495,9 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
quadruped_low::Species::Basilisk => {
"common.loot_tables.creature.quad_low.basilisk"
},
quadruped_low::Species::Salamander => {
"common.loot_tables.creature.quad_low.salamander"
},
_ => "common.loot_tables.creature.quad_low.generic",
}
},

View File

@ -1,33 +1,31 @@
-- xx
-- Replace all warlord and warlock sets into cultist set
UPDATE item
SET item_definition_id = 'common.items.armor.warlock.shoulder' WHERE item_definition_id = 'common.items.armor.cultist.shoulder';
SET item_definition_id = 'common.items.armor.cultist.shoulder' WHERE item_definition_id = 'common.items.armor.warlock.shoulder';
UPDATE item
SET item_definition_id = 'common.items.armor.warlock.chest' WHERE item_definition_id = 'common.items.armor.cultist.chest';
SET item_definition_id = 'common.items.armor.cultist.chest' WHERE item_definition_id = 'common.items.armor.warlock.chest';
UPDATE item
SET item_definition_id = 'common.items.armor.warlock.belt' WHERE item_definition_id = 'common.items.armor.cultist.belt';
SET item_definition_id = 'common.items.armor.cultist.belt' WHERE item_definition_id = 'common.items.armor.warlock.belt';
UPDATE item
SET item_definition_id = 'common.items.armor.warlock.hand' WHERE item_definition_id = 'common.items.armor.cultist.hand';
SET item_definition_id = 'common.items.armor.cultist.hand' WHERE item_definition_id = 'common.items.armor.warlock.hand';
UPDATE item
SET item_definition_id = 'common.items.armor.warlock.pants' WHERE item_definition_id = 'common.items.armor.cultist.pants';
SET item_definition_id = 'common.items.armor.cultist.pants' WHERE item_definition_id = 'common.items.armor.warlock.pants';
UPDATE item
SET item_definition_id = 'common.items.armor.warlock.foot' WHERE item_definition_id = 'common.items.armor.cultist.foot';
SET item_definition_id = 'common.items.armor.cultist.foot' WHERE item_definition_id = 'common.items.armor.warlock.foot';
UPDATE item
SET item_definition_id = 'common.items.armor.warlock.back' WHERE item_definition_id = 'common.items.armor.misc.back.dungeon_purple';
SET item_definition_id = 'common.items.armor.misc.back.dungeon_purple' WHERE item_definition_id = 'common.items.armor.warlock.back';
DELETE FROM item WHERE item_definition_id = 'common.items.armor.warlock.head';
UPDATE item
SET item_definition_id = 'common.items.armor.warlock.head' WHERE item_definition_id = 'common.items.armor.cultist.head';
SET item_definition_id = 'common.items.armor.cultist.shoulder' WHERE item_definition_id = 'common.items.armor.warlord.shoulder';
UPDATE item
SET item_definition_id = 'common.items.armor.warlord.shoulder' WHERE item_definition_id = 'common.items.armor.cultist.shoulder';
SET item_definition_id = 'common.items.armor.cultist.chest' WHERE item_definition_id = 'common.items.armor.warlord.chest';
UPDATE item
SET item_definition_id = 'common.items.armor.warlord.chest' WHERE item_definition_id = 'common.items.armor.cultist.chest';
SET item_definition_id = 'common.items.armor.cultist.belt' WHERE item_definition_id = 'common.items.armor.warlord.belt';
UPDATE item
SET item_definition_id = 'common.items.armor.warlord.belt' WHERE item_definition_id = 'common.items.armor.cultist.belt';
SET item_definition_id = 'common.items.armor.cultist.hand' WHERE item_definition_id = 'common.items.armor.warlord.hand';
UPDATE item
SET item_definition_id = 'common.items.armor.warlord.hand' WHERE item_definition_id = 'common.items.armor.cultist.hand';
SET item_definition_id = 'common.items.armor.cultist.pants' WHERE item_definition_id = 'common.items.armor.warlord.pants';
UPDATE item
SET item_definition_id = 'common.items.armor.warlord.pants' WHERE item_definition_id = 'common.items.armor.cultist.pants';
SET item_definition_id = 'common.items.armor.cultist.foot' WHERE item_definition_id = 'common.items.armor.warlord.foot';
UPDATE item
SET item_definition_id = 'common.items.armor.warlord.foot' WHERE item_definition_id = 'common.items.armor.cultist.foot';
UPDATE item
SET item_definition_id = 'common.items.armor.warlord.back' WHERE item_definition_id = 'common.items.armor.misc.back.dungeon_purple';
UPDATE item
SET item_definition_id = 'common.items.armor.warlord.head' WHERE item_definition_id = 'common.items.armor.cultist.head';
SET item_definition_id = 'common.items.armor.misc.back.dungeon_purple' WHERE item_definition_id = 'common.items.armor.warlord.back';
DELETE FROM item WHERE item_definition_id = 'common.items.armor.warlord.head';

View File

@ -277,7 +277,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Blueoni, _) => (-1.0, 26.5),
(Redoni, _) => (-1.0, 26.5),
(Cultistwarlord, _) => (-1.0, 18.5),
(Cultistwarlock, _) => (-1.0, 18.5),
(Cultistwarlock, _) => (-1.0, 17.5),
(Huskbrute, _) => (-1.0, 23.5),
},
lower_torso: match (body.species, body.body_type) {
@ -301,7 +301,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
(Blueoni, _) => (0.0, -8.5),
(Redoni, _) => (0.0, -8.5),
(Cultistwarlord, _) => (0.0, -1.5),
(Cultistwarlock, _) => (1.0, -3.5),
(Cultistwarlock, _) => (1.0, -2.5),
(Huskbrute, _) => (-0.5, -7.0),
},
tail: match (body.species, body.body_type) {

View File

@ -119,9 +119,14 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
Entry {
make_entity: |pos, rng| {
EntityInfo::at(pos)
.with_body(match rng.gen_range(0..2) {
.with_body(match rng.gen_range(0..3) {
0 => biped_large::Body::random_with(rng, &biped_large::Species::Wendigo)
.into(),
1 => quadruped_medium::Body::random_with(
rng,
&quadruped_medium::Species::Mammoth,
)
.into(),
_ => biped_large::Body::random_with(
rng,
&biped_large::Species::Mountaintroll,
@ -133,7 +138,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
group_size: 1..2,
is_underwater: false,
day_period: vec![Night, Morning, Noon, Evening],
get_density: |c, _col| close(c.temp, CONFIG.snow_temp, 0.15) * BASE_DENSITY * 0.1,
get_density: |c, _col| close(c.temp, CONFIG.snow_temp, 0.15) * BASE_DENSITY * 0.15,
},
// Tundra rock solitary ennemies
Entry {
@ -312,7 +317,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
Entry {
make_entity: |pos, rng| {
EntityInfo::at(pos)
.with_body(match rng.gen_range(0..12) {
.with_body(match rng.gen_range(0..14) {
0 => quadruped_medium::Body::random_with(
rng,
&quadruped_medium::Species::Deer,
@ -364,6 +369,16 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
quadruped_small::Body::random_with(rng, &quadruped_small::Species::Goat)
.into()
},
11 => quadruped_medium::Body::random_with(
rng,
&quadruped_medium::Species::Llama,
)
.into(),
12 => quadruped_medium::Body::random_with(
rng,
&quadruped_medium::Species::Alpaca,
)
.into(),
_ => bird_medium::Body::random_with(rng, &bird_medium::Species::Chicken)
.into(),
})
@ -832,7 +847,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
Entry {
make_entity: |pos, rng| {
EntityInfo::at(pos)
.with_body(match rng.gen_range(0..3) {
.with_body(match rng.gen_range(0..4) {
0 => quadruped_medium::Body::random_with(
rng,
&quadruped_medium::Species::Bonerattler,
@ -841,6 +856,11 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
1 => {
theropod::Body::random_with(rng, &theropod::Species::Sandraptor).into()
},
2 => quadruped_medium::Body::random_with(
rng,
&quadruped_medium::Species::Ngoubou,
)
.into(),
_ => quadruped_low::Body::random_with(
rng,
&quadruped_low::Species::Sandshark,