merge from master

This commit is contained in:
Ben Wallis 2021-06-14 21:31:28 +01:00
commit 82baa409bb
1396 changed files with 15313 additions and 6478 deletions

1
.gitignore vendored
View File

@ -26,6 +26,7 @@ target
# Veloren # Veloren
*.rar *.rar
*.log *.log
assets/tweak/
settings.ron settings.ron
server_settings.ron server_settings.ron
run.sh run.sh

View File

@ -9,7 +9,7 @@ unittests:
- rm -r target/debug/incremental/veloren_* || echo "all good" # TMP FIX FOR 2021-03-22-nightly - rm -r target/debug/incremental/veloren_* || echo "all good" # TMP FIX FOR 2021-03-22-nightly
- cargo test --package veloren-i18n --lib test_all_localizations -- --nocapture --ignored - cargo test --package veloren-i18n --lib test_all_localizations -- --nocapture --ignored
- rm -r target/debug/incremental* || echo "all good" # TMP FIX FOR 2021-03-22-nightly - rm -r target/debug/incremental* || echo "all good" # TMP FIX FOR 2021-03-22-nightly
- cargo test - cargo test --features asset_tweak
retry: retry:
max: 2 max: 2

View File

@ -6,7 +6,7 @@ code-quality:
script: script:
- ln -s /dockercache/target target - ln -s /dockercache/target target
- rm -r target/debug/incremental/* || echo "all good" # TMP FIX FOR 2021-03-22-nightly - rm -r target/debug/incremental/* || echo "all good" # TMP FIX FOR 2021-03-22-nightly
- cargo clippy --all-targets --locked -- -D warnings - cargo clippy --all-targets --locked --features="bin_csv,bin_graphviz,bin_bot,asset_tweak" -- -D warnings
- cargo fmt --all -- --check - cargo fmt --all -- --check
security: security:

View File

@ -9,6 +9,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added ### Added
### Changed
### Removed
### Fixed
## [0.10.0] - 2021-06-12
### Added
- New Skills for Climbing: Climbing Speed and Climbing Cost - New Skills for Climbing: Climbing Speed and Climbing Cost
- Pickaxes (can be used to collect gems and mine weak rock) - Pickaxes (can be used to collect gems and mine weak rock)
- You can now jump out of rolls for a slight jump boost - You can now jump out of rolls for a slight jump boost
@ -67,6 +77,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add chest to each dungeon with unique loot - Add chest to each dungeon with unique loot
- Added a new option in the graphics menu to enable GPU timing (not always supported). The timing values can be viewed in the HUD debug info (F3) and will be saved as chrome trace files in the working directory when taking a screenshot. - Added a new option in the graphics menu to enable GPU timing (not always supported). The timing values can be viewed in the HUD debug info (F3) and will be saved as chrome trace files in the working directory when taking a screenshot.
- Added new Present Mode option in the graphics menu. Selecting Fifo (i.e. vsync) or Mailbox can be used to eliminate screen tearing. - Added new Present Mode option in the graphics menu. Selecting Fifo (i.e. vsync) or Mailbox can be used to eliminate screen tearing.
- Quality color indicators next to recipe names in crafting menu
- New cave visuals: Ridges, pits, new sprites, colors
- Veins in caves to dig through to uncover ore
- Armor material system with 6 armor sets each in hide, mail and cloth categories
- New armor stats including max energy, energy reward, critical hit damage
- Meat drops from animals
- New ores, plants and hides to be looted from the world and processed into craft ingredients
- Added more crafting stations, loom, spinning wheel, tanning rack, forge
### Changed ### Changed
@ -120,6 +138,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Optimized rendering of quads (most of the graphics in the game) using an index buffer, decreasing the number of vertices that need to be processed by 33%. - Optimized rendering of quads (most of the graphics in the game) using an index buffer, decreasing the number of vertices that need to be processed by 33%.
- Moved the rest of screenshot work into the background. Screenshoting no longer induces large pauses. - Moved the rest of screenshot work into the background. Screenshoting no longer induces large pauses.
- Reworked tidal warrior to have unique attacks - Reworked tidal warrior to have unique attacks
- Reworked yeti to have unique attacks
- Widened recipe name list in crafting menu
- Reworked animal loot tables
- NPC hitboxes better fit their model.
### Removed ### Removed
@ -127,6 +149,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Gravity component has been removed - Gravity component has been removed
- In-air movement has been removed - In-air movement has been removed
- Energy cost of deploying the glider has been removed - Energy cost of deploying the glider has been removed
- Removed steel and cultist loot tables
### Fixed ### Fixed
@ -152,6 +175,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed an issue where prices weren't properly making their way from econsim to the actual trade values. - Fixed an issue where prices weren't properly making their way from econsim to the actual trade values.
- Fixed entities with voxel colliders being off by one physics tick for collision. - Fixed entities with voxel colliders being off by one physics tick for collision.
- Airships no longer oscillate dramatically into the sky due to mistaking velocity for acceleration. - Airships no longer oscillate dramatically into the sky due to mistaking velocity for acceleration.
- The login and character selection screens no longer cause high GPU usage when the framerate limit is set to Unlimited.
## [0.9.0] - 2021-03-20 ## [0.9.0] - 2021-03-20
@ -713,7 +737,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
_0.1.0 was part of the legacy engine_ _0.1.0 was part of the legacy engine_
[unreleased]: https://gitlab.com/veloren/veloren/compare?from=v0.9.0&to=master [unreleased]: https://gitlab.com/veloren/veloren/compare?from=v0.10.0&to=master
[0.9.0]: https://gitlab.com/veloren/veloren/compare?from=v0.9.0&to=v0.10.0
[0.9.0]: https://gitlab.com/veloren/veloren/compare?from=v0.8.0&to=v0.9.0 [0.9.0]: https://gitlab.com/veloren/veloren/compare?from=v0.8.0&to=v0.9.0
[0.8.0]: https://gitlab.com/veloren/veloren/compare?from=v0.7.0&to=v0.8.0 [0.8.0]: https://gitlab.com/veloren/veloren/compare?from=v0.7.0&to=v0.8.0
[0.7.0]: https://gitlab.com/veloren/veloren/compare?from=v0.6.0&to=v0.7.0 [0.7.0]: https://gitlab.com/veloren/veloren/compare?from=v0.6.0&to=v0.7.0

843
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -122,6 +122,7 @@ winit = { git = "https://gitlab.com/veloren/winit.git", branch = "macos-test-spi
vek = { git = "https://gitlab.com/veloren/vek.git", branch = "fix_intrinsics2" } vek = { git = "https://gitlab.com/veloren/vek.git", branch = "fix_intrinsics2" }
# patch wgpu so we can use wgpu-profiler crate # patch wgpu so we can use wgpu-profiler crate
wgpu = { git = "https://github.com/gfx-rs/wgpu-rs.git", rev = "7486bdad64bb5d17b709ecccb41e063469efff88" } wgpu = { git = "https://github.com/gfx-rs/wgpu-rs.git", rev = "7486bdad64bb5d17b709ecccb41e063469efff88" }
# # use the latest fixes in naga (remove when updates trickle down to wgpu-rs) # # use the latest fixes in naga (remove when updates trickle down to wgpu-rs)
# naga = { git = "https://github.com/gfx-rs/naga.git", rev = "3a0f0144112ff621dd7f731bf455adf6cab19164" } # naga = { git = "https://github.com/gfx-rs/naga.git", rev = "3a0f0144112ff621dd7f731bf455adf6cab19164" }
# # use the latest fixes in gfx (remove when updates trickle down to wgpu-rs) # # use the latest fixes in gfx (remove when updates trickle down to wgpu-rs)

View File

@ -148,6 +148,11 @@
secondary: "common.abilities.custom.quadmedbasic.triplestrike", secondary: "common.abilities.custom.quadmedbasic.triplestrike",
abilities: [], abilities: [],
), ),
Custom("Basilisk"): (
primary: "common.abilities.custom.basilisk.singlestrike",
secondary: "common.abilities.custom.basilisk.triplestrike",
abilities: [],
),
Custom("Quad Low Ranged"): ( Custom("Quad Low Ranged"): (
primary: "common.abilities.custom.quadlowranged.singlestrike", primary: "common.abilities.custom.quadlowranged.singlestrike",
secondary: "common.abilities.custom.quadlowranged.firebomb", secondary: "common.abilities.custom.quadlowranged.firebomb",
@ -237,6 +242,14 @@
(None, "common.abilities.custom.claygolem.rocket"), (None, "common.abilities.custom.claygolem.rocket"),
], ],
), ),
Custom("Yeti"): (
primary: "common.abilities.custom.yeti.strike",
secondary: "common.abilities.custom.yeti.icespikes",
abilities: [
(None, "common.abilities.custom.yeti.frostbreath"),
(None, "common.abilities.custom.yeti.snowball"),
],
),
Custom("Bird Large Breathe"): ( Custom("Bird Large Breathe"): (
primary: "common.abilities.custom.birdlargebreathe.firebomb", primary: "common.abilities.custom.birdlargebreathe.firebomb",
secondary: "common.abilities.custom.birdlargebreathe.triplestrike", secondary: "common.abilities.custom.birdlargebreathe.triplestrike",

View File

@ -1,15 +1,15 @@
ChargedRanged( ChargedRanged(
energy_cost: 0, energy_cost: 0,
energy_drain: 0, energy_drain: 0,
initial_regen: 20, initial_regen: 5,
scaled_regen: 120, scaled_regen: 120,
initial_damage: 20, initial_damage: 5,
scaled_damage: 100, scaled_damage: 120,
initial_knockback: 0.0, initial_knockback: 0.0,
scaled_knockback: 10.0, scaled_knockback: 10.0,
speed: 1.0, speed: 1.0,
buildup_duration: 0.2, buildup_duration: 0.2,
charge_duration: 1.2, charge_duration: 1.0,
recover_duration: 0.3, recover_duration: 0.3,
projectile_body: Object(Arrow), projectile_body: Object(Arrow),
projectile_light: None, projectile_light: None,

View File

@ -0,0 +1,27 @@
ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 130,
damage_increase: 0,
base_poise_damage: 28,
poise_damage_increase: 0,
knockback: 3.0,
range: 3.0,
angle: 60.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.07,
base_recover_duration: 0.4,
forward_movement: 3.0,
damage_kind: Crushing,
),
],
initial_energy_gain: 0,
max_energy_gain: 0,
energy_increase: 0,
speed_increase: 0.0,
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.6,
)

View File

@ -0,0 +1,57 @@
ComboMelee(
stage_data: [
(
stage: 1,
base_damage: 100,
damage_increase: 0,
base_poise_damage: 15,
poise_damage_increase: 0,
knockback: 7.0,
range: 2.8,
angle: 30.0,
base_buildup_duration: 0.65,
base_swing_duration: 0.07,
base_recover_duration: 0.3,
forward_movement: 2.0,
damage_kind: Crushing,
),
(
stage: 2,
base_damage: 100,
damage_increase: 0,
base_poise_damage: 18,
poise_damage_increase: 0,
knockback: 7.0,
range: 2.8,
angle: 30.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.07,
base_recover_duration: 0.3,
forward_movement: 1.5,
damage_kind: Crushing,
),
(
stage: 3,
base_damage: 100,
damage_increase: 0,
base_poise_damage: 20,
poise_damage_increase: 0,
knockback: 7.0,
range: 2.8,
angle: 30.0,
base_buildup_duration: 0.4,
base_swing_duration: 0.07,
base_recover_duration: 0.3,
forward_movement: 1.5,
damage_kind: Crushing,
),
],
initial_energy_gain: 0,
max_energy_gain: 0,
energy_increase: 0,
speed_increase: 0.0,
max_speed_increase: 0.0,
scales_from_combo: 0,
is_interruptible: false,
ori_modifier: 0.65,
)

View File

@ -13,7 +13,7 @@ DashMelee(
buildup_duration: 0.5, buildup_duration: 0.5,
charge_duration: 1.0, charge_duration: 1.0,
swing_duration: 0.1, swing_duration: 0.1,
recover_duration: 0.8, recover_duration: 1.0,
charge_through: true, charge_through: true,
is_interruptible: false, is_interruptible: false,
damage_kind: Crushing, damage_kind: Crushing,

View File

@ -13,7 +13,7 @@ DashMelee(
buildup_duration: 0.5, buildup_duration: 0.5,
charge_duration: 0.8, charge_duration: 0.8,
swing_duration: 0.1, swing_duration: 0.1,
recover_duration: 0.5, recover_duration: 1.0,
charge_through: true, charge_through: true,
is_interruptible: false, is_interruptible: false,
damage_kind: Crushing, damage_kind: Crushing,

View File

@ -13,7 +13,7 @@ DashMelee(
buildup_duration: 1.2, buildup_duration: 1.2,
charge_duration: 1.0, charge_duration: 1.0,
swing_duration: 0.1, swing_duration: 0.1,
recover_duration: 0.5, recover_duration: 1.0,
charge_through: true, charge_through: true,
is_interruptible: false, is_interruptible: false,
damage_kind: Crushing, damage_kind: Crushing,

View File

@ -2,14 +2,14 @@ BasicBeam(
buildup_duration: 0.5, buildup_duration: 0.5,
recover_duration: 0.5, recover_duration: 0.5,
beam_duration: 2.5, beam_duration: 2.5,
damage: 100, damage: 50,
tick_rate: 2.0, tick_rate: 2.0,
range: 25.0, range: 25.0,
max_angle: 15.0, max_angle: 15.0,
damage_effect: Some(Buff(( damage_effect: Some(Buff((
kind: Wet, kind: Wet,
dur_secs: 15.0, dur_secs: 5.0,
strength: Value(4.5), strength: Value(2.5),
chance: 1.0, chance: 1.0,
))), ))),
energy_regen: 0, energy_regen: 0,

View File

@ -1,11 +1,11 @@
Shockwave( Shockwave(
energy_cost: 0, energy_cost: 0,
buildup_duration: 1.4, buildup_duration: 0.4,
swing_duration: 0.1, swing_duration: 0.1,
recover_duration: 0.5, recover_duration: 3.5,
damage: 10, damage: 10,
poise_damage: 0, poise_damage: 0,
knockback: ( strength: 100.0, direction: Up), knockback: ( strength: 25.0, direction: Away),
shockwave_angle: 360.0, shockwave_angle: 360.0,
shockwave_vertical_angle: 30.0, shockwave_vertical_angle: 30.0,
shockwave_speed: 10.0, shockwave_speed: 10.0,

View File

@ -0,0 +1,19 @@
BasicBeam(
buildup_duration: 0.4,
recover_duration: 0.25,
beam_duration: 0.25,
damage: 50,
tick_rate: 1.0,
range: 15.0,
max_angle: 30.0,
damage_effect: Some(Buff((
kind: Frozen,
dur_secs: 3.0,
strength: Value(1.5),
chance: 1.0,
))),
energy_regen: 0,
energy_drain: 0,
orientation_behavior: Normal,
specifier: Frost,
)

View File

@ -0,0 +1,17 @@
Shockwave(
energy_cost: 0,
buildup_duration: 0.6,
swing_duration: 0.12,
recover_duration: 0.3,
damage: 100,
poise_damage: 10,
knockback: (strength: 25.0, direction: Up),
shockwave_angle: 90.0,
shockwave_vertical_angle: 15.0,
shockwave_speed: 50.0,
shockwave_duration: 0.5,
requires_ground: true,
move_efficiency: 0.5,
damage_kind: Piercing,
specifier: IceSpikes,
)

View File

@ -0,0 +1,13 @@
BasicRanged(
energy_cost: 0,
buildup_duration: 0.5,
recover_duration: 0.4,
projectile: Snowball(
damage: 200.0,
radius: 5.0,
),
projectile_body: Object(Snowball),
projectile_speed: 60.0,
num_projectiles: 1,
projectile_spread: 0.0,
)

View File

@ -0,0 +1,13 @@
BasicMelee(
energy_cost: 0,
buildup_duration: 0.6,
swing_duration: 0.1,
recover_duration: 0.5,
base_damage: 100,
base_poise_damage: 50,
knockback: ( strength: 40.0, direction: Away),
range: 4.0,
max_angle: 20.0,
damage_effect: None,
damage_kind: Crushing,
)

View File

@ -1,12 +1,12 @@
BasicMelee( BasicMelee(
energy_cost: 0, energy_cost: 0,
buildup_duration: 0.6, buildup_duration: 0.25,
swing_duration: 0.1, swing_duration: 0.05,
recover_duration: 0.15, recover_duration: 0.075,
base_damage: 50, base_damage: 50,
base_poise_damage: 0, base_poise_damage: 0,
knockback: ( strength: 0.0, direction: Away), knockback: ( strength: 0.0, direction: Away),
range: 3.5, range: 4.5,
max_angle: 20.0, max_angle: 20.0,
damage_effect: None, damage_effect: None,
damage_kind: Piercing, damage_kind: Piercing,

View File

@ -1,9 +1,9 @@
DashMelee( DashMelee(
energy_cost: 100, energy_cost: 100,
base_damage: 60, base_damage: 10,
scaled_damage: 100, scaled_damage: 80,
base_poise_damage: 45, base_poise_damage: 0,
scaled_poise_damage: 0, scaled_poise_damage: 25,
base_knockback: 8.0, base_knockback: 8.0,
scaled_knockback: 7.0, scaled_knockback: 7.0,
range: 3.0, range: 3.0,
@ -13,7 +13,7 @@ DashMelee(
buildup_duration: 0.5, buildup_duration: 0.5,
charge_duration: 1.0, charge_duration: 1.0,
swing_duration: 0.1, swing_duration: 0.1,
recover_duration: 0.5, recover_duration: 0.8,
charge_through: true, charge_through: true,
is_interruptible: true, is_interruptible: true,
damage_kind: Piercing, damage_kind: Piercing,

View File

@ -5,7 +5,7 @@ BasicRanged(
projectile: Fireball( projectile: Fireball(
damage: 90.0, damage: 90.0,
radius: 4.0, radius: 4.0,
energy_regen: 50, energy_regen: 60,
), ),
projectile_body: Object(BoltFire), projectile_body: Object(BoltFire),
projectile_speed: 60.0, projectile_speed: 60.0,

View File

@ -1,15 +0,0 @@
[
(10, Velorite),
(15, VeloriteFrag),
(110, Stones),
(150, ShortGrass),
(120, CaveMushroom),
(30, AmethystSmall),
(30, TopazSmall),
(16, SapphireSmall),
(12, EmeraldSmall),
(8, RubySmall),
(4, DiamondSmall),
(5, Chest),
(15, Crate),
]

View File

@ -0,0 +1,3 @@
[
(1, Orb),
]

View File

@ -0,0 +1,10 @@
[
(20, Velorite),
(30, VeloriteFrag),
(5, CaveMushroom),
(16, SapphireSmall),
(12, EmeraldSmall),
(15, Cobalt),
(40, Coal),
(10, RubySmall),
]

View File

@ -0,0 +1,6 @@
[
(10, CeilingMushroom),
(6, Liana),
(7, CrystalHigh),
]

View File

@ -0,0 +1,15 @@
[
(30, Velorite),
(40, VeloriteFrag),
(10, CaveMushroom),
(30, Mushroom),
(10, AmethystSmall),
(10, TopazSmall),
(16, SapphireSmall),
(60, CrystalLow),
(12, EmeraldSmall),
(5, Cobalt),
(40, Coal),
(70, Iron),
(10, RubySmall),
]

View File

@ -0,0 +1,4 @@
[
(3, Liana),
(1, CeilingMushroom),
]

View File

@ -0,0 +1,13 @@
[
(110, Stones),
(150, ShortGrass),
(50, CaveMushroom),
(50, Mushroom),
(30, AmethystSmall),
(15, TopazSmall),
(15, Tin),
(12, Copper),
(15, Iron),
(5, Chest),
(15, Crate),
]

View File

@ -0,0 +1,9 @@
[
(10, Velorite),
(10, VeloriteFrag),
(15, Cobalt),
(10, Bloodstone),
(15, Silver),
(10, Gold),
(8, DiamondSmall),
]

View File

@ -14,15 +14,9 @@ loot_tables: [
(0.04, false, "common.loot_tables.weapons.legendary"), (0.04, false, "common.loot_tables.weapons.legendary"),
// Armor // Armor
(20.0, true, "common.loot_tables.armor.cloth"), (20.0, true, "common.loot_tables.armor.cloth"),
(6.0, true, "common.loot_tables.armor.agile"),
(3.0, true, "common.loot_tables.armor.swift"),
(6.0, true, "common.loot_tables.armor.druid"),
(1.0, true, "common.loot_tables.armor.twigs"), (1.0, true, "common.loot_tables.armor.twigs"),
(1.0, true, "common.loot_tables.armor.twigsflowers"), (1.0, true, "common.loot_tables.armor.twigsflowers"),
(1.0, true, "common.loot_tables.armor.twigsleaves"), (1.0, true, "common.loot_tables.armor.twigsleaves"),
(0.5, true, "common.loot_tables.armor.plate"),
(0.25, false, "common.loot_tables.armor.steel"),
(0.075, false, "common.loot_tables.armor.cultist"),
// Materials // Materials
(7.5, true, "common.loot_tables.materials.common"), (7.5, true, "common.loot_tables.materials.common"),
(8.0, true, "common.loot_tables.materials.underground"), (8.0, true, "common.loot_tables.materials.underground"),
@ -30,9 +24,12 @@ loot_tables: [
(0.3, true, "common.loot_tables.food.farm_ingredients"), (0.3, true, "common.loot_tables.food.farm_ingredients"),
(0.4, true, "common.loot_tables.food.wild_ingredients"), (0.4, true, "common.loot_tables.food.wild_ingredients"),
(0.2, true, "common.loot_tables.food.prepared"), (0.2, true, "common.loot_tables.food.prepared"),
// TODO: Change consumables and split them up // Potions
(1.0, true, "common.loot_tables.consumable.default"), (0.2, true, "common.loot_tables.consumable.potion"),
(0.5, false, "common.loot_tables.trading"), // Misc
(0.1, true, "common.loot_tables.consumable.throwable"),
(0.7, true, "common.loot_tables.consumable.misc"),
(1.0, false, "common.loot_tables.trading"),
], ],
// this is the amount of that good the most common item represents // this is the amount of that good the most common item represents
// so basically this table balances the goods against each other (higher=less valuable) // so basically this table balances the goods against each other (higher=less valuable)

View File

@ -1,13 +0,0 @@
ItemDef(
name: "Agile Cape",
description: "\'Tightly packed pieces of leather to endure all weather.\'",
kind: Armor((
kind: Back("Agile"),
stats: (
protection: Normal(0.2),
poise_resilience: Normal(0.1),
),
)),
quality: Common,
tags: [LeatherItem],
)

View File

@ -1,13 +0,0 @@
ItemDef(
name: "Agile Belt",
description: "\'Tightly packed pieces of leather to endure all weather.\'",
kind: Armor((
kind: Belt("Agile"),
stats: (
protection: Normal(1.0),
poise_resilience: Normal(1.0),
),
)),
quality: Moderate,
tags: [LeatherItem],
)

View File

@ -1,13 +0,0 @@
ItemDef(
name: "Agile Chest",
description: "Tightly packed pieces of leather to endure all weather.",
kind: Armor((
kind: Chest("Agile"),
stats: (
protection: Normal(8.0),
poise_resilience: Normal(1.0),
),
)),
quality: Moderate,
tags: [LeatherItem],
)

View File

@ -1,13 +0,0 @@
ItemDef(
name: "Agile Kickers",
description: "\'Tightly packed pieces of leather to endure all weather.",
kind: Armor((
kind: Foot("Agile"),
stats: (
protection: Normal(2.0),
poise_resilience: Normal(1.0),
),
)),
quality: Moderate,
tags: [LeatherItem],
)

View File

@ -1,13 +0,0 @@
ItemDef(
name: "Agile Gauntlets",
description: "\'Tightly packed pieces of leather to endure all weather.\'",
kind: Armor((
kind: Hand("Agile"),
stats: (
protection: Normal(4.0),
poise_resilience: Normal(1.0),
),
)),
quality: Moderate,
tags: [LeatherItem],
)

View File

@ -1,13 +0,0 @@
ItemDef(
name: "Agile Pantalons",
description: "\'Tightly packed pieces of leather to endure all weather.\'",
kind: Armor((
kind: Pants("Agile"),
stats: (
protection: Normal(6.0),
poise_resilience: Normal(1.0),
),
)),
quality: Moderate,
tags: [LeatherItem],
)

View File

@ -1,13 +0,0 @@
ItemDef(
name: "Agile Guards",
description: "Tightly packed pieces of leather to endure all weather.",
kind: Armor((
kind: Shoulder("Agile"),
stats: (
protection: Normal(8.0),
poise_resilience: Normal(1.0),
),
)),
quality: Moderate,
tags: [LeatherItem],
)

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Belt("Assassin"), kind: Belt("Assassin"),
stats: ( stats: (
protection: Normal(2.0), protection: Normal(2.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Moderate, quality: Moderate,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Chest("Assassin"), kind: Chest("Assassin"),
stats: ( stats: (
protection: Normal(15.0), protection: Normal(15.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Moderate, quality: Moderate,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Foot("Assassin"), kind: Foot("Assassin"),
stats: ( stats: (
protection: Normal(4.0), protection: Normal(4.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Moderate, quality: Moderate,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Hand("Assassin"), kind: Hand("Assassin"),
stats: ( stats: (
protection: Normal(6.0), protection: Normal(6.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Moderate, quality: Moderate,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -6,8 +6,14 @@ ItemDef(
stats: ( stats: (
protection: Normal(0.0), protection: Normal(0.0),
poise_resilience: Normal(0.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Moderate, quality: Moderate,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -6,8 +6,14 @@ ItemDef(
stats: ( stats: (
protection: Normal(10.0), protection: Normal(10.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(1.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Moderate, quality: Moderate,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Shoulder("Assassin"), kind: Shoulder("Assassin"),
stats: ( stats: (
protection: Normal(8.0), protection: Normal(8.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Moderate, quality: Moderate,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Belt("Bonerattler"), kind: Belt("Bonerattler"),
stats: ( stats: (
protection: Normal(3.0), protection: Normal(3.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: High, quality: High,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Chest("Bonerattler"), kind: Chest("Bonerattler"),
stats: ( stats: (
protection: Normal(25.0), protection: Normal(25.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: High, quality: High,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Foot("Bonerattler"), kind: Foot("Bonerattler"),
stats: ( stats: (
protection: Normal(5.0), protection: Normal(5.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: High, quality: High,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Hand("Bonerattler"), kind: Hand("Bonerattler"),
stats: ( stats: (
protection: Normal(10.0), protection: Normal(10.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: High, quality: High,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -1,13 +1,19 @@
ItemDef( ItemDef(
name: "Bonerattler Chausses", name: "Bonerattler Chausses",
description: "Assorted bones and hide from a bonerattler provide protection around the wearer\'s legs.", description: "Assorted bones and hide from a bonerattler provide protection around the wearer's legs.",
kind: Armor(( kind: Armor((
kind: Pants("Bonerattler"), kind: Pants("Bonerattler"),
stats: ( stats: (
protection: Normal(20.0), protection: Normal(20.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: High, quality: High,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Shoulder("Bonerattler"), kind: Shoulder("Bonerattler"),
stats: ( stats: (
protection: Normal(15.0), protection: Normal(15.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: High, quality: High,
tags: [], tags: [
Material(Leather),
],
) )

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Druid Cape",
description: "Incredibly light, with the essence of nature.",
kind: Armor((
kind: Back("Druid"),
stats: (
protection: Normal(3.0),
poise_resilience: Normal(0.0),
energy_max: 33,
energy_reward: 0.034,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: High,
tags: [
Material(Lifecloth),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Druid Sash",
description: "Incredibly light, with the essence of nature.",
kind: Armor((
kind: Belt("Druid"),
stats: (
protection: Normal(3.0),
poise_resilience: Normal(0.0),
energy_max: 33,
energy_reward: 0.034,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: High,
tags: [
Material(Lifecloth),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Druid Chestguard",
description: "Incredibly light, with the essence of nature.",
kind: Armor((
kind: Chest("Druid"),
stats: (
protection: Normal(18.0),
poise_resilience: Normal(0.0),
energy_max: 198,
energy_reward: 0.2,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: High,
tags: [
Material(Lifecloth),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Druid Kickers",
description: "Incredibly light, with the essence of nature.",
kind: Armor((
kind: Foot("Druid"),
stats: (
protection: Normal(6.0),
poise_resilience: Normal(0.0),
energy_max: 66,
energy_reward: 0.067,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: High,
tags: [
Material(Lifecloth),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Druid Handwraps",
description: "Incredibly light, with the essence of nature.",
kind: Armor((
kind: Hand("Druid"),
stats: (
protection: Normal(6.0),
poise_resilience: Normal(0.0),
energy_max: 66,
energy_reward: 0.067,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: High,
tags: [
Material(Lifecloth),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Druid Leggings",
description: "Incredibly light, with the essence of nature.",
kind: Armor((
kind: Pants("Druid"),
stats: (
protection: Normal(12.0),
poise_resilience: Normal(0.0),
energy_max: 132,
energy_reward: 0.134,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: High,
tags: [
Material(Lifecloth),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Druid Shoulderpads",
description: "Incredibly light, with the essence of nature.",
kind: Armor((
kind: Shoulder("Druid"),
stats: (
protection: Normal(12.0),
poise_resilience: Normal(0.0),
energy_max: 132,
energy_reward: 0.134,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: High,
tags: [
Material(Lifecloth),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Linen Shawl",
description: "Roughly stitched, but it seems to hold.",
kind: Armor((
kind: Back("Linen"),
stats: (
protection: Normal(1.0),
poise_resilience: Normal(0.0),
energy_max: 8,
energy_reward: 0.009,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Low,
tags: [
Material(Linen),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Linen Sash",
description: "Roughly stitched, but it seems to hold.",
kind: Armor((
kind: Belt("Linen"),
stats: (
protection: Normal(1.0),
poise_resilience: Normal(0.0),
energy_max: 8,
energy_reward: 0.009,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Low,
tags: [
Material(Linen),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Linen Vest",
description: "Roughly stitched, but it seems to hold.",
kind: Armor((
kind: Chest("Linen"),
stats: (
protection: Normal(5.0),
poise_resilience: Normal(0.0),
energy_max: 50,
energy_reward: 0.051,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Low,
tags: [
Material(Linen),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Linen Feet",
description: "Roughly stitched, but it seems to hold.",
kind: Armor((
kind: Foot("Linen"),
stats: (
protection: Normal(2.0),
poise_resilience: Normal(0.0),
energy_max: 17,
energy_reward: 0.017,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Low,
tags: [
Material(Linen),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Linen Handwraps",
description: "Roughly stitched, but it seems to hold.",
kind: Armor((
kind: Hand("Linen"),
stats: (
protection: Normal(2.0),
poise_resilience: Normal(0.0),
energy_max: 17,
energy_reward: 0.017,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Low,
tags: [
Material(Linen),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Linen Pants",
description: "Roughly stitched, but it seems to hold.",
kind: Armor((
kind: Pants("Linen"),
stats: (
protection: Normal(3.0),
poise_resilience: Normal(0.0),
energy_max: 33,
energy_reward: 0.034,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Low,
tags: [
Material(Linen),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Linen Shoulders",
description: "Roughly stitched, but it seems to hold.",
kind: Armor((
kind: Shoulder("Linen"),
stats: (
protection: Normal(3.0),
poise_resilience: Normal(0.0),
energy_max: 33,
energy_reward: 0.034,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Low,
tags: [
Material(Linen),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Moonweave Cape",
description: "The fabric dances silently, like moonlight.",
kind: Armor((
kind: Back("Moonweave"),
stats: (
protection: Normal(4.0),
poise_resilience: Normal(0.0),
energy_max: 41,
energy_reward: 0.042,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Material(Moonweave),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Moonweave Belt",
description: "The fabric dances silently, like moonlight.",
kind: Armor((
kind: Belt("Moonweave"),
stats: (
protection: Normal(4.0),
poise_resilience: Normal(0.0),
energy_max: 41,
energy_reward: 0.042,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Material(Moonweave),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Moonweave Vest",
description: "The fabric dances silently, like moonlight.",
kind: Armor((
kind: Chest("Moonweave"),
stats: (
protection: Normal(23.0),
poise_resilience: Normal(0.0),
energy_max: 248,
energy_reward: 0.252,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Material(Moonweave),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Moonweave Boots",
description: "The fabric dances silently, like moonlight.",
kind: Armor((
kind: Foot("Moonweave"),
stats: (
protection: Normal(8.0),
poise_resilience: Normal(0.0),
energy_max: 83,
energy_reward: 0.084,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Material(Moonweave),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Moonweave Gloves",
description: "The fabric dances silently, like moonlight.",
kind: Armor((
kind: Hand("Moonweave"),
stats: (
protection: Normal(8.0),
poise_resilience: Normal(0.0),
energy_max: 83,
energy_reward: 0.084,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Material(Moonweave),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Moonweave Legs",
description: "The fabric dances silently, like moonlight.",
kind: Armor((
kind: Pants("Moonweave"),
stats: (
protection: Normal(17.0),
poise_resilience: Normal(0.0),
energy_max: 165,
energy_reward: 0.168,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Material(Moonweave),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Moonweave Shoulders",
description: "The fabric dances silently, like moonlight.",
kind: Armor((
kind: Shoulder("Moonweave"),
stats: (
protection: Normal(17.0),
poise_resilience: Normal(0.0),
energy_max: 165,
energy_reward: 0.168,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Epic,
tags: [
Material(Moonweave),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Silken Cape",
description: "Weaved with care by a skilled tailor.",
kind: Armor((
kind: Back("Silken"),
stats: (
protection: Normal(2.0),
poise_resilience: Normal(0.0),
energy_max: 25,
energy_reward: 0.025,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Moderate,
tags: [
Material(Silk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Silken Sash",
description: "Weaved with care by a skilled tailor.",
kind: Armor((
kind: Belt("Silken"),
stats: (
protection: Normal(2.0),
poise_resilience: Normal(0.0),
energy_max: 25,
energy_reward: 0.025,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Moderate,
tags: [
Material(Silk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Silken Robe",
description: "Weaved with care by a skilled tailor.",
kind: Armor((
kind: Chest("Silken"),
stats: (
protection: Normal(14.0),
poise_resilience: Normal(0.0),
energy_max: 149,
energy_reward: 0.15,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Moderate,
tags: [
Material(Silk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Silken Feet",
description: "Weaved with care by a skilled tailor.",
kind: Armor((
kind: Foot("Silken"),
stats: (
protection: Normal(5.0),
poise_resilience: Normal(0.0),
energy_max: 50,
energy_reward: 0.05,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Moderate,
tags: [
Material(Silk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Silken Wraps",
description: "Weaved with care by a skilled tailor.",
kind: Armor((
kind: Hand("Silken"),
stats: (
protection: Normal(5.0),
poise_resilience: Normal(0.0),
energy_max: 50,
energy_reward: 0.05,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Moderate,
tags: [
Material(Silk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Silken Skirt",
description: "Weaved with care by a skilled tailor.",
kind: Armor((
kind: Pants("Silken"),
stats: (
protection: Normal(9.0),
poise_resilience: Normal(0.0),
energy_max: 99,
energy_reward: 0.1,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Moderate,
tags: [
Material(Silk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Silken Shoulders",
description: "Weaved with care by a skilled tailor.",
kind: Armor((
kind: Shoulder("Silken"),
stats: (
protection: Normal(9.0),
poise_resilience: Normal(0.0),
energy_max: 99,
energy_reward: 0.1,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Moderate,
tags: [
Material(Silk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Sunsilk Cape",
description: "It radiates with the sun's power, and the grace to harness it.",
kind: Armor((
kind: Back("Sunsilk"),
stats: (
protection: Normal(5.0),
poise_resilience: Normal(0.0),
energy_max: 50,
energy_reward: 0.05,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Legendary,
tags: [
Material(Sunsilk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Sunsilk Sash",
description: "It radiates with the sun's power, and the grace to harness it.",
kind: Armor((
kind: Belt("Sunsilk"),
stats: (
protection: Normal(5.0),
poise_resilience: Normal(0.0),
energy_max: 50,
energy_reward: 0.05,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Legendary,
tags: [
Material(Sunsilk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Sunsilk Tunic",
description: "It radiates with the sun's power, and the grace to harness it.",
kind: Armor((
kind: Chest("Sunsilk"),
stats: (
protection: Normal(27.0),
poise_resilience: Normal(0.0),
energy_max: 300,
energy_reward: 0.3,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Legendary,
tags: [
Material(Sunsilk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Sunsilk Footwraps",
description: "It radiates with the sun's power, and the grace to harness it.",
kind: Armor((
kind: Foot("Sunsilk"),
stats: (
protection: Normal(9.0),
poise_resilience: Normal(0.0),
energy_max: 100,
energy_reward: 0.1,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Legendary,
tags: [
Material(Sunsilk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Sunsilk Handwraps",
description: "It radiates with the sun's power, and the grace to harness it.",
kind: Armor((
kind: Hand("Sunsilk"),
stats: (
protection: Normal(9.0),
poise_resilience: Normal(0.0),
energy_max: 100,
energy_reward: 0.1,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Legendary,
tags: [
Material(Sunsilk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Sunsilk Kilt",
description: "It radiates with the sun's power, and the grace to harness it.",
kind: Armor((
kind: Pants("Sunsilk"),
stats: (
protection: Normal(18.0),
poise_resilience: Normal(0.0),
energy_max: 200,
energy_reward: 0.2,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Legendary,
tags: [
Material(Sunsilk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Sunsilk Shoulderwraps",
description: "It radiates with the sun's power, and the grace to harness it.",
kind: Armor((
kind: Shoulder("Sunsilk"),
stats: (
protection: Normal(18.0),
poise_resilience: Normal(0.0),
energy_max: 200,
energy_reward: 0.2,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Legendary,
tags: [
Material(Sunsilk),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Woolen Cloak",
description: "Thick and ready for the snow.",
kind: Armor((
kind: Back("Woolen"),
stats: (
protection: Normal(2.0),
poise_resilience: Normal(0.0),
energy_max: 17,
energy_reward: 0.017,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Common,
tags: [
Material(Wool),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Woolen Belt",
description: "Thick and ready for the snow.",
kind: Armor((
kind: Belt("Woolen"),
stats: (
protection: Normal(2.0),
poise_resilience: Normal(0.0),
energy_max: 17,
energy_reward: 0.017,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Common,
tags: [
Material(Wool),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Woolen Parka",
description: "Thick and ready for the snow.",
kind: Armor((
kind: Chest("Woolen"),
stats: (
protection: Normal(9.0),
poise_resilience: Normal(0.0),
energy_max: 99,
energy_reward: 0.099,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Common,
tags: [
Material(Wool),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Woolen Boots",
description: "Thick and ready for the snow.",
kind: Armor((
kind: Foot("Woolen"),
stats: (
protection: Normal(3.0),
poise_resilience: Normal(0.0),
energy_max: 33,
energy_reward: 0.033,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Common,
tags: [
Material(Wool),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Woolen Mittens",
description: "Thick and ready for the snow.",
kind: Armor((
kind: Hand("Woolen"),
stats: (
protection: Normal(3.0),
poise_resilience: Normal(0.0),
energy_max: 33,
energy_reward: 0.033,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Common,
tags: [
Material(Wool),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Woolen Pants",
description: "Thick and ready for the snow.",
kind: Armor((
kind: Pants("Woolen"),
stats: (
protection: Normal(6.0),
poise_resilience: Normal(0.0),
energy_max: 66,
energy_reward: 0.066,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Common,
tags: [
Material(Wool),
],
)

View File

@ -0,0 +1,19 @@
ItemDef(
name: "Woolen Shoulders",
description: "Thick and ready for the snow.",
kind: Armor((
kind: Shoulder("Woolen"),
stats: (
protection: Normal(6.0),
poise_resilience: Normal(0.0),
energy_max: 66,
energy_reward: 0.066,
crit_power: 0.0,
stealth: 0.0,
),
)),
quality: Common,
tags: [
Material(Wool),
],
)

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Belt("ClothBlue"), kind: Belt("ClothBlue"),
stats: ( stats: (
protection: Normal(1.0), protection: Normal(1.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Common, quality: Common,
tags: [ClothItem], tags: [
Material(Linen),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Chest("ClothBlue"), kind: Chest("ClothBlue"),
stats: ( stats: (
protection: Normal(1.0), protection: Normal(1.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Common, quality: Common,
tags: [ClothItem], tags: [
Material(Linen),
],
) )

View File

@ -6,8 +6,14 @@ ItemDef(
stats: ( stats: (
protection: Normal(0.0), protection: Normal(0.0),
poise_resilience: Normal(0.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Common, quality: Common,
tags: [ClothItem], tags: [
Material(Linen),
],
) )

View File

@ -6,8 +6,14 @@ ItemDef(
stats: ( stats: (
protection: Normal(0.0), protection: Normal(0.0),
poise_resilience: Normal(0.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Common, quality: Common,
tags: [ClothItem], tags: [
Material(Linen),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Pants("ClothBlue"), kind: Pants("ClothBlue"),
stats: ( stats: (
protection: Normal(1.0), protection: Normal(1.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Common, quality: Common,
tags: [ClothItem], tags: [
Material(Linen),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Shoulder("ClothBlue0"), kind: Shoulder("ClothBlue0"),
stats: ( stats: (
protection: Normal(1.0), protection: Normal(1.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Common, quality: Common,
tags: [ClothItem], tags: [
Material(Linen),
],
) )

View File

@ -5,9 +5,15 @@ ItemDef(
kind: Shoulder("ClothBlue1"), kind: Shoulder("ClothBlue1"),
stats: ( stats: (
protection: Normal(1.0), protection: Normal(1.0),
poise_resilience: Normal(1.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_reward: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Common, quality: Common,
tags: [ClothItem], tags: [
Material(Linen),
],
) )

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