terracotta

This commit is contained in:
flo 2024-02-15 06:08:03 +00:00
parent 5c4e68cce7
commit ed4fd55bc3
236 changed files with 5625 additions and 234 deletions

View File

@ -46,6 +46,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- A flag argument type for commands - A flag argument type for commands
- The ability to turn lamp-like sprites on and off - The ability to turn lamp-like sprites on and off
- Added Autumn Forests, Cherry Blossom Forests, and Maple Trees. - Added Autumn Forests, Cherry Blossom Forests, and Maple Trees.
- Added reworked dungeon: Haniwa Catacombs
- Added dungeon: Terracotta Ruins
### Changed ### Changed

View File

@ -914,9 +914,9 @@
secondary: Simple(None, "common.abilities.music.sitar"), secondary: Simple(None, "common.abilities.music.sitar"),
abilities: [], abilities: [],
), ),
Custom("Steeldrum"): ( Custom("Steeltonguedrum"): (
primary: Simple(None, "common.abilities.music.steeldrum"), primary: Simple(None, "common.abilities.music.steeltonguedrum"),
secondary: Simple(None, "common.abilities.music.steeldrum"), secondary: Simple(None, "common.abilities.music.steeltonguedrum"),
abilities: [], abilities: [],
), ),
Custom("Shamisen"): ( Custom("Shamisen"): (
@ -997,4 +997,62 @@
Simple(None, "common.abilities.haniwa.archer.explosive") Simple(None, "common.abilities.haniwa.archer.explosive")
], ],
), ),
// Terracotta
Custom("TerracottaBesieger"): (
primary: Simple(None, "common.abilities.custom.terracotta_besieger.doublestrike"),
secondary: Simple(None, "common.abilities.custom.terracotta_besieger.multishot"),
abilities: [],
),
Custom("TerracottaDemolisher"): (
primary: Simple(None, "common.abilities.custom.terracotta_demolisher.drop"),
secondary: Simple(None, "common.abilities.custom.terracotta_demolisher.throw"),
abilities: [],
),
Custom("TerracottaPursuer"): (
primary: Simple(None, "common.abilities.custom.terracotta_pursuer.doublestrike"),
secondary: Simple(None, "common.abilities.custom.terracotta_pursuer.dash"),
abilities: [],
),
Custom("TerracottaPunisher"): (
primary: Simple(None, "common.abilities.custom.terracotta_punisher.doublestrike"),
secondary: Simple(None, "common.abilities.custom.terracotta_punisher.doublestrike"),
abilities: [],
),
Custom("TerracottaStatue"): (
primary: Simple(None, "common.abilities.custom.terracotta_statue.trap"),
secondary: Simple(None, "common.abilities.custom.terracotta_statue.blast"),
abilities: [],
),
Custom("Mogwai"): (
primary: Simple(None, "common.abilities.custom.mogwai.breathe"),
secondary: Simple(None, "common.abilities.custom.mogwai.breathe"),
abilities: [],
),
Custom("Cursekeeper"): (
primary: Simple(None, "common.abilities.custom.cursekeeper.beam"),
secondary: Simple(None, "common.abilities.custom.cursekeeper.trap"),
abilities: [
Simple(None, "common.abilities.custom.cursekeeper.summonmogwai"),
Simple(None, "common.abilities.custom.cursekeeper.summonbesieger"),
Simple(None, "common.abilities.custom.cursekeeper.summonpursuer"),
Simple(None, "common.abilities.custom.cursekeeper.summonshamanicspirit"),
Simple(None, "common.abilities.custom.cursekeeper.summonjiangshi"),
Simple(None, "common.abilities.custom.cursekeeper.teleport"),
],
),
Custom("CursekeeperFake"): (
primary: Simple(None, "common.abilities.custom.cursekeeper.summonshamanicspirit"),
secondary: Simple(None, "common.abilities.custom.cursekeeper.unlive"),
abilities: [],
),
Custom("ShamanicSpirit"): (
primary: Simple(None, "common.abilities.custom.shamanic_spirit.ironspikes"),
secondary: Simple(None, "common.abilities.custom.shamanic_spirit.teleport"),
abilities: [],
),
Custom("Jiangshi"): (
primary: Simple(None, "common.abilities.custom.jiangshi.poisonshockwave"),
secondary: Simple(None, "common.abilities.custom.jiangshi.teleport"),
abilities: [],
),
}) })

View File

@ -0,0 +1,19 @@
BasicBeam(
buildup_duration: 0.3,
recover_duration: 1.5,
beam_duration: 2.0,
damage: 20.0,
tick_rate: 3.0,
range: 22.0,
max_angle: 22.5,
damage_effect: Some(Buff((
kind: Poisoned,
dur_secs: 3.0,
strength: DamageFraction(0.5),
chance: 1.0,
))),
energy_regen: 2,
energy_drain: 0,
ori_rate: 0.5,
specifier: Poison,
)

View File

@ -0,0 +1,19 @@
BasicSummon(
buildup_duration: 0.2,
cast_duration: 0.3,
recover_duration: 4.0,
summon_amount: 1,
summon_distance: (4, 4),
summon_info: (
body: BipedLarge((
species: TerracottaBesieger,
body_type: Male,
)),
scale: None,
use_npc_name: true,
has_health: true,
loadout_config: None,
skillset_config: Some(Rank3),
),
duration: None,
)

View File

@ -0,0 +1,19 @@
BasicSummon(
buildup_duration: 0.3,
cast_duration: 0.3,
recover_duration: 1.0,
summon_amount: 1,
summon_distance: (2, 2),
summon_info: (
body: BipedSmall((
species: Jiangshi,
body_type: Male,
)),
scale: None,
use_npc_name: true,
has_health: true,
loadout_config: Some(JiangshiSummon),
skillset_config: Some(Rank5),
),
duration: None,
)

View File

@ -0,0 +1,19 @@
BasicSummon(
buildup_duration: 0.2,
cast_duration: 0.3,
recover_duration: 4.0,
summon_amount: 1,
summon_distance: (4, 4),
summon_info: (
body: Golem((
species: Mogwai,
body_type: Male,
)),
scale: None,
use_npc_name: true,
has_health: true,
loadout_config: None,
skillset_config: Some(Rank3),
),
duration: None,
)

View File

@ -0,0 +1,19 @@
BasicSummon(
buildup_duration: 0.2,
cast_duration: 0.3,
recover_duration: 4.0,
summon_amount: 1,
summon_distance: (4, 4),
summon_info: (
body: BipedLarge((
species: TerracottaPursuer,
body_type: Male,
)),
scale: None,
use_npc_name: true,
has_health: true,
loadout_config: None,
skillset_config: Some(Rank3),
),
duration: None,
)

View File

@ -0,0 +1,19 @@
BasicSummon(
buildup_duration: 0.3,
cast_duration: 0.3,
recover_duration: 1.0,
summon_amount: 1,
summon_distance: (2, 2),
summon_info: (
body: BipedSmall((
species: ShamanicSpirit,
body_type: Male,
)),
scale: None,
use_npc_name: true,
has_health: true,
loadout_config: Some(ShamanicSpiritSummon),
skillset_config: Some(Rank5),
),
duration: None,
)

View File

@ -0,0 +1,5 @@
Blink(
buildup_duration: 0.75,
recover_duration: 0.25,
max_range: 100.0,
)

View File

@ -0,0 +1,10 @@
SpriteSummon(
buildup_duration: 1.5,
cast_duration: 0.1,
recover_duration: 3.0,
sprite: Empty,
del_timeout: Some((8, 5)),
summon_distance: (2, 50),
sparseness: 0.0,
angle: 360,
)

View File

@ -0,0 +1,9 @@
SelfBuff(
buildup_duration: 0.1,
cast_duration: 0.1,
recover_duration: 0.1,
buff_kind: Burning,
buff_strength: 2000.0,
buff_duration: Some(60.0),
energy_cost: 0,
)

View File

@ -0,0 +1,24 @@
Shockwave(
energy_cost: 0,
buildup_duration: 0.3,
swing_duration: 0.3,
recover_duration: 2.5,
damage: 25.0,
poise_damage: 10,
knockback: (strength: 18.0, direction: Away),
shockwave_angle: 360.0,
shockwave_vertical_angle: 360.0,
shockwave_speed: 15.0,
shockwave_duration: 2.0,
dodgeable: Roll,
move_efficiency: 0.0,
damage_kind: Crushing,
specifier: Poison,
ori_rate: 1.0,
damage_effect: Some(Buff((
kind: Poisoned,
dur_secs: 3.0,
strength: DamageFraction(0.6),
chance: 1.0,
))),
)

View File

@ -0,0 +1,5 @@
Blink(
buildup_duration: 0.75,
recover_duration: 0.25,
max_range: 100.0,
)

View File

@ -0,0 +1,19 @@
BasicBeam(
buildup_duration: 0.3,
recover_duration: 1.5,
beam_duration: 2.0,
damage: 20.0,
tick_rate: 3.0,
range: 22.0,
max_angle: 22.5,
damage_effect: Some(Buff((
kind: Poisoned,
dur_secs: 3.0,
strength: DamageFraction(0.5),
chance: 1.0,
))),
energy_regen: 2,
energy_drain: 0,
ori_rate: 0.5,
specifier: Poison,
)

View File

@ -0,0 +1,10 @@
SpriteSummon(
buildup_duration: 0.5,
cast_duration: 0.1,
recover_duration: 2.0,
sprite: IronSpike,
del_timeout: Some((4, 5)),
summon_distance: (1, 7),
sparseness: 0.67,
angle: 360,
)

View File

@ -0,0 +1,5 @@
Blink(
buildup_duration: 0.75,
recover_duration: 0.25,
max_range: 100.0,
)

View File

@ -0,0 +1,57 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 18,
poise: 0,
knockback: 4,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 10.0,
strength: DamageFraction(0.1),
chance: 0.1,
))),
),
buildup_duration: 1.2,
swing_duration: 0.12,
hit_timing: 0.5,
recover_duration: 1.2,
movement: (
swing: Some(Forward(1.5)),
),
ori_modifier: 0.6,
),
(
melee_constructor: (
kind: Bash(
damage: 26,
poise: 0,
knockback: 16,
energy_regen: 0,
),
range: 5.5,
angle: 15.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 10.0,
strength: DamageFraction(0.1),
chance: 0.1,
))),
),
buildup_duration: 1.0,
swing_duration: 0.15,
hit_timing: 0.5,
recover_duration: 2.4,
movement: (
swing: Some(Forward(2.5)),
),
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 0,
)

View File

@ -0,0 +1,16 @@
BasicRanged(
energy_cost: 0,
buildup_duration: 1.0,
recover_duration: 2.5,
projectile: Arrow(
damage: 25.0,
knockback: 12.0,
energy_regen: 4.0,
),
projectile_body: Object(BoltBesieger),
projectile_light: None,
projectile_speed: 60.0,
num_projectiles: 4,
projectile_spread: 0.05,
move_efficiency: 0.3,
)

View File

@ -0,0 +1,18 @@
BasicRanged(
energy_cost: 0,
buildup_duration: 1.0,
recover_duration: 1.5,
projectile: FireDroplet(
damage: 30.0,
radius: 10.0,
min_falloff: 0.5,
energy_regen: 0,
reagent: Some(Yellow),
),
projectile_body: Object(TerracottaDemolisherBomb),
projectile_light: None,
projectile_speed: 0.0,
num_projectiles: 1,
projectile_spread: 0.0,
move_efficiency: 0.3,
)

View File

@ -0,0 +1,18 @@
BasicRanged(
energy_cost: 0,
buildup_duration: 1.0,
recover_duration: 1.5,
projectile: FireDroplet(
damage: 30.0,
radius: 10.0,
min_falloff: 0.5,
energy_regen: 0,
reagent: Some(Yellow),
),
projectile_body: Object(TerracottaDemolisherBomb),
projectile_light: None,
projectile_speed: 20.0,
num_projectiles: 1,
projectile_spread: 0.0,
move_efficiency: 0.3,
)

View File

@ -0,0 +1,45 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 24,
poise: 40,
knockback: 4,
energy_regen: 0,
),
range: 4.5,
angle: 50.0,
),
buildup_duration: 1.2,
swing_duration: 0.08,
hit_timing: 0.5,
recover_duration: 0.9,
movement: (
swing: Some(Forward(3.5)),
),
ori_modifier: 0.65,
),
(
melee_constructor: (
kind: Bash(
damage: 32,
poise: 40,
knockback: 16,
energy_regen: 0,
),
range: 2.5,
angle: 30.0,
),
buildup_duration: 1.5,
swing_duration: 0.25,
hit_timing: 0.5,
recover_duration: 1.2,
movement: (
swing: Some(Forward(2.0)),
),
ori_modifier: 0.65,
),
],
energy_cost_per_strike: 0,
)

View File

@ -0,0 +1,28 @@
DashMelee(
energy_cost: 10.0,
melee_constructor: (
kind: Stab(
damage: 25.0,
poise: 40.0,
knockback: 8.0,
energy_regen: 0.0,
),
scaled: Some((
kind: Stab(
damage: 16.0,
poise: 0.0,
knockback: 7.0,
energy_regen: 0.0,
))),
range: 5.0,
angle: 45.0,
),
energy_drain: 0,
forward_speed: 4.0,
buildup_duration: 0.6,
charge_duration: 1.2,
swing_duration: 0.1,
recover_duration: 0.9,
ori_modifier: 0.3,
charge_through: false,
)

View File

@ -0,0 +1,57 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Slash(
damage: 20,
poise: 15,
knockback: 8,
energy_regen: 0,
),
range: 3.5,
angle: 50.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 10.0,
strength: DamageFraction(0.1),
chance: 0.1,
))),
),
buildup_duration: 0.4,
swing_duration: 0.08,
hit_timing: 0.5,
recover_duration: 0.5,
movement: (
swing: Some(Forward(2.5)),
),
ori_modifier: 0.7,
),
(
melee_constructor: (
kind: Slash(
damage: 25,
poise: 20,
knockback: 12,
energy_regen: 0,
),
range: 3.5,
angle: 30.0,
damage_effect: Some(Buff((
kind: Bleeding,
dur_secs: 10.0,
strength: DamageFraction(0.1),
chance: 0.1,
))),
),
buildup_duration: 0.7,
swing_duration: 0.1,
hit_timing: 0.5,
recover_duration: 0.7,
movement: (
swing: Some(Forward(2.0)),
),
ori_modifier: 0.7,
),
],
energy_cost_per_strike: 0,
)

View File

@ -0,0 +1,17 @@
BasicRanged(
energy_cost: 0.0,
buildup_duration: 1.5,
recover_duration: 1.5,
projectile: LaserBeam(
damage: 50.0,
radius: 20.0,
knockback: 50.0,
energy_regen: 0.0,
min_falloff: 0.0,
),
projectile_body: Object(LaserBeamSmall),
projectile_speed: 45.0,
num_projectiles: 1,
projectile_spread: 0.0,
move_efficiency: 0.3,
)

View File

@ -0,0 +1,10 @@
SpriteSummon(
buildup_duration: 1.5,
cast_duration: 0.1,
recover_duration: 12.0,
sprite: Empty,
del_timeout: Some((8, 5)),
summon_distance: (2, 15.0),
sparseness: 0.0,
angle: 360,
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Automatic,
body: RandomWith("terracotta_besieger"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.terracotta.enemy"),
inventory: (
loadout: FromBody,
),
meta: [],
)

View File

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

View File

@ -0,0 +1,12 @@
#![enable(implicit_some)]
(
name: Name("Cursekeeper"),
body: RandomWith("cursekeeper"),
alignment: Alignment(Enemy),
loot: Item("common.items.keys.terracotta_key_chest"),
inventory: (
loadout: Inline((
active_hands: InHands((Item("common.items.npc_weapons.unique.cursekeeper_sceptre_fake"), None)),
)), ),
meta: [],
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Automatic,
body: RandomWith("terracotta_demolisher"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.terracotta.enemy"),
inventory: (
loadout: FromBody,
),
meta: [],
)

View File

@ -0,0 +1,14 @@
#![enable(implicit_some)]
(
name: Name("Jiangshi"),
body: RandomWith("jiangshi"),
alignment: Alignment(Enemy),
loot: Nothing,
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.terracotta.jiangshi"),
active_hands: InHands((Item("common.items.npc_weapons.unique.jiangshi"), None)),
)),
),
meta: [],
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Name("Mogway"),
body: RandomWith("mogwai"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.terracotta.enemy"),
inventory: (
loadout: FromBody,
),
meta: [],
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Automatic,
body: RandomWith("terracotta_punisher"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.terracotta.enemy"),
inventory: (
loadout: FromBody,
),
meta: [],
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Automatic,
body: RandomWith("terracotta_pursuer"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.terracotta.enemy"),
inventory: (
loadout: FromBody,
),
meta: [],
)

View File

@ -0,0 +1,14 @@
#![enable(implicit_some)]
(
name: Name("Shamanic Spirit"),
body: RandomWith("shamanic_spirit"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.terracotta.enemy"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.dungeon.terracotta.shamanic_spirit"),
active_hands: InHands((Item("common.items.npc_weapons.unique.shamanic_spirit"), None)),
)),
),
meta: [],
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Name("Terracotta Statue"),
body: Exact(Object(TerracottaStatue)),
alignment: Alignment(Enemy),
loot: Nothing,
inventory: (
loadout: FromBody
),
meta: [],
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Name("Terracotta Statue"),
body: Exact(Object(TerracottaStatue)),
alignment: Alignment(Enemy),
loot: Item("common.items.keys.terracotta_key_chest"),
inventory: (
loadout: FromBody
),
meta: [],
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Name("Terracotta Statue"),
body: Exact(Object(TerracottaStatue)),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.dungeon.terracotta.terracotta_statue_key_chance"),
inventory: (
loadout: FromBody
),
meta: [],
)

View File

@ -57,6 +57,9 @@
Simple( Simple(
"common.items.npc_armor.golem.gravewarden", "common.items.npc_armor.golem.gravewarden",
): "common-items-npc_armor-golem-gravewarden", ): "common-items-npc_armor-golem-gravewarden",
Simple(
"common.items.npc_armor.golem.mogwai",
): "common-items-npc_armor-golem-mogwai",
Simple( Simple(
"common.items.npc_armor.biped_small.myrmidon.foot.hoplite", "common.items.npc_armor.biped_small.myrmidon.foot.hoplite",
): "common-items-npc_armor-biped_small-myrmidon-foot-hoplite", ): "common-items-npc_armor-biped_small-myrmidon-foot-hoplite",
@ -525,6 +528,33 @@
Simple( Simple(
"common.items.npc_armor.biped_small.gnoll.tail.trapper", "common.items.npc_armor.biped_small.gnoll.tail.trapper",
): "common-items-npc_armor-biped_small-gnoll-tail-trapper", ): "common-items-npc_armor-biped_small-gnoll-tail-trapper",
Simple(
"common.items.npc_armor.biped_small.jiangshi.head.jiangshi",
): "common-items-npc_armor-biped_small-jiangshi-head-jiangshi",
Simple(
"common.items.npc_armor.biped_small.jiangshi.chest.jiangshi",
): "common-items-npc_armor-biped_small-jiangshi-chest-jiangshi",
Simple(
"common.items.npc_armor.biped_small.jiangshi.pants.jiangshi",
): "common-items-npc_armor-biped_small-jiangshi-pants-jiangshi",
Simple(
"common.items.npc_armor.biped_small.jiangshi.hand.jiangshi",
): "common-items-npc_armor-biped_small-jiangshi-hand-jiangshi",
Simple(
"common.items.npc_armor.biped_small.jiangshi.foot.jiangshi",
): "common-items-npc_armor-biped_small-jiangshi-foot-jiangshi",
Simple(
"common.items.npc_armor.biped_small.shamanic_spirit.head.shamanic_spirit",
): "common-items-npc_armor-biped_small-shamanic_spirit-head-shamanic_spirit",
Simple(
"common.items.npc_armor.biped_small.shamanic_spirit.chest.shamanic_spirit",
): "common-items-npc_armor-biped_small-shamanic_spirit-chest-shamanic_spirit",
Simple(
"common.items.npc_armor.biped_small.shamanic_spirit.pants.shamanic_spirit",
): "common-items-npc_armor-biped_small-shamanic_spirit-pants-shamanic_spirit",
Simple(
"common.items.npc_armor.biped_small.shamanic_spirit.hand.shamanic_spirit",
): "common-items-npc_armor-biped_small-shamanic_spirit-hand-shamanic_spirit",
Simple( Simple(
"common.items.npc_armor.chest.leather_blue", "common.items.npc_armor.chest.leather_blue",
): "armor-leather_blue-pants", ): "armor-leather_blue-pants",
@ -630,12 +660,21 @@
Simple( Simple(
"common.items.npc_armor.biped_large.haniwageneral", "common.items.npc_armor.biped_large.haniwageneral",
): "common-items-npc_armor-biped_large-haniwageneral", ): "common-items-npc_armor-biped_large-haniwageneral",
Simple(
"common.items.npc_armor.biped_large.terracotta",
): "common-items-npc_armor-biped_large-terracotta",
Simple( Simple(
"common.items.keys.bone_key", "common.items.keys.bone_key",
): "object-key-bone", ): "object-key-bone",
Simple( Simple(
"common.items.keys.haniwa_key", "common.items.keys.haniwa_key",
): "object-key-haniwa", ): "object-key-haniwa",
Simple(
"common.items.keys.terracotta_key_chest",
): "object-key-terracotta_chest",
Simple(
"common.items.keys.terracotta_key_door",
): "object-key-terracotta_door",
Simple( Simple(
"common.items.keys.glass_key", "common.items.keys.glass_key",
): "object-key-glass", ): "object-key-glass",
@ -2319,8 +2358,8 @@
"common.items.tool.instruments.wildskin_drum", "common.items.tool.instruments.wildskin_drum",
): "weapon-tool-wildskin_drum", ): "weapon-tool-wildskin_drum",
Simple( Simple(
"common.items.tool.instruments.steeldrum", "common.items.tool.instruments.steeltonguedrum",
): "weapon-tool-steeldrum", ): "weapon-tool-steeltonguedrum",
Simple( Simple(
"common.items.tool.instruments.shamisen", "common.items.tool.instruments.shamisen",
): "weapon-tool-shamisen", ): "weapon-tool-shamisen",
@ -2418,6 +2457,9 @@
Simple( Simple(
"common.items.npc_weapons.bow.saurok_bow", "common.items.npc_weapons.bow.saurok_bow",
): "common-items-npc_weapons-bow-saurok_bow", ): "common-items-npc_weapons-bow-saurok_bow",
Simple(
"common.items.npc_weapons.bow.terracotta_besieger_bow",
): "common-items-npc_weapons-bow-terracotta_besieger_bow",
Simple( Simple(
"common.items.npc_weapons.axe.gigas_frost_axe", "common.items.npc_weapons.axe.gigas_frost_axe",
): "common-items-npc_weapons-axe-gigas_frost_axe", ): "common-items-npc_weapons-axe-gigas_frost_axe",
@ -2457,6 +2499,9 @@
Simple( Simple(
"common.items.npc_weapons.sword.haniwa_general_sword", "common.items.npc_weapons.sword.haniwa_general_sword",
): "common-items-npc_weapons-sword-haniwa_general_sword", ): "common-items-npc_weapons-sword-haniwa_general_sword",
Simple(
"common.items.npc_weapons.sword.terracotta_pursuer_sword",
): "common-items-npc_weapons-sword-terracotta_pursuer_sword",
Simple( Simple(
"common.items.npc_weapons.unique.akhlut", "common.items.npc_weapons.unique.akhlut",
): "common-items-npc_weapons-unique-akhlut", ): "common-items-npc_weapons-unique-akhlut",
@ -2511,6 +2556,27 @@
Simple( Simple(
"common.items.npc_weapons.unique.flamekeeper_staff", "common.items.npc_weapons.unique.flamekeeper_staff",
): "common-items-npc_weapons-unique-flamekeeper_staff", ): "common-items-npc_weapons-unique-flamekeeper_staff",
Simple(
"common.items.npc_weapons.unique.jiangshi",
): "common-items-npc_weapons-unique-jiangshi",
Simple(
"common.items.npc_weapons.unique.mogwai",
): "common-items-npc_weapons-unique-mogwai",
Simple(
"common.items.npc_weapons.unique.shamanic_spirit",
): "common-items-npc_weapons-unique-shamanic_spirit",
Simple(
"common.items.npc_weapons.unique.terracotta_demolisher_fist",
): "common-items-npc_weapons-unique-terracotta_demolisher_fist",
Simple(
"common.items.npc_weapons.unique.cursekeeper_sceptre",
): "common-items-npc_weapons-unique-cursekeeper_sceptre",
Simple(
"common.items.npc_weapons.unique.cursekeeper_sceptre_fake",
): "common-items-npc_weapons-unique-cursekeeper_sceptre_fake",
Simple(
"common.items.npc_weapons.unique.terracotta_statue",
): "common-items-npc_weapons-unique-terracotta_statue",
Simple( Simple(
"common.items.npc_weapons.unique.flamethrower", "common.items.npc_weapons.unique.flamethrower",
): "common-items-npc_weapons-unique-flamethrower", ): "common-items-npc_weapons-unique-flamethrower",
@ -2757,6 +2823,9 @@
Simple( Simple(
"common.items.npc_weapons.hammer.yeti_hammer", "common.items.npc_weapons.hammer.yeti_hammer",
): "common-items-npc_weapons-hammer-yeti_hammer", ): "common-items-npc_weapons-hammer-yeti_hammer",
Simple(
"common.items.npc_weapons.hammer.terracotta_punisher_club",
): "common-items-npc_weapons-hammer-terracotta_punisher_club",
Simple( Simple(
"common.items.modular.weapon.primary.bow.bow", "common.items.modular.weapon.primary.bow.bow",
): "common-items-modular-weapon-primary-bow-bow", ): "common-items-modular-weapon-primary-bow-bow",

View File

@ -0,0 +1,10 @@
ItemDef(
legacy_name: "Terracotta Chest Key",
legacy_description: "Used to open chests in Terracotta Ruins. Will break after use.",
kind: Utility(
kind: Key,
),
quality: Epic,
tags: [Utility],
)

View File

@ -0,0 +1,10 @@
ItemDef(
legacy_name: "Terracotta Door Key",
legacy_description: "Used to open doors in Terracotta Ruins. Will break after use.",
kind: Utility(
kind: Key,
),
quality: Epic,
tags: [Utility],
)

View File

@ -0,0 +1,13 @@
ItemDef(
legacy_name: "Terracotta Armor",
legacy_description: "Worn by terracotta enemies.",
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(50.0)),
poise_resilience: Some(Normal(20.0)),
)),
)),
quality: Epic,
tags: [],
)

View File

@ -0,0 +1,13 @@
ItemDef(
legacy_name: "Jiangshi Chest",
legacy_description: "Jiangshi Chest",
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(10.0)),
precision_power: Some(0.06),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,15 @@
ItemDef(
legacy_name: "Jiangshi Foot",
legacy_description: "Jiangshi Foot.",
kind: Armor((
kind: Foot,
stats: Direct((
protection: Some(Normal(4.0)),
energy_max: Some(1.8),
energy_reward: Some(0.018),
precision_power: Some(0.016),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,13 @@
ItemDef(
legacy_name: "Jiangshi Hand",
legacy_description: "Jiangshi Hand",
kind: Armor((
kind: Hand,
stats: Direct((
protection: Some(Normal(5.0)),
precision_power: Some(0.016),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,13 @@
ItemDef(
legacy_name: "Jiangshi Head",
legacy_description: "Jiangshi Head",
kind: Armor((
kind: Head,
stats: Direct((
protection: Some(Normal(8.0)),
precision_power: Some(0.032),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,13 @@
ItemDef(
legacy_name: "Jiangshi Pants",
legacy_description: "Jiangshi Pants",
kind: Armor((
kind: Pants,
stats: Direct((
protection: Some(Normal(6.0)),
precision_power: Some(0.032),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
legacy_name: "Shamanic Spirit Chest",
legacy_description: "Shamanic Spirit Chest",
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(16.0)),
poise_resilience: Some(Normal(3.0)),
precision_power: Some(0.06),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
legacy_name: "Shamanic Spirit Hand",
legacy_description: "Shamanic Spirit Hand",
kind: Armor((
kind: Hand,
stats: Direct((
protection: Some(Normal(6.0)),
poise_resilience: Some(Normal(3.0)),
precision_power: Some(0.016),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
legacy_name: "Shamanic Spirit Head",
legacy_description: "Shamanic Spirit Head",
kind: Armor((
kind: Head,
stats: Direct((
protection: Some(Normal(9.0)),
poise_resilience: Some(Normal(3.0)),
precision_power: Some(0.032),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,14 @@
ItemDef(
legacy_name: "Shamanic Spirit Pants",
legacy_description: "Shamanic Spirit Pants",
kind: Armor((
kind: Pants,
stats: Direct((
protection: Some(Normal(9.0)),
poise_resilience: Some(Normal(3.0)),
precision_power: Some(0.032),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,13 @@
ItemDef(
legacy_name: "Mogwai Armor",
legacy_description: "Worn by mogwai.",
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(80.0)),
poise_resilience: Some(Normal(5.0)),
)),
)),
quality: Legendary,
tags: [],
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Terracotta Besieger Bow",
legacy_description: "",
kind: Tool((
kind: Bow,
hands: Two,
stats: (
equip_time_secs: 0.0,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Moderate,
tags: [],
ability_spec: Some(Custom("TerracottaBesieger")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Terracotta Punisher Club",
legacy_description: "",
kind: Tool((
kind: Hammer,
hands: Two,
stats: (
equip_time_secs: 0.5,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Hammer Simple")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Terracotta Pursuer Sword",
legacy_description: "",
kind: Tool((
kind: Sword,
hands: One,
stats: (
equip_time_secs: 0.5,
power: 1.5,
effect_power: 1.0,
speed: 0.75,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("TerracottaPursuer")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Cursekeeper Sceptre",
legacy_description: "All kinds of evil.",
kind: Tool((
kind: Sceptre,
hands: Two,
stats: (
equip_time_secs: 0.4,
power: 1.0,
effect_power: 0.8,
speed: 1.0,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Epic,
tags: [],
ability_spec: Some(Custom("Cursekeeper")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Cursekeeper Sceptre",
legacy_description: "All kinds of evil.",
kind: Tool((
kind: Sceptre,
hands: Two,
stats: (
equip_time_secs: 0.4,
power: 1.0,
effect_power: 0.8,
speed: 1.0,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Epic,
tags: [],
ability_spec: Some(Custom("CursekeeperFake")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Jiangshi",
legacy_description: "testing123",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Jiangshi")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Mogwai Eye",
legacy_description: "Yeet.",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.001,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Mogwai")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Shamanic Spirit",
legacy_description: "testing123",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("ShamanicSpirit")),
)

View File

@ -0,0 +1,20 @@
ItemDef(
legacy_name: "Terracotta Demolisher Fist",
legacy_description: "",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.5,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Moderate,
tags: [],
ability_spec: Some(Custom("TerracottaDemolisher")),
)

View File

@ -0,0 +1,21 @@
ItemDef(
legacy_name: "Terracotta Statue",
legacy_description: "Terracotta Statue",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.0,
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: Common,
tags: [],
ability_spec: Some(Custom("TerracottaStatue")),
)

View File

@ -16,5 +16,5 @@ ItemDef(
)), )),
quality: Legendary, quality: Legendary,
tags: [Utility], tags: [Utility],
ability_spec: Some(Custom("Steeldrum")), ability_spec: Some(Custom("Steeltonguedrum")),
) )

View File

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

View File

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

View File

@ -0,0 +1,4 @@
[
// Key
(1.0, Item("common.items.keys.terracotta_key_door")),
]

View File

@ -0,0 +1,7 @@
[
(1, All([
Item("common.items.keys.terracotta_key_door"),
LootTable("common.loot_tables.dungeon.terracotta.cursekeeper_extra"),
],
)),
]

View File

@ -0,0 +1,8 @@
[
// Weapons
(3.0, LootTable("common.loot_tables.weapons.tier-5")),
// Armor
(3.0, LootTable("common.loot_tables.armor.tier-5")),
// Misc
(0.25, Item("common.items.tool.instruments.steeltonguedrum")),
]

View File

@ -0,0 +1,6 @@
[
// Consumables
(1.0, MultiDrop(Item("common.items.consumable.potion_minor"), 2, 5)),
// Nothing
(2.0, Nothing),
]

View File

@ -0,0 +1,6 @@
[
// Key
(1.0, Item("common.items.keys.terracotta_key_chest")),
// Nothing
(5.0, Nothing),
]

View File

@ -989,6 +989,26 @@
haniwa_general: ( haniwa_general: (
keyword: "haniwa_general", keyword: "haniwa_general",
generic: "Haniwa General" generic: "Haniwa General"
),
terracotta_besieger: (
keyword: "terracotta_besieger",
generic: "Terracotta Besieger"
),
terracotta_demolisher: (
keyword: "terracotta_demolisher",
generic: "Terracotta Demolisher"
),
terracotta_punisher: (
keyword: "terracotta_punisher",
generic: "Terracotta Punisher"
),
terracotta_pursuer: (
keyword: "terracotta_pursuer",
generic: "Terracotta Pursuer"
),
cursekeeper: (
keyword: "cursekeeper",
generic: "Cursekeeper"
) )
) )
), ),
@ -1024,6 +1044,10 @@
keyword: "ancienteffigy", keyword: "ancienteffigy",
generic: "Ancient Effigy" generic: "Ancient Effigy"
), ),
mogwai: (
keyword: "mogwai",
generic: "Mogwai"
),
coralgolem: ( coralgolem: (
keyword: "coralgolem", keyword: "coralgolem",
generic: "Coral Golem" generic: "Coral Golem"
@ -1189,6 +1213,14 @@
keyword: "irrwurz", keyword: "irrwurz",
generic: "Irrwurz", generic: "Irrwurz",
), ),
shamanic_spirit: (
keyword: "shamanic_spirit",
generic: "Shamanic Spirit",
),
jiangshi: (
keyword: "jiangshi",
generic: "Jiangshi",
),
) )
), ),
fish_small: ( fish_small: (

View File

@ -412,7 +412,7 @@
(Item("common.items.tool.instruments.sitar"),1), (Item("common.items.tool.instruments.sitar"),1),
(Item("common.items.tool.instruments.washboard"),1), (Item("common.items.tool.instruments.washboard"),1),
(Item("common.items.tool.instruments.wildskin_drum"),1), (Item("common.items.tool.instruments.wildskin_drum"),1),
(Item("common.items.tool.instruments.steeldrum"),1), (Item("common.items.tool.instruments.steeltonguedrum"),1),
(Item("common.items.tool.instruments.shamisen"),1), (Item("common.items.tool.instruments.shamisen"),1),
], ],
}) })

View File

@ -760,26 +760,25 @@
threshold: 0.5, threshold: 0.5,
subtitle: "subtitle-instrument_lute", subtitle: "subtitle-instrument_lute",
), ),
Music(Instrument, Custom("Steeldrum")): ( Music(Instrument, Custom("Steeltonguedrum")): (
files: [ files: [
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_eg", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_eg",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_ec1g", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_e",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_e", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_d1c1",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_d1c1", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_d1",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_d1", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_d",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_d", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_ce",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_ce", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_c1ag",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_c1ag", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_c1ae",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_c1ae", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_c1",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_c1", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_c",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_c", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_ac1",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_ac1", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_a",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_a", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_c1c1",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_c1c1", "voxygen.audio.sfx.instrument.steeltonguedrum.steeltonguedrum_g",
"voxygen.audio.sfx.instrument.steeldrum.steeldrum_g",
], ],
threshold: 0.5, threshold: 0.5,
subtitle: "subtitle-instrument_steeldrum", subtitle: "subtitle-instrument_steeltonguedrum",
), ),
Music(Instrument, Custom("Shamisen")): ( Music(Instrument, Custom("Shamisen")): (
files: [ files: [

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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