Dungeon rework initial patch

This commit is contained in:
Monty Marz 2023-07-09 20:03:09 +00:00
parent fd5fdd1840
commit 102945b9e7
312 changed files with 4491 additions and 533 deletions

View File

@ -72,6 +72,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Durability free areas (`/area_add <area_name> no_durability ...`)
- Added Brazilian Portuguese translation.
- Added additional confirmation when trading for nothing.
- Dwarven-Mine themed dungeon
- Multiple item types can be dropped from enemies and chests now
- Readable signs
### Changed
@ -91,6 +94,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Collision damage can now be applied in horizontal axes, in addition to the vertical axis
- Items will vanish after 5 minutes to minimise performance problems
- The language identifiers used by the i18n translation system have been converted to IETF BCP 47 (RFC 5646) language tags.
- Improved particle performance for lava and leaves
- The wander-radius of entities can be defined in their .ron config now
### Removed

View File

@ -139,7 +139,7 @@ hashbrown = { version = "0.13", features = ["rayon", "serde", "nightly"] }
fxhash = { version = "0.2.1" }
crossbeam-utils = { version = "0.8.1"}
crossbeam-channel = { version = "0.5"}
ordered-float = { version = "3", default-features = false, features = ["std"] }
ordered-float = { version = "3", default-features = true }
num = { version = "0.4" }
num-traits = { version = "0.2" }
vek = { version = "0.15.8", features = ["serde"] }

View File

@ -521,10 +521,17 @@
secondary: Simple(None, "common.abilities.custom.turret.arrows"),
abilities: [],
),
Custom("Flamethrower"): (
primary: Simple(None, "common.abilities.custom.turret.flamethrower_strong"),
secondary: Simple(None, "common.abilities.custom.turret.flamethrower_strong"),
abilities: [],
),
Custom("Organ"): (
primary: Simple(None, "common.abilities.custom.organ.organaura"),
secondary: Simple(None, "common.abilities.custom.organ.organaura"),
abilities: [],
abilities: [
Simple(None, "common.abilities.custom.arthropods.weevil.threadshot"),
],
),
Custom("Haniwa Sentry"): (
primary: Simple(None, "common.abilities.custom.turret.flamethrower"),
@ -540,6 +547,31 @@
Simple(None, "common.abilities.custom.mindflayer.summonminions"),
],
),
Custom("Flamekeeper"): (
primary: Simple(None, "common.abilities.custom.dwarves.flamekeeper.lava_mortar"),
secondary: Simple(None, "common.abilities.custom.dwarves.flamekeeper.flamecrush"),
abilities: [
Simple(None, "common.abilities.custom.dwarves.flamekeeper.summon_flamethrower"),
Simple(None, "common.abilities.custom.dwarves.flamekeeper.summon_clockwork"),
Simple(None, "common.abilities.custom.dwarves.flamekeeper.flamethrower"),
Simple(None, "common.abilities.custom.dwarves.flamekeeper.lavawave"),
Simple(None, "common.abilities.custom.dwarves.flamekeeper.mines"),
],
),
Custom("Clockwork"): (
primary: Simple(None, "common.abilities.custom.dwarves.clockwork.singlestrike"),
secondary: Simple(None, "common.abilities.custom.dwarves.clockwork.triplestrike"),
abilities: [],
),
Custom("HermitAlligator"): (
primary: Simple(None, "common.abilities.custom.dwarves.hermit_alligator.tail"),
secondary: Simple(None, "common.abilities.custom.dwarves.hermit_alligator.wave"),
abilities: [
Simple(None, "common.abilities.custom.dwarves.hermit_alligator.bombs"),
Simple(None, "common.abilities.custom.dwarves.hermit_alligator.beam"),
Simple(None, "common.abilities.custom.dwarves.hermit_alligator.heal"),
],
),
Custom("Minotaur"): (
primary: Simple(None, "common.abilities.custom.minotaur.cleave"),
secondary: Simple(None, "common.abilities.custom.minotaur.cripplingstrike"),

View File

@ -0,0 +1,26 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 32,
poise: 12,
knockback: 5,
energy_regen: 0,
),
range: 2.5,
angle: 60.0,
),
buildup_duration: 0.5,
swing_duration: 0.07,
hit_timing: 0.5,
recover_duration: 0.5,
movement: (
swing: Some(Forward(0.5)),
),
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 0,
auto_progress: true,
)

View File

@ -0,0 +1,63 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 32,
poise: 6,
knockback: 3,
energy_regen: 0,
),
range: 2.5,
angle: 30.0,
),
buildup_duration: 0.4,
swing_duration: 0.07,
hit_timing: 0.5,
recover_duration: 0.4,
movement: (
swing: Some(Forward(1.0)),
),
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Bash(
damage: 32,
poise: 8,
knockback: 3,
energy_regen: 0,
),
range: 2.5,
angle: 30.0,
),
buildup_duration: 0.44,
swing_duration: 0.07,
hit_timing: 0.5,
recover_duration: 0.4,
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Bash(
damage: 32,
poise: 10,
knockback: 3,
energy_regen: 0,
),
range: 2.5,
angle: 30.0,
),
buildup_duration: 0.4,
swing_duration: 0.07,
hit_timing: 0.5,
recover_duration: 0.4,
movement: (
swing: Some(Forward(1.0)),
),
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 0,
auto_progress: true,
)

View File

@ -0,0 +1,24 @@
BasicMelee(
energy_cost: 0,
buildup_duration: 0.8,
swing_duration: 0.1,
recover_duration: 0.7,
melee_constructor: (
kind: Bash(
damage: 100.0,
poise: 0.0,
knockback: 10.0,
energy_regen: 10.0,
),
range: 5.0,
angle: 60.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 1.0,
strength: DamageFraction(0.1),
chance: 0.3,
))),
multi_target: Some(Normal),
),
ori_modifier: 0.2,
)

View File

@ -0,0 +1,19 @@
BasicBeam(
buildup_duration: 0.1,
recover_duration: 1.5,
beam_duration: 1.0,
damage: 10.0,
tick_rate: 3.0,
range: 80.0,
max_angle: 20.0,
damage_effect: Some(Buff((
kind: Burning,
dur_secs: 60.0,
strength: DamageFraction(0.5),
chance: 1.0,
))),
energy_regen: 0,
energy_drain: 0,
ori_rate: 5.0,
specifier: Flamethrower,
)

View File

@ -0,0 +1,16 @@
BasicRanged(
energy_cost: 0,
buildup_duration: 1.5,
recover_duration: 2.5,
projectile: ClayRocket(
damage: 25.0,
radius: 12.0,
knockback: 10.0,
min_falloff: 0.1,
),
projectile_body: Object(Mine),
projectile_speed: 50.0,
num_projectiles: 6,
projectile_spread: 1.5,
move_efficiency: 0.3,
)

View File

@ -0,0 +1,18 @@
Shockwave(
energy_cost: 0,
buildup_duration: 1.2,
swing_duration: 0.4,
recover_duration: 1.2,
damage: 20.0,
poise_damage: 10,
knockback: (strength: 30.0, direction: Away),
shockwave_angle: 360.0,
shockwave_vertical_angle: 90.0,
shockwave_speed: 15.0,
shockwave_duration: 3.0,
requires_ground: true,
move_efficiency: 0.0,
damage_kind: Crushing,
specifier: Fire,
ori_rate: 1.0,
)

View File

@ -0,0 +1,16 @@
BasicRanged(
energy_cost: 0,
buildup_duration: 1.75,
recover_duration: 1.75,
projectile: Mine(
damage: 25.0,
radius: 2.0,
min_falloff: 0.3,
),
projectile_body: Object(Mine),
projectile_light: None,
projectile_speed: 30.0,
num_projectiles: 12,
projectile_spread: 0.6,
move_efficiency: 0.8,
)

View File

@ -0,0 +1,18 @@
BasicSummon(
buildup_duration: 0.5,
cast_duration: 1.3,
recover_duration: 2.5,
summon_amount: 3,
summon_distance: (4, 4),
summon_info: (
body: BipedSmall((
species: Clockwork,
body_type: Male,
)),
scale: None,
has_health: true,
loadout_config: Some(ClockworkSummon),
skillset_config: None,
),
duration: None,
)

View File

@ -0,0 +1,18 @@
BasicSummon(
buildup_duration: 0.5,
cast_duration: 1.3,
recover_duration: 2.5,
summon_amount: 2,
summon_distance: (8, 8),
summon_info: (
body: Object(Flamethrower),
scale: None,
has_health: true,
loadout_config: None,
skillset_config: None,
),
duration: Some((
secs: 30,
nanos: 0,
)),
)

View File

@ -0,0 +1,19 @@
BasicBeam(
buildup_duration: 0.5,
recover_duration: 0.5,
beam_duration: 1.0,
damage: 20.0,
tick_rate: 3.0,
range: 80.0,
max_angle: 15.0,
damage_effect: Some(Buff((
kind: Wet,
dur_secs: 60.0,
strength: Value(0.5),
chance: 1.0,
))),
energy_regen: 0,
energy_drain: 0,
ori_rate: 5.0,
specifier: Bubbles,
)

View File

@ -0,0 +1,17 @@
BasicRanged(
energy_cost: 0,
buildup_duration: 0.5,
recover_duration: 1.5,
projectile: Poisonball(
damage: 25.0,
knockback: 15.0,
radius: 5.0,
min_falloff: 0.1,
),
projectile_body: Object(FireworkPurple),
projectile_light: None,
projectile_speed: 40.0,
num_projectiles: 1,
projectile_spread: 0.0,
move_efficiency: 0.3,
)

View File

@ -0,0 +1,19 @@
BasicAura(
buildup_duration: 0.2,
cast_duration: 0.4,
recover_duration: 5.0,
targets: InGroup,
auras: [
(
kind: Regeneration,
strength: 250.0,
duration: Some(5),
category: Magical,
),
],
aura_duration: 2.0,
range: 10.0,
energy_cost: 0.0,
scales_with_combo: false,
specifier: Some(HealingAura),
)

View File

@ -0,0 +1,25 @@
ChargedMelee(
energy_cost: 0,
energy_drain: 0,
melee_constructor: (
kind: Bash(
damage: 25.0,
poise: 30.0,
knockback: 10.0,
energy_regen: 0.0,
),
scaled: Some(Bash(
damage: 40.0,
poise: 80.0,
knockback: 20.0,
energy_regen: 0.0,
)),
range: 6.0,
angle: 90.0,
multi_target: Some(Normal),
),
charge_duration: 3.2,
swing_duration: 0.7,
hit_timing: 0.9,
recover_duration: 0.7,
)

View File

@ -0,0 +1,18 @@
Shockwave(
energy_cost: 0,
buildup_duration: 1.0,
swing_duration: 0.4,
recover_duration: 1.0,
damage: 20.0,
poise_damage: 10,
knockback: (strength: 30.0, direction: Away),
shockwave_angle: 360.0,
shockwave_vertical_angle: 90.0,
shockwave_speed: 15.0,
shockwave_duration: 3.0,
requires_ground: true,
move_efficiency: 0.0,
damage_kind: Crushing,
specifier: Water,
ori_rate: 1.0,
)

View File

@ -1,27 +1,26 @@
ComboMelee(
stage_data: [
ComboMelee2(
strikes: [
(
stage: 1,
base_damage: 32.0,
damage_increase: 0,
base_poise_damage: 12,
poise_damage_increase: 0,
knockback: 5.0,
range: 2.5,
angle: 60.0,
base_buildup_duration: 0.5,
base_swing_duration: 0.07,
melee_constructor: (
kind: Bash(
damage: 32,
poise: 12,
knockback: 5,
energy_regen: 0,
),
range: 2.5,
angle: 60.0,
),
buildup_duration: 0.5,
swing_duration: 0.07,
hit_timing: 0.5,
base_recover_duration: 0.5,
forward_movement: 0.5,
damage_kind: Crushing,
recover_duration: 0.5,
movement: (
swing: Some(Forward(0.5)),
),
ori_modifier: 0.6,
),
],
initial_energy_gain: 0,
max_energy_gain: 0,
energy_increase: 0,
speed_increase: 0.0,
max_speed_increase: 0.0,
scales_from_combo: 0,
ori_modifier: 0.6,
energy_cost_per_strike: 0,
auto_progress: true,
)

View File

@ -1,59 +1,63 @@
ComboMelee(
stage_data: [
ComboMelee2(
strikes: [
(
stage: 1,
base_damage: 32.0,
damage_increase: 0,
base_poise_damage: 6,
poise_damage_increase: 0,
knockback: 3.0,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.07,
melee_constructor: (
kind: Bash(
damage: 32,
poise: 6,
knockback: 3,
energy_regen: 0,
),
range: 2.5,
angle: 30.0,
),
buildup_duration: 0.4,
swing_duration: 0.07,
hit_timing: 0.5,
base_recover_duration: 0.4,
forward_movement: 1.0,
damage_kind: Crushing,
recover_duration: 0.4,
movement: (
swing: Some(Forward(1.0)),
),
ori_modifier: 0.6,
),
(
stage: 2,
base_damage: 32.0,
damage_increase: 0,
base_poise_damage: 8,
poise_damage_increase: 0,
knockback: 3.0,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.44,
base_swing_duration: 0.07,
melee_constructor: (
kind: Bash(
damage: 32,
poise: 8,
knockback: 3,
energy_regen: 0,
),
range: 2.5,
angle: 30.0,
),
buildup_duration: 0.44,
swing_duration: 0.07,
hit_timing: 0.5,
base_recover_duration: 0.4,
forward_movement: 0.0,
damage_kind: Crushing,
recover_duration: 0.4,
ori_modifier: 0.6,
),
(
stage: 3,
base_damage: 32.0,
damage_increase: 0,
base_poise_damage: 10,
poise_damage_increase: 0,
knockback: 3.0,
range: 2.5,
angle: 30.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.07,
melee_constructor: (
kind: Bash(
damage: 32,
poise: 10,
knockback: 3,
energy_regen: 0,
),
range: 2.5,
angle: 30.0,
),
buildup_duration: 0.4,
swing_duration: 0.07,
hit_timing: 0.5,
base_recover_duration: 0.4,
forward_movement: 1.0,
damage_kind: Crushing,
recover_duration: 0.4,
movement: (
swing: Some(Forward(1.0)),
),
ori_modifier: 0.6,
),
],
initial_energy_gain: 0,
max_energy_gain: 0,
energy_increase: 0,
speed_increase: 0.0,
max_speed_increase: 0.0,
scales_from_combo: 0,
ori_modifier: 0.6,
energy_cost_per_strike: 0,
auto_progress: true,
)

View File

@ -1,7 +1,7 @@
BasicRanged(
energy_cost: 0,
buildup_duration: 1.5,
recover_duration: 0.45,
buildup_duration: 0.1,
recover_duration: 0.5,
projectile: Arrow(
damage: 30.0,
knockback: 5.0,

View File

@ -1,8 +1,8 @@
BasicBeam(
buildup_duration: 0.375,
buildup_duration: 2.0,
recover_duration: 0.375,
beam_duration: 2.0,
damage: 5.25,
beam_duration: 0.1,
damage: 3.5,
tick_rate: 3.0,
range: 20.0,
max_angle: 15.0,

View File

@ -0,0 +1,19 @@
BasicBeam(
buildup_duration: 2.5,
recover_duration: 0.01,
beam_duration: 0.3,
damage: 10.0,
tick_rate: 3.0,
range: 20.0,
max_angle: 20.0,
damage_effect: Some(Buff((
kind: Burning,
dur_secs: 10.0,
strength: DamageFraction(0.5),
chance: 0.25,
))),
energy_regen: 0,
energy_drain: 0,
ori_rate: 10.0,
specifier: Flamethrower,
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Name("Hermit Alligator"),
body: RandomWith("hermit_alligator"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.dwarven_quarry.alligator"),
inventory: (
loadout: FromBody,
),
meta: [],
)

View File

@ -0,0 +1,22 @@
#![enable(implicit_some)]
(
name: Name("Captain"),
body: RandomWith("dwarf"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.dwarven_quarry.captain"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.dwarven_quarry.overseer"),
active_hands: InHands((
ModularWeapon(tool: Sword, material: Orichalcum, hands: Two),
None
)),
)),
),
agent: (
idle_wander_factor: 0.1,
),
meta: [
SkillSetAsset("common.skillset.preset.rank5.fullskill"),
],
)

View File

@ -0,0 +1,17 @@
#![enable(implicit_some)]
(
name: Name("Clockwork"),
body: RandomWith("clockwork"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.nothing"),
inventory: (
loadout: Inline((
active_hands: InHands((Item("common.items.npc_weapons.unique.husk"), None)),
inherit: Asset("common.loadout.dungeon.dwarven_quarry.clockwork"),
)),
),
agent: (
idle_wander_factor: 0.1,
),
meta: [],
)

View File

@ -0,0 +1,15 @@
#![enable(implicit_some)]
(
name: Automatic,
body: RandomWith("cyclops"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.dwarven_quarry.cyclops"),
inventory: (
loadout: FromBody,
),
agent: (
idle_wander_factor: 0.0,
aggro_range_multiplier: 0.1,
),
meta: [],
)

View File

@ -0,0 +1,18 @@
#![enable(implicit_some)]
(
name: Name("Flamekeeper"),
body: RandomWith("flamekeeper"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.dwarven_quarry.flamekeeper"),
inventory: (
loadout: Inline((
active_hands: InHands((Item("common.items.npc_weapons.unique.flamekeeper_staff"), None)),
inherit: Asset("common.loadout.dungeon.dwarven_quarry.flamekeeper"),
)), ),
agent: (
idle_wander_factor: 0.0,
aggro_range_multiplier: 2.0,
),
meta: [],
)

View File

@ -0,0 +1,14 @@
#![enable(implicit_some)]
(
name: Name("Lava Thrower"),
body: Exact(Object(Flamethrower)),
alignment: Alignment(Enemy),
loot: Nothing,
inventory: (
loadout: FromBody,
),
agent: (
aggro_range_multiplier: 6.0,
),
meta: [],
)

View File

@ -0,0 +1,19 @@
#![enable(implicit_some)]
(
name: Name("Myrmidon Hoplite"),
body: RandomWith("myrmidon"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.tier-4.enemy"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.tier-4.hoplite"),
active_hands: InHands((Item("common.items.npc_weapons.biped_small.myrmidon.hoplite"), None)),
)),
),
agent: (
idle_wander_factor: 0.1,
),
meta: [
SkillSetAsset("common.skillset.preset.rank4.fullskill"),
],
)

View File

@ -0,0 +1,19 @@
#![enable(implicit_some)]
(
name: Name("Myrmidon Marksman"),
body: RandomWith("myrmidon"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.tier-4.enemy"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.tier-4.marksman"),
active_hands: InHands((Item("common.items.npc_weapons.biped_small.myrmidon.marksman"), None)),
)),
),
agent: (
idle_wander_factor: 0.1,
),
meta: [
SkillSetAsset("common.skillset.preset.rank4.fullskill"),
],
)

View File

@ -0,0 +1,23 @@
#![enable(implicit_some)]
(
name: Name("Mine Guard"),
body: RandomWith("dwarf"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.spots.bandit"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.dwarven_quarry.mine_guard"),
active_hands: InHands((
ModularWeapon(tool: Bow, material: Eldwood, hands: Two),
None
)),
)),
),
agent: (
idle_wander_factor: 0.2,
aggro_range_multiplier: 1.0,
),
meta: [
SkillSetAsset("common.skillset.preset.rank5.fullskill"),
],
)

View File

@ -0,0 +1,20 @@
#![enable(implicit_some)]
(
name: Name("Greedy Miner"),
body: RandomWith("dwarf"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.spots.bandit"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.dwarven_quarry.greedy_miner"),
active_hands: InHands((Item("common.items.npc_weapons.sword.pickaxe_velorite_sword"), None)),
)),
),
agent: (
idle_wander_factor: 0.1,
aggro_range_multiplier: 2.0,
),
meta: [
SkillSetAsset("common.skillset.preset.rank5.fullskill"),
],
)

View File

@ -0,0 +1,16 @@
#![enable(implicit_some)]
(
name: Name("Greedy Miner"),
body: RandomWith("draugr"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.spots.bandit"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.dwarven_quarry.greedy_miner"),
active_hands: InHands((Item("common.items.npc_weapons.sword.pickaxe_velorite_sword"), None)),
)),
),
meta: [
SkillSetAsset("common.skillset.preset.rank3.fullskill"),
],
)

View File

@ -0,0 +1,15 @@
#![enable(implicit_some)]
(
name: Name("Minotaur"),
body: RandomWith("minotaur"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.dwarven_quarry.minotaur"),
inventory: (
loadout: FromBody,
),
agent: (
idle_wander_factor: 0.0,
aggro_range_multiplier: 0.1,
),
meta: [],
)

View File

@ -0,0 +1,22 @@
#![enable(implicit_some)]
(
name: Name("Overseer"),
body: RandomWith("dwarf"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.dwarven_quarry.overseer"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.dwarven_quarry.overseer"),
active_hands: InHands((
ModularWeapon(tool: Hammer, material: Orichalcum, hands: Two),
None
)),
)),
),
agent: (
idle_wander_factor: 0.0,
),
meta: [
SkillSetAsset("common.skillset.preset.rank5.fullskill"),
],
)

View File

@ -0,0 +1,20 @@
#![enable(implicit_some)]
(
name: Name("Myrmidon Sniper"),
body: RandomWith("myrmidon"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.tier-4.enemy"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.tier-4.marksman"),
active_hands: InHands((Item("common.items.npc_weapons.biped_small.myrmidon.marksman"), None)),
)),
),
agent: (
idle_wander_factor: 0.1,
aggro_range_multiplier: 4.0,
),
meta: [
SkillSetAsset("common.skillset.preset.rank1.fullskill"),
],
)

View File

@ -0,0 +1,19 @@
#![enable(implicit_some)]
(
name: Name("Myrmidon Strategian"),
body: RandomWith("myrmidon"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.tier-4.enemy"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.tier-4.strategian"),
active_hands: InHands((Item("common.items.npc_weapons.biped_small.myrmidon.strategian"), None)),
)),
),
agent: (
idle_wander_factor: 0.1,
),
meta: [
SkillSetAsset("common.skillset.preset.rank4.fullskill"),
],
)

View File

@ -0,0 +1,14 @@
#![enable(implicit_some)]
(
name: Name("Mechanical Turret"),
body: Exact(Object(Crossbow)),
alignment: Alignment(Enemy),
loot: Item("common.items.crafting_ing.twigs"),
inventory: (
loadout: FromBody,
),
agent: (
aggro_range_multiplier: 4.0,
),
meta: [],
)

View File

@ -6,11 +6,11 @@
loot: LootTable("common.loot_tables.dungeon.tier-5.enemy"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.spots.wizard_tower.wizard_low"),
inherit: Asset("common.loadout.spots.wizard_tower.wizard_low"),
active_hands: InHands((Choice([
(2, ModularWeapon(tool: Axe, material: Orichalcum, hands: One)),
(2, ModularWeapon(tool: Axe, material: Orichalcum, hands: One)),
(2, ModularWeapon(tool: Hammer, material: Orichalcum, hands: One)),
]), None)),
)),
),

View File

@ -6,9 +6,9 @@
loot: LootTable("common.loot_tables.dungeon.tier-5.enemy"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.spots.wizard_tower.wizard_low"),
active_hands: InHands((Choice([
(2, Item("common.items.weapons.staff.cultist_staff")),
inherit: Asset("common.loadout.spots.wizard_tower.wizard_low"),
active_hands: InHands((Choice([
(2, Item("common.items.weapons.staff.cultist_staff")),
(1, Item("common.items.weapons.sceptre.sceptre_velorite_0")),
]), None)),
)),

View File

@ -6,7 +6,7 @@
loot: LootTable("common.loot_tables.dungeon.tier-5.enemy"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.spots.wizard_tower.wizard_overseer"),
inherit: Asset("common.loadout.spots.wizard_tower.wizard_overseer"),
active_hands: InHands((Choice([
(1, Item("common.items.npc_weapons.staff.bipedlarge-cultist")),
(1, Item("common.items.npc_weapons.bow.bipedlarge-velorite")),

View File

@ -6,7 +6,7 @@
loot: LootTable("common.loot_tables.dungeon.tier-5.enemy"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.spots.wizard_tower.wizard_spellbinder"),
inherit: Asset("common.loadout.spots.wizard_tower.wizard_spellbinder"),
active_hands: InHands((Choice([
(1, Item("common.items.npc_weapons.staff.bipedlarge-cultist")),
(1, Item("common.items.npc_weapons.bow.bipedlarge-velorite")),

View File

@ -7,9 +7,9 @@
loot: LootTable("common.loot_tables.dungeon.tier-5.miniboss"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.spots.wizard_tower.wizard_boss"),
active_hands: InHands((Choice([
(1, Item("common.items.weapons.sceptre.sceptre_velorite_0")),
inherit: Asset("common.loadout.spots.wizard_tower.wizard_boss"),
active_hands: InHands((Choice([
(1, Item("common.items.weapons.sceptre.sceptre_velorite_0")),
]), None)),
)),
),

View File

@ -8,8 +8,8 @@
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.spots.wizard_tower.wizard_boss"),
active_hands: InHands((Choice([
(1, Item("common.items.weapons.sceptre.sceptre_velorite_0")),
active_hands: InHands((Choice([
(1, Item("common.items.weapons.sceptre.sceptre_velorite_0")),
]), None)),
)),
),

View File

@ -8,8 +8,8 @@
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.spots.wizard_tower.wizard_boss"),
active_hands: InHands((Choice([
(1, Item("common.items.weapons.sceptre.sceptre_velorite_0")),
active_hands: InHands((Choice([
(1, Item("common.items.weapons.sceptre.sceptre_velorite_0")),
]), None)),
)),
),

View File

@ -6,13 +6,13 @@
loot: LootTable("common.loot_tables.nothing"),
inventory: (
loadout: Inline((
inherit: Choice([
(1, Asset("common.loadout.world.traveler1.leather")),
(1, Asset("common.loadout.world.traveler2.carapace")),
(1, Asset("common.loadout.world.traveler2.scale")),
inherit: Choice([
(1, Asset("common.loadout.world.traveler1.leather")),
(1, Asset("common.loadout.world.traveler2.carapace")),
(1, Asset("common.loadout.world.traveler2.scale")),
]),
active_hands: InHands((Choice([
(1, ModularWeapon(tool: Bow, material: Ironwood, hands: None)),
(1, ModularWeapon(tool: Bow, material: Ironwood, hands: None)),
]), None)),
)),

View File

@ -6,12 +6,12 @@
loot: LootTable("common.loot_tables.nothing"),
inventory: (
loadout: Inline((
inherit: Choice([
(1, Asset("common.loadout.world.traveler1.leather")),
(1, Asset("common.loadout.world.traveler2.carapace")),
(1, Asset("common.loadout.world.traveler2.scale")),
inherit: Choice([
(1, Asset("common.loadout.world.traveler1.leather")),
(1, Asset("common.loadout.world.traveler2.carapace")),
(1, Asset("common.loadout.world.traveler2.scale")),
]),
active_hands: InHands((Choice([
active_hands: InHands((Choice([
(1, ModularWeapon(tool: Axe, material: Cobalt, hands: None)),
]), None)),

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Miner's Backpack",
description: "Battered from heavy rocks being carried inside.",
kind: Armor((
kind: Back,
stats: FromSet("Miner"),
)),
quality: High,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Miner's Belt",
description: "",
kind: Armor((
kind: Belt,
stats: FromSet("Miner"),
)),
quality: High,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Miner's Vestment",
description: "Rock dust is covering most of the leather parts.",
kind: Armor((
kind: Chest,
stats: FromSet("Miner"),
)),
quality: Epic,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Miner's Footwear",
description: "Someone carved 'Mine!' into the inside.",
kind: Armor((
kind: Foot,
stats: FromSet("Miner"),
)),
quality: High,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Miner's Gloves",
description: "Someone carved 'Mine!' into the inside.",
kind: Armor((
kind: Hand,
stats: FromSet("Miner"),
)),
quality: High,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Miner Captain's Helmet.",
description: "Someone carved 'Mine!' into the inside.",
kind: Armor((
kind: Head,
stats: FromSet("Miner"),
)),
quality: Epic,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Miner's Helmet.",
description: "Someone carved 'Mine!' into the inside.",
kind: Armor((
kind: Head,
stats: FromSet("Miner"),
)),
quality: Epic,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Flamekeeper Miner Helmet.",
description: "Someone carved 'Mine!' into the inside.",
kind: Armor((
kind: Head,
stats: FromSet("Miner"),
)),
quality: Epic,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Miner's pantaloons.",
description: "",
kind: Armor((
kind: Pants,
stats: FromSet("Miner"),
)),
quality: High,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Miner's Pauldrons.",
description: "Protects Cave-in and out.",
kind: Armor((
kind: Shoulder,
stats: FromSet("Miner"),
)),
quality: High,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Captain's Pauldrons.",
description: "",
kind: Armor((
kind: Shoulder,
stats: FromSet("Miner"),
)),
quality: High,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Flamekeeper's Pauldrons.",
description: "",
kind: Armor((
kind: Shoulder,
stats: FromSet("Miner"),
)),
quality: High,
tags: [],
)

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Overseer's Pauldrons.",
description: "",
kind: Armor((
kind: Shoulder,
stats: FromSet("Miner"),
)),
quality: High,
tags: [],
)

View File

@ -12,7 +12,7 @@ ItemDef(
),
cat_ids: [Natural],
)),
])
),
quality: Legendary,

View File

@ -12,7 +12,7 @@ ItemDef(
),
cat_ids: [Natural],
)),
])
),
quality: Legendary,

View File

@ -12,7 +12,7 @@ ItemDef(
),
cat_ids: [Natural],
)),
])
),
quality: Legendary,

View File

@ -0,0 +1,11 @@
ItemDef(
name: "Ancient Key",
description: "If you are lucky it works one more time before breaking.",
kind: Utility(
kind: Key,
),
amount: 1,
quality: High,
tags: [],
)

View File

@ -0,0 +1,11 @@
ItemDef(
name: "Backdoor Key",
description: "If you are lucky it works one more time before breaking.",
kind: Utility(
kind: Key,
),
amount: 1,
quality: High,
tags: [],
)

View File

@ -0,0 +1,11 @@
ItemDef(
name: "Cyclops Eye",
description: "Looks like it could open an ancient mechanism.",
kind: Utility(
kind: Key,
),
amount: 1,
quality: High,
tags: [],
)

View File

@ -0,0 +1,11 @@
ItemDef(
name: "Left Goggle-Glass",
description: "Looks like it could open a door...",
kind: Utility(
kind: Key,
),
amount: 1,
quality: High,
tags: [],
)

View File

@ -0,0 +1,11 @@
ItemDef(
name: "Right Goggle-Glass",
description: "Looks like it could open a door...",
kind: Utility(
kind: Key,
),
amount: 1,
quality: High,
tags: [],
)

View File

@ -0,0 +1,11 @@
ItemDef(
name: "Overseer Key",
description: "If you are lucky it works one more time before breaking.",
kind: Utility(
kind: Key,
),
amount: 1,
quality: High,
tags: [],
)

View File

@ -0,0 +1,11 @@
ItemDef(
name: "Smelting Room Key",
description: "If you are lucky it works one more time before breaking.",
kind: Utility(
kind: Key,
),
amount: 1,
quality: High,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Clockwork Chest",
description: "Clockwork Chest",
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(8.0)),
poise_resilience: Some(Normal(3.0)),
crit_power: Some(0.06),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,16 @@
ItemDef(
name: "Clockwork Foot",
description: "Clockwork Foot.",
kind: Armor((
kind: Foot,
stats: Direct((
protection: Some(Normal(2.0)),
poise_resilience: Some(Normal(2.0)),
energy_max: Some(1.8),
energy_reward: Some(0.018),
crit_power: Some(0.016),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Clockwork Hand",
description: "Clockwork Hand",
kind: Armor((
kind: Hand,
stats: Direct((
protection: Some(Normal(3.0)),
poise_resilience: Some(Normal(3.0)),
crit_power: Some(0.016),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Clockwork Head",
description: "Clockwork Head",
kind: Armor((
kind: Head,
stats: Direct((
protection: Some(Normal(4.5)),
poise_resilience: Some(Normal(3.0)),
crit_power: Some(0.032),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Clockwork Pants",
description: "Clockwork Pants",
kind: Armor((
kind: Pants,
stats: Direct((
protection: Some(Normal(4.5)),
poise_resilience: Some(Normal(3.0)),
crit_power: Some(0.032),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Flamekeeper Chest",
description: "Flamekeeper Chest",
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(16.0)),
poise_resilience: Some(Normal(3.0)),
crit_power: Some(0.06),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,16 @@
ItemDef(
name: "Flamekeeper Foot",
description: "Flamekeeper Foot.",
kind: Armor((
kind: Foot,
stats: Direct((
protection: Some(Normal(4.0)),
poise_resilience: Some(Normal(2.0)),
energy_max: Some(1.8),
energy_reward: Some(0.018),
crit_power: Some(0.016),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Flamekeeper Hand",
description: "Flamekeeper Hand",
kind: Armor((
kind: Hand,
stats: Direct((
protection: Some(Normal(6.0)),
poise_resilience: Some(Normal(3.0)),
crit_power: Some(0.016),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Flamekeeper Head",
description: "Flamekeeper Head",
kind: Armor((
kind: Head,
stats: Direct((
protection: Some(Normal(9.0)),
poise_resilience: Some(Normal(3.0)),
crit_power: Some(0.032),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Flamekeeper Pants",
description: "Flamekeeper Pants",
kind: Armor((
kind: Pants,
stats: Direct((
protection: Some(Normal(9.0)),
poise_resilience: Some(Normal(3.0)),
crit_power: Some(0.032),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Velorite Pickaxe",
description: "",
kind: Tool((
kind: Sword,
hands: Two,
stats: (
equip_time_secs: 0.5,
power: 2.0,
effect_power: 1.2,
speed: 0.7,
crit_chance: 0.2,
range: 1.0,
energy_efficiency: 0.8,
buff_strength: 1.2,
),
)),
quality: Epic,
tags: [],
ability_spec: None,
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Clockwork",
description: "testing123",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
crit_chance: 0.0625,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Clockwork")),
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Flamekeeper Staff",
description: "Flamekeeper Staff",
kind: Tool((
kind: Staff,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
crit_chance: 0.0,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Epic,
tags: [],
ability_spec: Some(Custom("Flamekeeper")),
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Flamethrower",
description: "Throwing Flames",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 2.0,
crit_chance: 0.0,
range: 1.5,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Flamethrower")),
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Hermit Alligator Teeth",
description: "Grrr!",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.001,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
crit_chance: 0.05078125,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: High,
tags: [],
ability_spec: Some(Custom("HermitAlligator")),
)

View File

@ -3,7 +3,7 @@ ItemDef(
description: "Worn by Gnarlings and their Chieftains.",
kind: TagExamples(
item_ids: [
"common.items.armor.mist.head.gnarling_mask",
"common.items.armor.mist.head.gnarling_mask",
],
),
quality: Common,

View File

@ -0,0 +1,23 @@
ItemDef(
name: "Velorite Pickaxe",
description: "Allows for swift excavation of any ore in sight.",
kind: Tool((
kind: Pick,
hands: Two,
stats: (
equip_time_secs: 0.25,
power: 1.75,
effect_power: 0.25,
speed: 1.0,
crit_chance: 0.1,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Moderate,
tags: [
CraftingTool,
],
ability_spec: None,
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
shoulders: Item("common.items.armor.miner.shoulder"),
back: Item("common.items.armor.miner.back"),
chest: Item("common.items.armor.miner.chest"),
gloves: Item("common.items.armor.miner.hand"),
belt: Item("common.items.armor.miner.belt"),
legs: Item("common.items.armor.miner.pants"),
feet: Item("common.items.armor.miner.foot"),
lantern: Item("common.items.lantern.black_0"),
)

View File

@ -0,0 +1,8 @@
#![enable(implicit_some)]
(
head: Item("common.items.npc_armor.biped_small.clockwork.head.clockwork"),
chest: Item("common.items.npc_armor.biped_small.clockwork.chest.clockwork"),
gloves: Item("common.items.npc_armor.biped_small.clockwork.hand.clockwork"),
legs: Item("common.items.npc_armor.biped_small.clockwork.pants.clockwork"),
feet: Item("common.items.npc_armor.biped_small.clockwork.foot.clockwork"),
)

View File

@ -0,0 +1,8 @@
#![enable(implicit_some)]
(
head: Item("common.items.npc_armor.biped_small.flamekeeper.head.flamekeeper"),
chest: Item("common.items.npc_armor.biped_small.flamekeeper.chest.flamekeeper"),
gloves: Item("common.items.npc_armor.biped_small.flamekeeper.hand.flamekeeper"),
legs: Item("common.items.npc_armor.biped_small.flamekeeper.pants.flamekeeper"),
feet: Item("common.items.npc_armor.biped_small.flamekeeper.foot.flamekeeper"),
)

View File

@ -0,0 +1,10 @@
#![enable(implicit_some)]
(
head: Item("common.items.armor.miner.helmet_orange"),
chest: Item("common.items.armor.miner.chest"),
gloves: Item("common.items.armor.miner.hand"),
belt: Item("common.items.armor.miner.belt"),
legs: Item("common.items.armor.miner.pants"),
feet: Item("common.items.armor.miner.foot"),
lantern: Item("common.items.lantern.black_0"),
)

View File

@ -0,0 +1,10 @@
#![enable(implicit_some)]
(
head: Item("common.items.armor.misc.head.winged_coronet"),
chest: Item("common.items.armor.miner.chest"),
gloves: Item("common.items.armor.miner.hand"),
belt: Item("common.items.armor.miner.belt"),
legs: Item("common.items.armor.miner.pants"),
feet: Item("common.items.armor.miner.foot"),
lantern: Item("common.items.lantern.black_0"),
)

View File

@ -0,0 +1,12 @@
#![enable(implicit_some)]
(
head: Item("common.items.armor.misc.head.winged_coronet"),
shoulders: Item("common.items.armor.miner.shoulder"),
back: Item("common.items.armor.miner.back"),
chest: Item("common.items.armor.miner.chest"),
gloves: Item("common.items.armor.miner.hand"),
belt: Item("common.items.armor.miner.belt"),
legs: Item("common.items.armor.miner.pants"),
feet: Item("common.items.armor.miner.foot"),
lantern: Item("common.items.lantern.black_0"),
)

View File

@ -1,3 +1,3 @@
[
[
(1.0, Item("common.items.food.meat.fish_raw")),
]

View File

@ -0,0 +1,8 @@
[
(1, All([
Item("common.items.keys.quarry_keys.smelting"),
MultiDrop(Item("common.items.crafting_ing.hide.plate"), 1, 1),
LootTable("common.loot_tables.weapons.components.tier-4"),
],
)),
]

View File

@ -0,0 +1,8 @@
[
(1, All([
Item("common.items.keys.quarry_keys.backdoor"),
MultiDrop(Item("common.items.utility.coins"), 50, 150),
LootTable("common.loot_tables.weapons.components.tier-4"),
],
)),
]

View File

@ -0,0 +1,10 @@
[
(1, All([
Item("common.items.keys.quarry_keys.cyclops_eye"),
LootTable("common.loot_tables.dungeon.dwarven_quarry.t4"),
MultiDrop(LootTable("common.loot_tables.dungeon.dwarven_quarry.t4-mats"), 1, 3),
MultiDrop(Item("common.items.utility.coins"), 200, 500),
LootTable("common.loot_tables.dungeon.tier-4.boss"),
],
)),
]

View File

@ -0,0 +1,9 @@
[
(1, All([
Item("common.items.keys.quarry_keys.flamekeeper_left"),
Item("common.items.keys.quarry_keys.flamekeeper_right"),
MultiDrop(Item("common.items.crafting_ing.hide.plate"), 1, 1),
LootTable("common.loot_tables.weapons.components.tier-4"),
],
)),
]

View File

@ -0,0 +1,10 @@
[
(1, All([
Item("common.items.keys.quarry_keys.ancient"),
LootTable("common.loot_tables.dungeon.dwarven_quarry.t4"),
MultiDrop(LootTable("common.loot_tables.dungeon.dwarven_quarry.t4-mats"), 1, 3),
MultiDrop(Item("common.items.utility.coins"), 200, 500),
LootTable("common.loot_tables.dungeon.tier-4.boss"),
],
)),
]

View File

@ -0,0 +1,8 @@
[
(1, All([
Item("common.items.keys.quarry_keys.overseer"),
MultiDrop(Item("common.items.crafting_ing.hide.plate"), 1, 1),
LootTable("common.loot_tables.weapons.components.tier-2"),
],
)),
]

Some files were not shown because too many files have changed in this diff Show More