From 12546d6bf4bf19c08d4a8bb7c7b4fb82af571c2d Mon Sep 17 00:00:00 2001 From: Monty Marz Date: Fri, 21 Aug 2020 22:37:08 +0200 Subject: [PATCH] Address comments, clippy and minor adjustments first bunch of comments addressed change order or scatter, paths and caves being applied in worldgen to avoid floating scatter objects campfire adjustments, reduced grass density due to FPS issues readded item descriptions to the crafting window, item desc for craftable armour address comments happy clippy, happy life clippy clippy more clippy fmt revert cargo.toml formatting remove "allow unreachable pattern" fmt --- Cargo.lock | 10 -- .../items/armor/back/leather_adventurer.ron | 2 +- .../items/armor/belt/leather_adventurer.ron | 2 +- .../items/armor/chest/leather_adventurer.ron | 2 +- .../items/armor/foot/leather_adventurer.ron | 2 +- .../items/armor/hand/leather_adventurer.ron | 2 +- .../items/armor/pants/leather_adventurer.ron | 2 +- .../armor/shoulder/leather_adventurer.ron | 4 +- assets/voxygen/i18n/tr_TR.ron | 46 ++++- assets/voxygen/shaders/particle-vert.glsl | 8 +- common/src/comp/agent.rs | 5 - common/src/comp/body.rs | 113 ++++--------- common/src/terrain/block.rs | 2 +- server/src/cmd.rs | 2 +- server/src/events/entity_creation.rs | 11 +- server/src/events/entity_manipulation.rs | 158 ++++++++---------- voxygen/Cargo.toml | 1 - voxygen/src/hud/crafting.rs | 15 +- voxygen/src/hud/mod.rs | 6 +- voxygen/src/hud/overhead.rs | 27 ++- voxygen/src/hud/social.rs | 2 +- world/src/layer/mod.rs | 10 +- world/src/lib.rs | 10 +- 23 files changed, 186 insertions(+), 256 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 661aa0ae37..259543ab2c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1309,15 +1309,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -[[package]] -name = "format_num" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14ac05eb8d2eb4ed1eeff847911deae077b0b53332465de9d6a26b0ea9961bc8" -dependencies = [ - "regex", -] - [[package]] name = "fsevent" version = "2.0.2" @@ -4775,7 +4766,6 @@ dependencies = [ "dot_vox", "euc", "failure", - "format_num", "gfx", "gfx_device_gl", "gfx_gl", diff --git a/assets/common/items/armor/back/leather_adventurer.ron b/assets/common/items/armor/back/leather_adventurer.ron index 4201ca6602..75b55045d4 100644 --- a/assets/common/items/armor/back/leather_adventurer.ron +++ b/assets/common/items/armor/back/leather_adventurer.ron @@ -1,6 +1,6 @@ Item( name: "Agile Cape", - description: "Keeps your shoulders warm.", + description: "'Tightly packed pieces of leather to endure all weather.'", kind: Armor( ( kind: Back("Short2"), diff --git a/assets/common/items/armor/belt/leather_adventurer.ron b/assets/common/items/armor/belt/leather_adventurer.ron index 84014ebef2..fb17f34099 100644 --- a/assets/common/items/armor/belt/leather_adventurer.ron +++ b/assets/common/items/armor/belt/leather_adventurer.ron @@ -1,6 +1,6 @@ Item( name: "Agile Belt", - description: "", + description: "'Tightly packed pieces of leather to endure all weather.'", kind: Armor( ( kind: Belt("Leather2"), diff --git a/assets/common/items/armor/chest/leather_adventurer.ron b/assets/common/items/armor/chest/leather_adventurer.ron index 2889d1c7f1..a2c90a5f69 100644 --- a/assets/common/items/armor/chest/leather_adventurer.ron +++ b/assets/common/items/armor/chest/leather_adventurer.ron @@ -1,6 +1,6 @@ Item( name: "Agile Chest", - description: " ", + description: "'Tightly packed pieces of leather to endure all weather.'", kind: Armor( ( kind: Chest("Leather2"), diff --git a/assets/common/items/armor/foot/leather_adventurer.ron b/assets/common/items/armor/foot/leather_adventurer.ron index 6baffc8086..1b4dea02cd 100644 --- a/assets/common/items/armor/foot/leather_adventurer.ron +++ b/assets/common/items/armor/foot/leather_adventurer.ron @@ -1,6 +1,6 @@ Item( name: "Agile Kickers", - description: "", + description: "'Tightly packed pieces of leather to endure all weather.", kind: Armor( ( kind: Foot("Leather2"), diff --git a/assets/common/items/armor/hand/leather_adventurer.ron b/assets/common/items/armor/hand/leather_adventurer.ron index 6b4117119a..4989e08539 100644 --- a/assets/common/items/armor/hand/leather_adventurer.ron +++ b/assets/common/items/armor/hand/leather_adventurer.ron @@ -1,6 +1,6 @@ Item( name: "Agile Gauntlets", - description: "", + description: "'Tightly packed pieces of leather to endure all weather.'", kind: Armor( ( kind: Hand("Leather2"), diff --git a/assets/common/items/armor/pants/leather_adventurer.ron b/assets/common/items/armor/pants/leather_adventurer.ron index a5be0b07af..994cd00036 100644 --- a/assets/common/items/armor/pants/leather_adventurer.ron +++ b/assets/common/items/armor/pants/leather_adventurer.ron @@ -1,6 +1,6 @@ Item( name: "Agile Pantalons", - description: "", + description: "'Tightly packed pieces of leather to endure all weather.'", kind: Armor( ( kind: Pants("Leather2"), diff --git a/assets/common/items/armor/shoulder/leather_adventurer.ron b/assets/common/items/armor/shoulder/leather_adventurer.ron index 3cc291d335..8fe773a58d 100644 --- a/assets/common/items/armor/shoulder/leather_adventurer.ron +++ b/assets/common/items/armor/shoulder/leather_adventurer.ron @@ -1,9 +1,9 @@ Item( name: "Agile Guards", - description: "", + description: "'Tightly packed pieces of leather to endure all weather.'", kind: Armor( ( - kind: Shoulder("Leather1"), + kind: Shoulder("Leather2"), stats: ( protection: Normal(6.0), ), diff --git a/assets/voxygen/i18n/tr_TR.ron b/assets/voxygen/i18n/tr_TR.ron index 87da2a0ecb..a0e3a6ab0c 100644 --- a/assets/voxygen/i18n/tr_TR.ron +++ b/assets/voxygen/i18n/tr_TR.ron @@ -65,11 +65,14 @@ VoxygenLocalization( "common.create": "Oluştur", "common.okay": "Tamam", "common.accept": "Kabul Et", + "common.decline": "Reddet", "common.disclaimer": "Uyarı", "common.cancel": "İptal Et", "common.none": "Yok", "common.error": "Hata", "common.fatal_error": "Ölümcül hata", + "common.you": "Sen", + "common.automatic": "Otomatik", // Message when connection to the server is lost "common.connection_lost": r#"Bağlantı koptu! @@ -302,23 +305,30 @@ edince kapat"#, "hud.settings.fluid_rendering_mode.cheap": "Basit", "hud.settings.fluid_rendering_mode.shiny": "Güzel", "hud.settings.cloud_rendering_mode.regular": "Normal", + "hud.settings.particles": "Partiküller", + "hud.settings.resolution": "Çözünürlük", + "hud.settings.bit_depth": "Bit Derinliği", + "hud.settings.refresh_rate": "Yenileme Hızı", "hud.settings.fullscreen": "Tam ekran", "hud.settings.save_window_size": "Pencere boyutunu kaydet", - "hud.settings.awaitingkey": "Bir tuşa bas...", - "hud.settings.unbound": "Atanmamış", - "hud.settings.reset_keybinds": "Varsayılana döndür", - "hud.settings.music_volume": "Müzik Sesi", "hud.settings.sound_effect_volume": "Efekt Sesi", "hud.settings.audio_device": "Ses Aygıtı", - "hud.social": "Sosyal", - "hud.social.online": "Çevrimiçi", + "hud.settings.awaitingkey": "Bir tuşa bas...", + "hud.settings.unbound": "Atanmamış", + "hud.settings.reset_keybinds": "Varsayılana döndür", + + "hud.social": "Diğer Oyuncular", + "hud.social.online": "Çevrimiçi:", "hud.social.friends": "Arkadaşlar", "hud.social.not_yet_available": "Şu anda kullanılabilir değil", "hud.social.faction": "Klan", "hud.social.play_online_fmt": "{nb_player} oyuncu çevrimiçi", + "hud.social.name": "İsim", + "hud.social.level": "Seviye", + "hud.social.zone": "Bölge", "hud.crafting": "Üretim", "hud.crafting.recipes": "Tarifler", @@ -326,6 +336,19 @@ edince kapat"#, "hud.crafting.craft": "Üret", "hud.crafting.tool_cata": "Gerektiriyor:", + "hud.group": "Grup", + "hud.group.invite_to_join": "{name} seni grubuna davet etti!", + "hud.group.invite": "Davet Et", + "hud.group.kick": "Gruptan At", + "hud.group.assign_leader": "Lider Seç", + "hud.group.leave": "Gruptan Ayrıl", + "hud.group.dead" : "Ölü", + "hud.group.out_of_range": "Erişim dışı", + "hud.group.add_friend": "Arkadaşlara Ekle", + "hud.group.link_group": "Grupları Bağla", + "hud.group.in_menu": "Menüde", + "hud.group.members": "Grup Üyeleri", + "hud.spell": "Büyü", "hud.free_look_indicator": "Serbest bakış açık", @@ -368,7 +391,7 @@ edince kapat"#, "gameinput.wallleap": "Duvar Sıçrayışı", "gameinput.togglelantern": "Feneri yak/söndür", "gameinput.mount": "Bin", - "gameinput.enter": "Sohbet", + "gameinput.chat": "Sohbet", "gameinput.command": "Komut", "gameinput.escape": "Oyunu Duraklat", "gameinput.map": "Harita", @@ -384,6 +407,13 @@ edince kapat"#, "gameinput.freelook": "Serbest Bakış", "gameinput.autowalk": "Otomatik Yürüyüş", "gameinput.dance": "Dans et", + "gameinput.select": "Varlık Seç", + "gameinput.acceptgroupinvite": "Grup Davetini Kabul Et", + "gameinput.declinegroupinvite": "Grup Davetini Reddet", + "gameinput.crafting": "Üretim", + "gameinput.sneak": "Eğil", + "gameinput.swimdown": "Aşağı Dal", + "gameinput.swimup": "Yüzeye çık", /// End GameInput section @@ -456,6 +486,8 @@ Koruma "'L-Shift'e basarak Planörünü aç ve gökyüzünü fethet.", "Veloren hala Pre-Alpha'da. Onu geliştirmek için her gün elimizden geleni yapıyoruz!", "Geliştirme Takımına katılmak istiyorsan veya sadece sohbet etmek istiyorsan Discord sunucumuza katıl.", + "Can barında canı sayı olarak görmek istiyorsan, bunu ayarlardan aktifleştirebilirsin.", + "Niteliklerini görmek için envanterindeki 'Nitelikler' düğmesine tıklayabilirsin.", ], "npc.speech.villager_under_attack": [ "Saldırı altındayım, yardım edin!", diff --git a/assets/voxygen/shaders/particle-vert.glsl b/assets/voxygen/shaders/particle-vert.glsl index ce36cb7b17..5492b94168 100644 --- a/assets/voxygen/shaders/particle-vert.glsl +++ b/assets/voxygen/shaders/particle-vert.glsl @@ -109,10 +109,10 @@ void main() { attr = Attr( linear_motion( vec3(0.0, 0.0, 0.0), - vec3(rand2 * 0.02, rand3 * 0.02, 1.0 + rand4 * 0.1) + vec3(rand2 * 0.1, rand3 * 0.1, 1.0 + rand4 * 0.1) ), - linear_scale(0.5), - vec4(1, 1, 1, start_end(1.0, 0.0)), + linear_scale(0.2), + vec4(1, 1, 1, start_end(0.1, 0.0)), spin_in_axis(vec3(rand6, rand7, rand8), rand9 * 3 + lifetime * 0.5) ); } else if (inst_mode == FIRE) { @@ -121,7 +121,7 @@ void main() { vec3(rand0 * 0.3, rand1 * 0.3, 0.2), vec3(rand1 * 0.1, rand3 * 0.1, 3.0 + rand4 * 1.2) ), - 1.0, + 1.3, vec4(2, 0.8 + rand5 * 0.3, 0, 1), spin_in_axis(vec3(rand6, rand7, rand8), rand9 * 3) ); diff --git a/common/src/comp/agent.rs b/common/src/comp/agent.rs index 1afc6aa059..218d12240d 100644 --- a/common/src/comp/agent.rs +++ b/common/src/comp/agent.rs @@ -28,7 +28,6 @@ impl Alignment { match (self, other) { (Alignment::Enemy, Alignment::Enemy) => false, (Alignment::Enemy, Alignment::Wild) => false, - (Alignment::Enemy, Alignment::Tame) => true, (Alignment::Wild, Alignment::Enemy) => false, (Alignment::Wild, Alignment::Wild) => false, (Alignment::Npc, Alignment::Wild) => false, @@ -69,7 +68,6 @@ impl Component for Alignment { pub struct Psyche { pub aggro: f32, // 0.0 = always flees, 1.0 = always attacks, 0.5 = flee at 50% health } -#[allow(unreachable_patterns)] impl<'a> From<&'a Body> for Psyche { fn from(body: &'a Body) -> Self { Self { @@ -81,7 +79,6 @@ impl<'a> From<&'a Body> for Psyche { humanoid::Species::Human => 0.95, humanoid::Species::Orc => 1.0, humanoid::Species::Undead => 1.0, - _ => 1.0, }, Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species { quadruped_small::Species::Pig => 0.5, @@ -100,7 +97,6 @@ impl<'a> From<&'a Body> for Psyche { quadruped_small::Species::Rabbit => 0.1, quadruped_small::Species::Truffler => 0.8, quadruped_small::Species::Frog => 0.6, - _ => 1.0, }, Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species { quadruped_medium::Species::Tuskram => 0.8, @@ -119,7 +115,6 @@ impl<'a> From<&'a Body> for Psyche { quadruped_low::Species::Rocksnapper => 1.0, quadruped_low::Species::Pangolin => 0.6, quadruped_low::Species::Maneater => 1.0, - _ => 1.0, }, Body::BirdMedium(_) => 1.0, Body::BirdSmall(_) => 0.4, diff --git a/common/src/comp/body.rs b/common/src/comp/body.rs index 9bc38b8c30..7d29f69412 100644 --- a/common/src/comp/body.rs +++ b/common/src/comp/body.rs @@ -217,9 +217,7 @@ impl Body { _ => 100, }, Body::FishMedium(_) => 50, - Body::Dragon(dragon) => match dragon.species { - _ => 5000, - }, + Body::Dragon(_) => 5000, Body::BirdSmall(_) => 50, Body::FishSmall(_) => 20, Body::BipedLarge(biped_large) => match biped_large.species { @@ -231,12 +229,8 @@ impl Body { _ => 1000, }, Body::Object(_) => 10000, - Body::Golem(golem) => match golem.species { - _ => 1500, - }, - Body::Critter(critter) => match critter.species { - _ => 50, - }, + Body::Golem(_) => 1500, + Body::Critter(_) => 50, Body::QuadrupedLow(quadruped_low) => match quadruped_low.species { quadruped_low::Species::Crocodile => 600, quadruped_low::Species::Alligator => 600, @@ -290,9 +284,7 @@ impl Body { _ => 20, }, Body::FishMedium(_) => 10, - Body::Dragon(dragon) => match dragon.species { - _ => 500, - }, + Body::Dragon(_) => 500, Body::BirdSmall(_) => 10, Body::FishSmall(_) => 10, Body::BipedLarge(biped_large) => match biped_large.species { @@ -304,12 +296,8 @@ impl Body { _ => 100, }, Body::Object(_) => 10, - Body::Golem(golem) => match golem.species { - _ => 150, - }, - Body::Critter(critter) => match critter.species { - _ => 20, - }, + Body::Golem(_) => 150, + Body::Critter(_) => 20, Body::QuadrupedLow(quadruped_low) => match quadruped_low.species { quadruped_low::Species::Crocodile => 20, quadruped_low::Species::Alligator => 20, @@ -361,9 +349,7 @@ impl Body { _ => 8, }, Body::FishMedium(_) => 2, - Body::Dragon(dragon) => match dragon.species { - _ => 1000, - }, + Body::Dragon(_) => 1000, Body::BirdSmall(_) => 2, Body::FishSmall(_) => 2, Body::BipedLarge(biped_large) => match biped_large.species { @@ -375,12 +361,8 @@ impl Body { _ => 100, }, Body::Object(_) => 1, - Body::Golem(golem) => match golem.species { - _ => 75, - }, - Body::Critter(critter) => match critter.species { - _ => 2, - }, + Body::Golem(_) => 75, + Body::Critter(_) => 2, Body::QuadrupedLow(quadruped_low) => match quadruped_low.species { quadruped_low::Species::Crocodile => 10, quadruped_low::Species::Alligator => 10, @@ -400,34 +382,18 @@ impl Body { pub fn base_exp_increase(&self) -> u32 { match self { Body::Humanoid(_) => 2, - Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species { - _ => 1, - }, - Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species { - _ => 1, - }, - Body::BirdMedium(bird_medium) => match bird_medium.species { - _ => 1, - }, + Body::QuadrupedSmall(_) => 1, + Body::QuadrupedMedium(_) => 1, + Body::BirdMedium(_) => 1, Body::FishMedium(_) => 1, - Body::Dragon(dragon) => match dragon.species { - _ => 32, - }, + Body::Dragon(_) => 32, Body::BirdSmall(_) => 1, Body::FishSmall(_) => 1, - Body::BipedLarge(biped_large) => match biped_large.species { - _ => 2, - }, + Body::BipedLarge(_) => 2, Body::Object(_) => 0, - Body::Golem(golem) => match golem.species { - _ => 5, - }, - Body::Critter(critter) => match critter.species { - _ => 1, - }, - Body::QuadrupedLow(quadruped_low) => match quadruped_low.species { - _ => 1, - }, + Body::Golem(_) => 5, + Body::Critter(_) => 1, + Body::QuadrupedLow(_) => 1, } } @@ -460,9 +426,7 @@ impl Body { _ => 30, }, Body::FishMedium(_) => 10, - Body::Dragon(dragon) => match dragon.species { - _ => 5000, - }, + Body::Dragon(_) => 5000, Body::BirdSmall(_) => 10, Body::FishSmall(_) => 10, Body::BipedLarge(biped_large) => match biped_large.species { @@ -474,12 +438,8 @@ impl Body { _ => 60, }, Body::Object(_) => 0, - Body::Golem(golem) => match golem.species { - _ => 250, - }, - Body::Critter(critter) => match critter.species { - _ => 10, - }, + Body::Golem(_) => 250, + Body::Critter(_) => 10, Body::QuadrupedLow(quadruped_low) => match quadruped_low.species { quadruped_low::Species::Crocodile => 50, quadruped_low::Species::Alligator => 50, @@ -495,38 +455,21 @@ impl Body { } } - #[allow(unreachable_patterns)] pub fn base_range(&self) -> f32 { match self { Body::Humanoid(_) => 5.0, - Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species { - _ => 4.5, - }, - Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species { - _ => 5.5, - }, - Body::BirdMedium(bird_medium) => match bird_medium.species { - _ => 3.5, - }, + Body::QuadrupedSmall(_) => 4.5, + Body::QuadrupedMedium(_) => 5.5, + Body::BirdMedium(_) => 3.5, Body::FishMedium(_) => 3.5, - Body::Dragon(dragon) => match dragon.species { - _ => 12.5, - }, + Body::Dragon(_) => 12.5, Body::BirdSmall(_) => 3.0, Body::FishSmall(_) => 3.0, - Body::BipedLarge(biped_large) => match biped_large.species { - _ => 10.0, - }, + Body::BipedLarge(_) => 10.0, Body::Object(_) => 3.0, - Body::Golem(golem) => match golem.species { - _ => 7.5, - }, - Body::Critter(critter) => match critter.species { - _ => 3.0, - }, - Body::QuadrupedLow(quadruped_low) => match quadruped_low.species { - _ => 4.5, - }, + Body::Golem(_) => 7.5, + Body::Critter(_) => 3.0, + Body::QuadrupedLow(_) => 4.5, } } } diff --git a/common/src/terrain/block.rs b/common/src/terrain/block.rs index f2899f69a7..5d7df5cc32 100644 --- a/common/src/terrain/block.rs +++ b/common/src/terrain/block.rs @@ -498,7 +498,7 @@ impl Block { | BlockKind::Pot | BlockKind::Chest | BlockKind::DropGate - | BlockKind::DropGateBottom + | BlockKind::DropGateBottom | BlockKind::Door => Some(self.color[0] & 0b111), _ => None, } diff --git a/server/src/cmd.rs b/server/src/cmd.rs index 20612e6a65..968da28e7d 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -619,12 +619,12 @@ fn handle_spawn( ); } else if let Some(group) = match alignment { comp::Alignment::Wild => None, + comp::Alignment::Passive => None, comp::Alignment::Enemy => Some(comp::group::ENEMY), comp::Alignment::Npc | comp::Alignment::Tame => { Some(comp::group::NPC) }, comp::Alignment::Owned(_) => unreachable!(), - _ => None, } { let _ = server.state.ecs().write_storage().insert(new_entity, group); diff --git a/server/src/events/entity_creation.rs b/server/src/events/entity_creation.rs index 52d02e7de1..31600f7948 100644 --- a/server/src/events/entity_creation.rs +++ b/server/src/events/entity_creation.rs @@ -1,8 +1,8 @@ use crate::{sys, Server, StateExt}; use common::{ comp::{ - self, Agent, Alignment, Body, Gravity, Item, ItemDrop, LightEmitter, Loadout, Pos, - Projectile, Scale, Stats, Vel, WaypointArea, + self, Agent, Alignment, Body, Gravity, Item, ItemDrop, LightAnimation, LightEmitter, + Loadout, Pos, Projectile, Scale, Stats, Vel, WaypointArea, }, outcome::Outcome, util::Dir, @@ -40,11 +40,11 @@ pub fn handle_create_npc( ) { let group = match alignment { Alignment::Wild => None, + Alignment::Passive => None, Alignment::Enemy => Some(group::ENEMY), Alignment::Npc | Alignment::Tame => Some(group::NPC), // TODO: handle Alignment::Owned(_) => None, - _ => None, }; let entity = server @@ -124,6 +124,11 @@ pub fn handle_create_waypoint(server: &mut Server, pos: Vec3) { flicker: 1.0, animated: true, }) + .with(LightAnimation { + offset: Vec3::new(0.0, 0.0, 2.0), + col: Rgb::new(1.0, 0.8, 0.0), + strength: 8.0, + }) .with(WaypointArea::default()) .build(); } diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index 04746c56d1..63598b7077 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -233,106 +233,80 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc }, } }, - Some(common::comp::Body::QuadrupedMedium(quadruped_medium)) => { - match quadruped_medium.species { - _ => match rng.gen_range(0, 4) { - 0 => assets::load_expect::>( - "common.loot_tables.loot_table_food", - ), - 1 => assets::load_expect::>( - "common.loot_tables.loot_table_armor_misc", - ), - 2 => assets::load_expect::>( - "common.loot_tables.loot_table_animal_parts", - ), - _ => assets::load_expect::>( - "common.loot_tables.loot_table_animal_parts", - ), - }, - } + Some(common::comp::Body::QuadrupedMedium(_)) => match rng.gen_range(0, 4) { + 0 => assets::load_expect::>("common.loot_tables.loot_table_food"), + 1 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_misc", + ), + 2 => assets::load_expect::>( + "common.loot_tables.loot_table_animal_parts", + ), + _ => assets::load_expect::>( + "common.loot_tables.loot_table_animal_parts", + ), }, - Some(common::comp::Body::BirdMedium(bird_medium)) => match bird_medium.species { - _ => match rng.gen_range(0, 3) { - 0 => { - assets::load_expect::>("common.loot_tables.loot_table_food") - }, - 1 => assets::load_expect::>( - "common.loot_tables.loot_table_armor_misc", - ), - _ => assets::load_expect::>("common.loot_tables.loot_table"), - }, + Some(common::comp::Body::BirdMedium(_)) => match rng.gen_range(0, 3) { + 0 => assets::load_expect::>("common.loot_tables.loot_table_food"), + 1 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_misc", + ), + _ => assets::load_expect::>("common.loot_tables.loot_table"), }, - Some(common::comp::Body::BipedLarge(biped_large)) => match biped_large.species { - _ => match rng.gen_range(0, 8) { - 0 => { - assets::load_expect::>("common.loot_tables.loot_table_food") - }, - 1 => assets::load_expect::>( - "common.loot_tables.loot_table_armor_nature", - ), - 3 => assets::load_expect::>( - "common.loot_tables.loot_table_armor_heavy", - ), - 5 => assets::load_expect::>( - "common.loot_tables.loot_table_weapon_uncommon", - ), - 6 => assets::load_expect::>( - "common.loot_tables.loot_table_weapon_rare", - ), - _ => assets::load_expect::>( - "common.loot_tables.loot_table_cave_large", - ), - }, + Some(common::comp::Body::BipedLarge(_)) => match rng.gen_range(0, 8) { + 0 => assets::load_expect::>("common.loot_tables.loot_table_food"), + 1 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_nature", + ), + 3 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_heavy", + ), + 5 => assets::load_expect::>( + "common.loot_tables.loot_table_weapon_uncommon", + ), + 6 => assets::load_expect::>( + "common.loot_tables.loot_table_weapon_rare", + ), + _ => assets::load_expect::>( + "common.loot_tables.loot_table_cave_large", + ), }, - Some(common::comp::Body::Golem(golem)) => match golem.species { - _ => match rng.gen_range(0, 9) { - 0 => { - assets::load_expect::>("common.loot_tables.loot_table_food") - }, - 1 => assets::load_expect::>( - "common.loot_tables.loot_table_armor_misc", - ), - 2 => assets::load_expect::>( - "common.loot_tables.loot_table_armor_light", - ), - 3 => assets::load_expect::>( - "common.loot_tables.loot_table_armor_heavy", - ), - 4 => assets::load_expect::>( - "common.loot_tables.loot_table_armor_misc", - ), - 5 => assets::load_expect::>( - "common.loot_tables.loot_table_weapon_common", - ), - 6 => assets::load_expect::>( - "common.loot_tables.loot_table_weapon_uncommon", - ), - 7 => assets::load_expect::>( - "common.loot_tables.loot_table_weapon_rare", - ), - _ => assets::load_expect::>("common.loot_tables.loot_table"), - }, + Some(common::comp::Body::Golem(_)) => match rng.gen_range(0, 9) { + 0 => assets::load_expect::>("common.loot_tables.loot_table_food"), + 1 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_misc", + ), + 2 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_light", + ), + 3 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_heavy", + ), + 4 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_misc", + ), + 5 => assets::load_expect::>( + "common.loot_tables.loot_table_weapon_common", + ), + 6 => assets::load_expect::>( + "common.loot_tables.loot_table_weapon_uncommon", + ), + 7 => assets::load_expect::>( + "common.loot_tables.loot_table_weapon_rare", + ), + _ => assets::load_expect::>("common.loot_tables.loot_table"), }, - Some(common::comp::Body::Critter(critter)) => match critter.species { - _ => match rng.gen_range(0, 3) { - _ => assets::load_expect::>( - "common.loot_tables.loot_table_animal_parts", - ), - }, + Some(common::comp::Body::Critter(_)) => { + assets::load_expect::>("common.loot_tables.loot_table_animal_parts") }, Some(common::comp::Body::Dragon(_)) => { assets::load_expect::>("common.loot_tables.loot_table_weapon_rare") }, - Some(common::comp::Body::QuadrupedLow(quadruped_low)) => match quadruped_low.species { - _ => match rng.gen_range(0, 3) { - 0 => { - assets::load_expect::>("common.loot_tables.loot_table_food") - }, - 1 => assets::load_expect::>( - "common.loot_tables.loot_table_animal_parts", - ), - _ => assets::load_expect::>("common.loot_tables.loot_table"), - }, + Some(common::comp::Body::QuadrupedLow(_)) => match rng.gen_range(0, 3) { + 0 => assets::load_expect::>("common.loot_tables.loot_table_food"), + 1 => assets::load_expect::>( + "common.loot_tables.loot_table_animal_parts", + ), + _ => assets::load_expect::>("common.loot_tables.loot_table"), }, _ => assets::load_expect::>("common.loot_tables.loot_table"), }; diff --git a/voxygen/Cargo.toml b/voxygen/Cargo.toml index 6f00070c09..459cd9657d 100644 --- a/voxygen/Cargo.toml +++ b/voxygen/Cargo.toml @@ -47,7 +47,6 @@ gilrs = { version = "0.7", features = ["serde"] } server = { package = "veloren-server", path = "../server", optional = true } # Utility -format_num = "0.1.0" glsl-include = "0.3.1" failure = "0.1.6" dot_vox = "4.0" diff --git a/voxygen/src/hud/crafting.rs b/voxygen/src/hud/crafting.rs index 1b61ad03f2..226dbec811 100644 --- a/voxygen/src/hud/crafting.rs +++ b/voxygen/src/hud/crafting.rs @@ -246,24 +246,20 @@ impl<'a> Widget for Crafting<'a> { { let output_text = format!("x{}", &recipe.output.1.to_string()); // Output Image + let (title, desc) = super::util::item_text(&recipe.output.0); Button::image( self.item_imgs .img_id_or_not_found_img((&recipe.output.0).into()), ) .w_h(55.0, 55.0) .middle_of(state.ids.output_img_frame) - .label(if recipe.output.1 > 1 {&output_text} else {""}) // Only show output amount for amounts > 1 + .label(&output_text) .label_color(TEXT_COLOR) .label_font_size(self.fonts.cyri.scale(14)) .label_font_id(self.fonts.cyri.conrod_id) .label_y(conrod_core::position::Relative::Scalar(-24.0)) .label_x(conrod_core::position::Relative::Scalar(24.0)) - .with_tooltip( - self.tooltip_manager, - recipe.output.0.name(), - recipe.output.0.description(), - &item_tooltip, - ) + .with_tooltip(self.tooltip_manager, title, &*desc, &item_tooltip) .set(state.ids.output_img, ui); } }, @@ -395,13 +391,12 @@ impl<'a> Widget for Crafting<'a> { }; frame.set(state.ids.ingredient_frame[i], ui); //Item Image - let title = item.name(); - let desc = item.description(); + let (title, desc) = super::util::item_text(&item); Button::image(self.item_imgs.img_id_or_not_found_img(item.into())) .w_h(22.0, 22.0) .middle_of(state.ids.ingredient_frame[i]) //.image_color(col) - .with_tooltip(self.tooltip_manager, title, desc, &item_tooltip) + .with_tooltip(self.tooltip_manager, title, &*desc, &item_tooltip) .set(state.ids.ingredient_img[i], ui); // Ingredients text and amount // Don't show inventory amounts above 999 to avoid the widget clipping diff --git a/voxygen/src/hud/mod.rs b/voxygen/src/hud/mod.rs index 9f4e7e2a71..b5a2bb8db8 100644 --- a/voxygen/src/hud/mod.rs +++ b/voxygen/src/hud/mod.rs @@ -1723,7 +1723,7 @@ impl Hud { self.show.stats = false; self.show.bag(false); self.show.crafting(false); - if self.show.social == false { + if !self.show.social { self.show.want_grab = true; self.force_ungrab = false; } else { @@ -1805,7 +1805,7 @@ impl Hud { self.show.stats = false; self.show.crafting(false); self.show.bag(false); - if self.show.social == false { + if !self.show.social { self.show.want_grab = true; self.force_ungrab = false; } else { @@ -2032,7 +2032,7 @@ impl Hud { match event { social::Event::Close => { self.show.social(false); - if self.show.bag == false { + if !self.show.bag { self.show.want_grab = true; self.force_ungrab = false; } else { diff --git a/voxygen/src/hud/overhead.rs b/voxygen/src/hud/overhead.rs index 5f7d059fcd..25bdc5e06a 100644 --- a/voxygen/src/hud/overhead.rs +++ b/voxygen/src/hud/overhead.rs @@ -155,7 +155,9 @@ impl<'a> Widget for Overhead<'a> { let hp_percentage = self.stats.health.current() as f64 / self.stats.health.maximum() as f64 * 100.0; let level_comp = self.stats.level.level() as i64 - self.own_level as i64; - let name_y = if hp_percentage == 100.0 { + let health_current = (self.stats.health.current() / 10) as f64; + let health_max = (self.stats.health.maximum() / 10) as f64; + let name_y = if (health_current - health_max).abs() < 1e-6 { MANA_BAR_Y + 20.0 } else if level_comp > 9 { MANA_BAR_Y + 38.0 @@ -163,22 +165,17 @@ impl<'a> Widget for Overhead<'a> { MANA_BAR_Y + 32.0 }; let font_size = if hp_percentage.abs() > 99.9 { 24 } else { 20 }; - let health_current = (self.stats.health.current() / 10) as f64; - let health_max = (self.stats.health.maximum() / 10) as f64; // Show K for numbers above 10^3 and truncate them // Show M for numbers above 10^6 and truncate them let health_cur_txt = match health_current as u32 { - 0..=999 => format!("{}", (health_current).trunc().max(1.0) as u32), - 1000..=999999 => format!("{}K", (health_current / 1000.0).trunc() as u32), - _ => format!( - "{}M", - (health_current as f64 / 10f64.powf(6.0)).trunc() as u32 - ), + 0..=999 => format!("{:.0}", health_current.max(1.0)), + 1000..=999999 => format!("{:.0}K", (health_current / 1000.0).max(1.0)), + _ => format!("{:.0}M", (health_current as f64 / 1.0e6).max(1.0)), }; let health_max_txt = match health_max as u32 { - 0..=999 => format!("{}", (health_max).trunc() as u32), - 1000..=999999 => format!("{}K", (health_max / 1000.0).trunc() as u32), - _ => format!("{}M", (health_max / 10f64.powf(6.0)).trunc() as u32), + 0..=999 => format!("{:.0}", health_max.max(1.0)), + 1000..=999999 => format!("{:.0}K", (health_max / 1000.0).max(1.0)), + _ => format!("{:.0}M", (health_max as f64 / 1.0e6).max(1.0)), }; // Name Text::new(&self.name) @@ -194,8 +191,10 @@ impl<'a> Widget for Overhead<'a> { .color(if self.in_group { GROUP_MEMBER /*} else if targets player { //TODO: Add a way to see if the entity is trying to attack the player, their pet(s) or a member of their group and recolour their nametag accordingly - DEFAULT_NPC*/ - } else {DEFAULT_NPC}) + DEFAULT_NPC*/ + } else { + DEFAULT_NPC + }) .x_y(0.0, name_y + 1.0) .parent(id) .set(state.ids.name, ui); diff --git a/voxygen/src/hud/social.rs b/voxygen/src/hud/social.rs index c9642f0786..82d570a15b 100644 --- a/voxygen/src/hud/social.rs +++ b/voxygen/src/hud/social.rs @@ -344,7 +344,7 @@ impl<'a> Widget for Social<'a> { .font_size(self.fonts.cyri.scale(14)) .color(TEXT_COLOR) .set(state.ids.online_txt, ui); - Text::new(&(count - 1).to_string()) + Text::new(&count.to_string()) .right_from(state.ids.online_txt, 5.0) .font_id(self.fonts.cyri.conrod_id) .font_size(self.fonts.cyri.scale(14)) diff --git a/world/src/layer/mod.rs b/world/src/layer/mod.rs index 403db7ba06..c47c7336da 100644 --- a/world/src/layer/mod.rs +++ b/world/src/layer/mod.rs @@ -145,19 +145,19 @@ pub fn apply_scatter_to<'a>( // Grass (ShortGrass, false, |c| { ( - close(c.temp, 0.3, 0.4).min(close(c.humidity, 0.6, 0.35)) * 0.5, + close(c.temp, 0.3, 0.4).min(close(c.humidity, 0.6, 0.35)) * 0.05, Some((48.0, 0.4)), ) }), (MediumGrass, false, |c| { ( - close(c.temp, 0.0, 0.6).min(close(c.humidity, 0.6, 0.35)) * 0.5, + close(c.temp, 0.0, 0.6).min(close(c.humidity, 0.6, 0.35)) * 0.05, Some((48.0, 0.2)), ) }), (LongGrass, false, |c| { ( - close(c.temp, 0.4, 0.4).min(close(c.humidity, 0.8, 0.2)) * 0.5, + close(c.temp, 0.4, 0.4).min(close(c.humidity, 0.8, 0.2)) * 0.08, Some((48.0, 0.1)), ) }), @@ -168,7 +168,7 @@ pub fn apply_scatter_to<'a>( c.humidity, CONFIG.jungle_hum, 0.6, - )) * 0.5, + )) * 0.08, Some((60.0, 5.0)), ) }), @@ -508,7 +508,7 @@ pub fn apply_caves_to<'a>( } } } - +#[allow(clippy::eval_order_dependence)] pub fn apply_caves_supplement<'a>( rng: &mut impl Rng, wpos2d: Vec2, diff --git a/world/src/lib.rs b/world/src/lib.rs index 105859cb91..80670bbd64 100644 --- a/world/src/lib.rs +++ b/world/src/lib.rs @@ -105,6 +105,7 @@ impl World { pub fn sample_blocks(&self) -> BlockGen { BlockGen::new(ColumnGen::new(&self.sim)) } #[allow(clippy::or_fun_call)] // TODO: Pending review in #587 + #[allow(clippy::eval_order_dependence)] pub fn generate_chunk( &self, index: IndexRef, @@ -205,9 +206,9 @@ impl World { let mut rng = rand::thread_rng(); // Apply layers (paths, caves, etc.) + layer::apply_caves_to(chunk_wpos2d, sample_get, &mut chunk, index); layer::apply_scatter_to(chunk_wpos2d, sample_get, &mut chunk, index, sim_chunk); layer::apply_paths_to(chunk_wpos2d, sample_get, &mut chunk, index); - layer::apply_caves_to(chunk_wpos2d, sample_get, &mut chunk, index); // Apply site generation sim_chunk.sites.iter().for_each(|site| { @@ -236,12 +237,9 @@ impl World { && sim_chunk.chaos < 0.5 && !sim_chunk.is_underwater() { + // TODO: REFACTOR: Define specific alignments in a config file instead of here let is_hostile: bool; - let is_giant = if rng.gen_range(0, 8) == 0 { - true - } else { - false - }; + let is_giant = rng.gen_range(0, 8) == 0; let quadmed = comp::Body::QuadrupedMedium(quadruped_medium::Body::random()); // Not all of them are hostile so we have to do the rng here let quadlow = comp::Body::QuadrupedLow(quadruped_low::Body::random()); // Not all of them are hostile so we have to do the rng here let entity = EntityInfo::at(gen_entity_pos())