- sprites IceCrystal, GlowIceCrystal for yetipit

- rough creature balance
This commit is contained in:
flo666 2023-04-11 21:25:24 +02:00 committed by Sam
parent 8c3b1f23ee
commit 25ef582f1a
27 changed files with 238 additions and 9 deletions

View File

@ -4,8 +4,8 @@ ItemDef(
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(0.0)),
poise_resilience: Some(Normal(0.0)),
protection: Some(Normal(60.0)),
poise_resilience: Some(Normal(8.0)),
)),
)),
quality: Legendary,

View File

@ -0,0 +1,14 @@
ItemDef(
name: "Frostfang's Thick Skin",
description: "testing123",
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(60.0)),
poise_resilience: Some(Normal(2.0)),
energy_max: Some(10),
)),
)),
quality: Epic,
tags: [],
)

View File

@ -4,7 +4,7 @@ ItemDef(
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(100.0)),
protection: Some(Normal(75.0)),
poise_resilience: Some(Normal(2.0)),
energy_max: Some(10),
)),

BIN
assets/voxygen/voxel/sprite/crystal/glow_ice_crystal_0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/glow_ice_crystal_1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/glow_ice_crystal_2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/glow_ice_crystal_3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/glow_ice_crystal_4.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/glow_ice_crystal_5.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_0.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_1.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_10.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_11.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_2.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_3.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_4.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_5.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_6.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_7.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_8.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/crystal/ice_crystal_9.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -4316,4 +4316,104 @@ Candle: Some((
],
wind_sway: 0.0,
)),
IceCrystal: Some((
variations: [
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_0",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_1",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_2",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_3",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_4",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_5",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_6",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_7",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_8",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_9",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_10",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.ice_crystal_11",
offset: (-5.5, -5.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
],
wind_sway: 0.0,
)),
GlowIceCrystal: Some((
variations: [
(
model: "voxygen.voxel.sprite.crystal.glow_ice_crystal_0",
offset: (8.5, -9.0, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.glow_ice_crystal_1",
offset: (-8.0, -8.0, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.glow_ice_crystal_2",
offset: (-11.5, -22.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.glow_ice_crystal_3",
offset: (-8.5, -9.0, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.glow_ice_crystal_4",
offset: (-8.0, -8.0, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
(
model: "voxygen.voxel.sprite.crystal.glow_ice_crystal_5",
offset: (-11.5, -22.5, 0.0),
lod_axes: (0.0, 0.0, 0.0),
),
],
wind_sway: 0.0,
)),
}

View File

@ -794,7 +794,7 @@ impl Body {
biped_large::Species::Dullahan => 600,
biped_large::Species::Mindflayer => 1250,
biped_large::Species::Tidalwarrior => 1600,
biped_large::Species::Yeti => 1200,
biped_large::Species::Yeti => 1800,
biped_large::Species::Minotaur => 3000,
biped_large::Species::Harvester => 1500,
biped_large::Species::Blueoni => 240,

View File

@ -923,6 +923,7 @@ impl LoadoutBuilder {
| biped_large::Species::Blueoni
| biped_large::Species::Redoni
| biped_large::Species::Cavetroll
| biped_large::Species::Tursus
| biped_large::Species::Wendigo => {
Some("common.items.npc_armor.biped_large.generic")
},
@ -964,7 +965,8 @@ impl LoadoutBuilder {
| quadruped_low::Species::Rocksnapper
| quadruped_low::Species::Rootsnapper
| quadruped_low::Species::Reefsnapper
| quadruped_low::Species::Sandshark => {
| quadruped_low::Species::Sandshark
| quadruped_low::Species::Icedrake => {
Some("common.items.npc_armor.quadruped_low.generic")
},
quadruped_low::Species::Dagon => Some("common.items.npc_armor.quadruped_low.dagon"),
@ -974,6 +976,9 @@ impl LoadoutBuilder {
_ => None,
},
Body::QuadrupedMedium(body) => match body.species {
quadruped_medium::Species::Frostfang => {
Some("common.items.npc_armor.quadruped_medium.frostfang")
},
quadruped_medium::Species::Roshwalr => {
Some("common.items.npc_armor.quadruped_medium.roshwalr")
},

View File

@ -335,7 +335,7 @@ impl Block {
| SpriteKind::EmeraldSmall
| SpriteKind::SapphireSmall => Some(3),
SpriteKind::Lantern => Some(24),
SpriteKind::SeashellLantern => Some(16),
SpriteKind::SeashellLantern | SpriteKind::GlowIceCrystal => Some(16),
SpriteKind::SeaDecorEmblem => Some(12),
SpriteKind::SeaDecorBlock => Some(10),
_ => None,

View File

@ -248,6 +248,8 @@ make_case_elim!(
BoneKeyDoor = 0xDE,
// FireBlock for Burning Buff
FireBlock = 0xDF,
IceCrystal = 0xE0,
GlowIceCrystal = 0xE1,
}
);
@ -658,6 +660,8 @@ impl SpriteKind {
| SpriteKind::DoorWide,
| SpriteKind::BoneKeyhole
| SpriteKind::BoneKeyDoor
| SpriteKind::IceCrystal
| SpriteKind::GlowIceCrystal
)
}
}

View File

@ -425,7 +425,6 @@ impl Structure for AdletStronghold {
#[cfg_attr(feature = "be-dyn-lib", export_name = "render_adletstronghold")]
fn render_inner(&self, _site: &Site, land: &Land, painter: &Painter) {
// let wall_mat = Fill::Brick(BlockKind::Snow, Rgb::new(175, 175, 175), 25);
let snow_ice_fill = Fill::Sampling(Arc::new(|wpos| {
Some(match (RandomField::new(0).get(wpos)) % 80 {
0..=3 => Block::new(BlockKind::Ice, Rgb::new(120, 160, 255)),
@ -461,6 +460,21 @@ impl Structure for AdletStronghold {
_ => Block::new(BlockKind::Air, Rgb::new(0, 0, 0)),
})
}));
let yeti_sprites_fill = Fill::Sampling(Arc::new(|wpos| {
Some(match (RandomField::new(0).get(wpos)) % 80 {
0..=2 => Block::air(SpriteKind::Bones),
4..=5 => Block::air(SpriteKind::GlowIceCrystal),
6..=8 => Block::air(SpriteKind::IceCrystal),
9..=15 => Block::new(BlockKind::Snow, Rgb::new(255, 255, 255)),
_ => Block::new(BlockKind::Air, Rgb::new(0, 0, 0)),
})
}));
let yeti_bones_fill = Fill::Sampling(Arc::new(|wpos| {
Some(match (RandomField::new(0).get(wpos)) % 20 {
0 => Block::air(SpriteKind::Bones),
_ => Block::new(BlockKind::Air, Rgb::new(0, 0, 0)),
})
}));
let mut rng = thread_rng();
// Tunnel
@ -688,8 +702,8 @@ impl Structure for AdletStronghold {
)
.clear();
// Foundation
let foundation = match RandomField::new(0).get((wpos).with_z(alt as i32)) % 3 {
1 => painter
let foundation = match RandomField::new(0).get((wpos).with_z(alt as i32)) % 5 {
0 => painter
.sphere(Aabb {
min: (igloo_pos - 15).with_z(alt as i32 - 45 + height_handle),
max: (igloo_pos + 15).with_z(alt as i32 - 15 + height_handle),
@ -1081,6 +1095,44 @@ impl Structure for AdletStronghold {
((room_size / 3) + 5) as f32,
)
.clear();
painter
.cylinder_with_radius(
yetipit_center.with_z(level - (3 * down) - 6),
room_size as f32,
1.0,
)
.fill(snow_ice_fill.clone());
// sprites: icecrystals, bones
for r in 0..4 {
painter
.cylinder_with_radius(
yetipit_center.with_z(level - (3 * down) - 2 - r),
(room_size + 2 - r) as f32,
1.0,
)
.fill(snow_ice_fill.clone());
painter
.cylinder_with_radius(
yetipit_center.with_z(level - (3 * down) - 1 - r),
(room_size - r) as f32,
1.0,
)
.fill(yeti_sprites_fill.clone());
painter
.cylinder_with_radius(
yetipit_center.with_z(level - (3 * down) - 2 - r),
(room_size - 1 - r) as f32,
2.0,
)
.clear();
}
painter
.cylinder_with_radius(
yetipit_center.with_z(level - (3 * down) - 5),
(room_size - 4) as f32,
1.0,
)
.fill(yeti_bones_fill.clone());
painter
.cone_with_radius(
yetipit_center.with_z(level - (3 * down) + (room_size / 3) - 2),