diff --git a/assets/voxygen/i18n/en.ron b/assets/voxygen/i18n/en.ron index b9d8bb19fc..3999e25769 100644 --- a/assets/voxygen/i18n/en.ron +++ b/assets/voxygen/i18n/en.ron @@ -182,7 +182,7 @@ https://account.veloren.net."#, "hud.chat.pvp_melee_kill_msg": "[{attacker}] defeated [{victim}]", "hud.chat.pvp_ranged_kill_msg": "[{attacker}] shot [{victim}]", "hud.chat.pvp_explosion_kill_msg": "[{attacker}] blew up [{victim}]", - "hud.chat.pvp_explosion_kill_msg": "[{attacker}] used magic to kill [{victim}]", + "hud.chat.pvp_energy_kill_msg": "[{attacker}] used magic to kill [{victim}]", "hud.chat.npc_melee_kill_msg": "{attacker} killed [{victim}]", "hud.chat.npc_ranged_kill_msg": "{attacker} shot [{victim}]", diff --git a/assets/voxygen/shaders/particle-vert.glsl b/assets/voxygen/shaders/particle-vert.glsl index 0a2e020ca4..87d09d4a27 100644 --- a/assets/voxygen/shaders/particle-vert.glsl +++ b/assets/voxygen/shaders/particle-vert.glsl @@ -23,7 +23,7 @@ in vec3 inst_pos; in float inst_time; in float inst_lifespan; in float inst_entropy; -in vec3 inst_pos2; +in vec3 inst_dir; in int inst_mode; out vec3 f_pos; @@ -271,10 +271,10 @@ void main() { ); } else if (inst_mode == HEALING_BEAM) { attr = Attr( - spiral_motion(inst_pos2 - inst_pos, 0.3 * (floor(2 * rand0 + 0.5) - 0.5) * min(linear_scale(10), 1), lifetime / inst_lifespan), + spiral_motion(inst_dir, 0.3 * (floor(2 * rand0 + 0.5) - 0.5) * min(linear_scale(10), 1), lifetime / inst_lifespan), vec3((1.7 - 0.7 * abs(floor(2 * rand0 - 0.5) + 0.5)) * (1.5 + 0.5 * sin(tick.x * 10 - lifetime * 4))), vec4(vec3(0.3, 0.7 + 0.4 * sin(tick.x * 8 - lifetime * 3), 0.3 + 0.1 * sin (tick.x * 2)), 0.3), - spin_in_axis(inst_pos2, tick.z) + spin_in_axis(inst_dir, tick.z) ); } else if (inst_mode == ENERGY_NATURE) { attr = Attr( diff --git a/common/src/comp/beam.rs b/common/src/comp/beam.rs index 9f98dae078..387bc98461 100644 --- a/common/src/comp/beam.rs +++ b/common/src/comp/beam.rs @@ -1,6 +1,6 @@ use crate::sync::Uid; use serde::{Deserialize, Serialize}; -use specs::{Component, FlaggedStorage, VecStorage}; +use specs::{Component, FlaggedStorage}; use specs_idvs::IdvStorage; use std::time::Duration; @@ -45,5 +45,5 @@ pub struct Beam { } impl Component for Beam { - type Storage = VecStorage; + type Storage = IdvStorage; } diff --git a/common/src/states/basic_beam.rs b/common/src/states/basic_beam.rs index 7ac95f556e..baa3b253cf 100644 --- a/common/src/states/basic_beam.rs +++ b/common/src/states/basic_beam.rs @@ -3,7 +3,7 @@ use crate::{ event::ServerEvent, states::utils::{StageSection, *}, sync::Uid, - sys::character_behavior::*, + sys::character_behavior::{CharacterBehavior, JoinData}, }; use serde::{Deserialize, Serialize}; use std::time::Duration; diff --git a/common/src/states/basic_melee.rs b/common/src/states/basic_melee.rs index 3e7cfa3633..0d98e0aeac 100644 --- a/common/src/states/basic_melee.rs +++ b/common/src/states/basic_melee.rs @@ -1,7 +1,7 @@ use crate::{ comp::{Attacking, CharacterState, EnergySource, StateUpdate}, states::utils::*, - sys::character_behavior::*, + sys::character_behavior::{CharacterBehavior, JoinData}, }; use serde::{Deserialize, Serialize}; use std::time::Duration; @@ -46,14 +46,11 @@ impl CharacterBehavior for Data { exhausted: false, }); } else if !self.exhausted { - let (damage, heal): (u32, u32); - if self.base_healthchange > 0 { - heal = self.base_healthchange as u32; - damage = 0; + let (damage, heal) = if self.base_healthchange > 0 { + (0, self.base_healthchange as u32) } else { - damage = (-self.base_healthchange) as u32; - heal = 0; - } + ((-self.base_healthchange) as u32, 0) + }; // Hit attempt data.updater.insert(data.entity, Attacking { base_damage: damage, diff --git a/common/src/states/basic_ranged.rs b/common/src/states/basic_ranged.rs index 4b0c928c64..48935d99bf 100644 --- a/common/src/states/basic_ranged.rs +++ b/common/src/states/basic_ranged.rs @@ -2,7 +2,7 @@ use crate::{ comp::{Body, CharacterState, Gravity, LightEmitter, Projectile, StateUpdate}, event::ServerEvent, states::utils::*, - sys::character_behavior::*, + sys::character_behavior::{CharacterBehavior, JoinData}, }; use serde::{Deserialize, Serialize}; use std::time::Duration; diff --git a/common/src/states/boost.rs b/common/src/states/boost.rs index 3916109536..52f1994152 100644 --- a/common/src/states/boost.rs +++ b/common/src/states/boost.rs @@ -1,7 +1,7 @@ use crate::{ comp::{Attacking, CharacterState, EnergySource, StateUpdate}, states::utils::*, - sys::character_behavior::*, + sys::character_behavior::{CharacterBehavior, JoinData}, }; use serde::{Deserialize, Serialize}; use std::time::Duration; diff --git a/common/src/states/charged_ranged.rs b/common/src/states/charged_ranged.rs index 8f501785d3..1386b8b4d5 100644 --- a/common/src/states/charged_ranged.rs +++ b/common/src/states/charged_ranged.rs @@ -5,7 +5,7 @@ use crate::{ }, event::ServerEvent, states::utils::*, - sys::character_behavior::*, + sys::character_behavior::{CharacterBehavior, JoinData}, }; use serde::{Deserialize, Serialize}; use std::time::Duration; diff --git a/common/src/states/dash_melee.rs b/common/src/states/dash_melee.rs index 9e94f3768b..f336e7f491 100644 --- a/common/src/states/dash_melee.rs +++ b/common/src/states/dash_melee.rs @@ -1,7 +1,7 @@ use crate::{ comp::{Attacking, CharacterState, EnergySource, StateUpdate}, states::utils::{StageSection, *}, - sys::character_behavior::*, + sys::character_behavior::{CharacterBehavior, JoinData}, }; use serde::{Deserialize, Serialize}; use std::time::Duration; diff --git a/common/src/states/ground_shockwave.rs b/common/src/states/ground_shockwave.rs index 81038fc58b..5142a87d68 100644 --- a/common/src/states/ground_shockwave.rs +++ b/common/src/states/ground_shockwave.rs @@ -2,7 +2,7 @@ use crate::{ comp::{shockwave, Attacking, CharacterState, StateUpdate}, event::ServerEvent, states::utils::*, - sys::character_behavior::*, + sys::character_behavior::{CharacterBehavior, JoinData}, }; use serde::{Deserialize, Serialize}; use std::time::Duration; diff --git a/common/src/states/leap_melee.rs b/common/src/states/leap_melee.rs index 40879e0a6b..5575c110b7 100644 --- a/common/src/states/leap_melee.rs +++ b/common/src/states/leap_melee.rs @@ -1,7 +1,7 @@ use crate::{ comp::{Attacking, CharacterState, StateUpdate}, states::utils::*, - sys::character_behavior::*, + sys::character_behavior::{CharacterBehavior, JoinData}, }; use serde::{Deserialize, Serialize}; use std::time::Duration; diff --git a/common/src/states/spin_melee.rs b/common/src/states/spin_melee.rs index 111930c26a..5d5cfb4445 100644 --- a/common/src/states/spin_melee.rs +++ b/common/src/states/spin_melee.rs @@ -1,7 +1,7 @@ use crate::{ comp::{Attacking, CharacterState, EnergySource, StateUpdate}, states::utils::{StageSection, *}, - sys::character_behavior::*, + sys::character_behavior::{CharacterBehavior, JoinData}, }; use serde::{Deserialize, Serialize}; use std::time::Duration; diff --git a/common/src/sys/beam.rs b/common/src/sys/beam.rs index c5e1304c38..d39a4b4c3a 100644 --- a/common/src/sys/beam.rs +++ b/common/src/sys/beam.rs @@ -168,13 +168,8 @@ impl<'a> System<'a> for Sys { } // Don't heal if outside group // Don't damage in the same group - let (mut is_heal, mut is_damage) = (false, false); - if !same_group && (beam_segment.damage > 0) { - is_damage = true; - } - if same_group && (beam_segment.heal > 0) { - is_heal = true; - } + let is_damage = !same_group && (beam_segment.damage > 0); + let is_heal = same_group && (beam_segment.heal > 0); if !is_heal && !is_damage { continue; } @@ -214,20 +209,19 @@ impl<'a> System<'a> for Sys { }, }, }); - server_emitter.emit(ServerEvent::Damage { - uid: beam_segment.owner.unwrap_or(*uid), - change: HealthChange { - amount: (-damage.healthchange * beam_segment.lifesteal_eff) as i32, - cause: HealthSource::Healing { - by: beam_segment.owner, + if beam_segment.lifesteal_eff > 0.0 { + server_emitter.emit(ServerEvent::Damage { + uid: beam_segment.owner.unwrap_or(*uid), + change: HealthChange { + amount: (-damage.healthchange * beam_segment.lifesteal_eff) + as i32, + cause: HealthSource::Healing { + by: beam_segment.owner, + }, }, - }, - }); - if let Some(energy_mut) = beam_segment - .owner - .and_then(|o| uid_allocator.retrieve_entity_internal(o.into())) - .and_then(|o| energies.get_mut(o)) - { + }); + } + if let Some(energy_mut) = beam_owner.and_then(|o| energies.get_mut(o)) { energy_mut.change_by( beam_segment.energy_regen as i32, EnergySource::HitEnemy, @@ -235,11 +229,7 @@ impl<'a> System<'a> for Sys { } } if is_heal { - if let Some(energy_mut) = beam_segment - .owner - .and_then(|o| uid_allocator.retrieve_entity_internal(o.into())) - .and_then(|o| energies.get_mut(o)) - { + if let Some(energy_mut) = beam_owner.and_then(|o| energies.get_mut(o)) { if energy_mut .try_change_by( -(beam_segment.energy_drain as i32), // Stamina use diff --git a/common/src/sys/character_behavior.rs b/common/src/sys/character_behavior.rs index 9ac69116cb..4ec197b19e 100644 --- a/common/src/sys/character_behavior.rs +++ b/common/src/sys/character_behavior.rs @@ -64,7 +64,6 @@ pub struct JoinData<'a> { pub body: &'a Body, pub physics: &'a PhysicsState, pub attacking: Option<&'a Attacking>, - pub beam: Option<&'a Beam>, pub updater: &'a LazyUpdate, } @@ -128,7 +127,6 @@ impl<'a> JoinData<'a> { body: j.10, physics: j.11, attacking: j.12, - beam: j.13, updater, dt, } diff --git a/common/src/sys/combat.rs b/common/src/sys/combat.rs index ba622ffa5b..a9327b96ef 100644 --- a/common/src/sys/combat.rs +++ b/common/src/sys/combat.rs @@ -99,7 +99,7 @@ impl<'a> System<'a> for Sys { let scale_b = scale_b_maybe.map_or(1.0, |s| s.0); let rad_b = body_b.radius() * scale_b; - // Check if it is a damaging hit + // Check if it is a hit if entity != b && !stats_b.is_dead // Spherical wedge shaped attack field @@ -113,13 +113,8 @@ impl<'a> System<'a> for Sys { .unwrap_or(false); // Don't heal if outside group // Don't damage in the same group - let (mut is_heal, mut is_damage) = (false, false); - if !same_group && (attack.base_damage > 0) { - is_damage = true; - } - if same_group && (attack.base_heal > 0) { - is_heal = true; - } + let is_damage = !same_group && (attack.base_damage > 0); + let is_heal = same_group && (attack.base_heal > 0); if !is_heal && !is_damage { continue; } diff --git a/common/src/sys/phys.rs b/common/src/sys/phys.rs index 7d45102ca1..a2b5947b6e 100644 --- a/common/src/sys/phys.rs +++ b/common/src/sys/phys.rs @@ -135,7 +135,7 @@ impl<'a> System<'a> for Sys { // it means the step needs to take into account the speeds of both // entities. span!(guard, "Apply pushback"); - for (entity, pos, scale, mass, collider, _, _, physics, projectile, _) in ( + for (entity, pos, scale, mass, collider, _, _, physics, projectile) in ( &entities, &positions, scales.maybe(), @@ -147,13 +147,10 @@ impl<'a> System<'a> for Sys { // TODO: if we need to avoid collisions for other things consider moving whether it // should interact into the collider component or into a separate component projectiles.maybe(), - beams.maybe(), ) .join() - .filter(|(_, _, _, _, _, _, sticky, physics, _, beam)| { - sticky.is_none() - || (physics.on_wall.is_none() && !physics.on_ground) - || beam.is_none() + .filter(|(_, _, _, _, _, _, sticky, physics, _)| { + sticky.is_none() || (physics.on_wall.is_none() && !physics.on_ground) }) { let scale = scale.map(|s| s.0).unwrap_or(1.0); @@ -192,10 +189,9 @@ impl<'a> System<'a> for Sys { colliders.maybe(), !&mountings, groups.maybe(), - beams.maybe(), + !&beams, ) .join() - .filter(|(_, _, _, _, _, _, _, _, beam)| beam.is_none()) { if entity == entity_other || (ignore_group.is_some() && ignore_group == group_b) { continue; diff --git a/items.csv b/items.csv deleted file mode 100644 index 46259db381..0000000000 --- a/items.csv +++ /dev/null @@ -1,371 +0,0 @@ -Path,Name,Kind -common.items.armor.back.admin,Admin's Cape,Admin -common.items.armor.back.dungeon_purple-0,Purple Cultist Cape,DungPurp0 -common.items.armor.back.leather_adventurer,Agile Cape,Short2 -common.items.armor.back.short_0,Short leather Cape,Short0 -common.items.armor.back.short_1,Green Blanket,Short1 -common.items.armor.belt.assassin,Assassin Belt,Assassin -common.items.armor.belt.bonerattler,Bonerattler Belt,Bonerattler -common.items.armor.belt.cloth_blue_0,Blue Linen Belt,ClothBlue0 -common.items.armor.belt.cloth_green_0,Green Linen Belt,ClothGreen0 -common.items.armor.belt.cloth_purple_0,Purple Linen Belt,ClothPurple0 -common.items.armor.belt.cultist_belt,Cultist Belt,Cultist -common.items.armor.belt.druid,Druid's Belt,Druid -common.items.armor.belt.leather_0,Swift Belt,Leather0 -common.items.armor.belt.leather_2,Leather Belt,Leather2 -common.items.armor.belt.leather_adventurer,Agile Belt,Leather2 -common.items.armor.belt.plate_0,Iron Belt,Plate0 -common.items.armor.belt.steel_0,Steel Belt,Steel0 -common.items.armor.belt.tarasque,Tarasque Belt,Tarasque -common.items.armor.belt.twig,Twig Belt,Twig -common.items.armor.belt.twigsflowers,Flowery Belt,Twigsflowers -common.items.armor.belt.twigsleaves,Leafy Belt,Twigsleaves -common.items.armor.chest.assassin,Assassin Chest,Assassin -common.items.armor.chest.bonerattler,Bonerattler Cuirass,Bonerattler -common.items.armor.chest.cloth_blue_0,Blue Linen Chest,ClothBlue0 -common.items.armor.chest.cloth_green_0,Green Linen Chest,ClothGreen0 -common.items.armor.chest.cloth_purple_0,Purple Linen Chest,ClothPurple0 -common.items.armor.chest.cultist_chest_blue,Blue Cultist Chest,CultistBlue -common.items.armor.chest.cultist_chest_purple,Purple Cultist Chest,CultistPurple -common.items.armor.chest.druid,Druid's Vest,Druid -common.items.armor.chest.leather_0,Swift Chest,Leather0 -common.items.armor.chest.leather_2,Leather Cuirass,Leather2 -common.items.armor.chest.leather_adventurer,Agile Chest,Leather2 -common.items.armor.chest.plate_green_0,Iron Chestplate,PlateGreen0 -common.items.armor.chest.steel_0,Steel Cuirass,Steel0 -common.items.armor.chest.tarasque,Tarasque Cuirass,Tarasque -common.items.armor.chest.twig,Twig Shirt,Twig -common.items.armor.chest.twigsflowers,Flowery Shirt,Twigsflowers -common.items.armor.chest.twigsleaves,Leafy Shirt,Twigsleaves -common.items.armor.chest.worker_green_0,Green Worker Shirt,WorkerGreen0 -common.items.armor.chest.worker_green_1,Green Worker Shirt,WorkerGreen1 -common.items.armor.chest.worker_orange_0,Orange Worker Shirt,WorkerOrange0 -common.items.armor.chest.worker_orange_1,Orange Worker Shirt,WorkerOrange1 -common.items.armor.chest.worker_purple_0,Purple Worker Shirt,WorkerPurple0 -common.items.armor.chest.worker_purple_1,Purple Worker Shirt,WorkerPurple1 -common.items.armor.chest.worker_red_0,Red Worker Shirt,WorkerRed0 -common.items.armor.chest.worker_red_1,Red Worker Shirt,WorkerRed1 -common.items.armor.chest.worker_yellow_0,Yellow Worker Shirt,WorkerYellow0 -common.items.armor.chest.worker_yellow_1,Yellow Worker Shirt,WorkerYellow1 -common.items.armor.foot.assassin,Assassin Boots,Assassin -common.items.armor.foot.bonerattler,Bonerattler Boots,Bonerattler -common.items.armor.foot.cloth_blue_0,Blue Linen Boots,ClothBlue0 -common.items.armor.foot.cloth_green_0,Green Linen Boots,ClothGreen0 -common.items.armor.foot.cloth_purple_0,Purple Linen Boots,ClothPurple0 -common.items.armor.foot.cultist_boots,Cultist Boots,Cultist -common.items.armor.foot.druid,Druid's Slippers,Druid -common.items.armor.foot.jackalope_slippers,Fluffy Jackalope Slippers,JackalopeSlips -common.items.armor.foot.leather_0,Swift Boots,Leather0 -common.items.armor.foot.leather_2,Leather Boots,Leather2 -common.items.armor.foot.leather_adventurer,Agile Kickers,Leather2 -common.items.armor.foot.plate_0,Iron Feet,Plate0 -common.items.armor.foot.steel_0,Steel Boots,Steel0 -common.items.armor.foot.tarasque,Tarasque Boots,Tarasque -common.items.armor.foot.twig,Twig Boots,Twig -common.items.armor.foot.twigsflowers,Flowery Boots,Twigsflowers -common.items.armor.foot.twigsleaves,Leafy Boots,Twigsleaves -common.items.armor.hand.assassin,Assassin Gloves,Assassin -common.items.armor.hand.bonerattler,Bonerattler Gauntlets,Bonerattler -common.items.armor.hand.cloth_blue_0,Blue Linen Wrists,ClothBlue0 -common.items.armor.hand.cloth_green_0,Green Linen Wrists,ClothGreen0 -common.items.armor.hand.cloth_purple_0,Purple Silk Wrists,ClothPurple0 -common.items.armor.hand.cultist_hands_blue,Blue Cultist Gloves,CultistBlue -common.items.armor.hand.cultist_hands_purple,Purple Cultist Gloves,CultistPurple -common.items.armor.hand.druid,Druid's Gloves,Druid -common.items.armor.hand.leather_0,Swift Gloves,Leather0 -common.items.armor.hand.leather_2,Leather Gloves,Leather2 -common.items.armor.hand.leather_adventurer,Agile Gauntlets,Leather2 -common.items.armor.hand.plate_0,Iron Handguards,Plate0 -common.items.armor.hand.steel_0,Steel Gauntlets,Steel0 -common.items.armor.hand.tarasque,Tarasque Gauntlets,Tarasque -common.items.armor.hand.twig,Twig Wraps,Twig -common.items.armor.hand.twigsflowers,Flowery Wraps,Twigsflowers -common.items.armor.hand.twigsleaves,Leafy Wraps,Twigsleaves -common.items.armor.head.assa_mask_0,Dark Assassin Mask,AssaMask0 -common.items.armor.head.leather_0,Swift Leather Cap,Leather0 -common.items.armor.neck.neck_0,Plain Necklace,Neck0 -common.items.armor.neck.neck_1,Gem of lesser Protection,Neck1 -common.items.armor.pants.assassin,Assassin Pants,Assassin -common.items.armor.pants.bonerattler,Bonerattler Chausses,Bonerattler -common.items.armor.pants.cloth_blue_0,Blue Linen Skirt,ClothBlue0 -common.items.armor.pants.cloth_green_0,Green Linen Skirt,ClothGreen0 -common.items.armor.pants.cloth_purple_0,Purple Linen Skirt,ClothPurple0 -common.items.armor.pants.cultist_legs_blue,Blue Cultist Skirt,CultistBlue -common.items.armor.pants.cultist_legs_purple,Purple Cultist Skirt,CultistPurple -common.items.armor.pants.druid,Druid's Kilt,Druid -common.items.armor.pants.hunting,Hunting Pants,Hunting -common.items.armor.pants.leather_0,Swift Pants,Leather0 -common.items.armor.pants.leather_2,Leather Leg Armour,Leather2 -common.items.armor.pants.leather_adventurer,Agile Pantalons,Leather2 -common.items.armor.pants.plate_green_0,Iron Legguards,PlateGreen0 -common.items.armor.pants.steel_0,Steel Chausses,Steel0 -common.items.armor.pants.tarasque,Tarasque Chausses,Tarasque -common.items.armor.pants.twig,Twig Pants,Twig -common.items.armor.pants.twigsflowers,Flowery Pants,Twigsflowers -common.items.armor.pants.twigsleaves,Leafy Pants,Twigsleaves -common.items.armor.pants.worker_blue_0,Blue Worker Pants,WorkerBlue0 -common.items.armor.ring.ring_0,Scratched Ring,Ring0 -common.items.armor.shoulder.assassin,Assassin Shoulder Guard,Assassin -common.items.armor.shoulder.bonerattler,Bonerattler Shoulder Pad,Bonerattler -common.items.armor.shoulder.cloth_blue_0,Blue Linen Coat,ClothBlue0 -common.items.armor.shoulder.cloth_blue_1,Blue Cloth Pads,ClothBlue1 -common.items.armor.shoulder.cloth_green_0,Green Linen Coat,ClothGreen0 -common.items.armor.shoulder.cloth_purple_0,Purple Linen Coat,ClothPurple0 -common.items.armor.shoulder.cultist_shoulder_blue,Blue Cultist Mantle,CultistBlue -common.items.armor.shoulder.cultist_shoulder_purple,Purple Cultist Mantle,CultistPurple -common.items.armor.shoulder.druidshoulder,Druid Shoulders,DruidShoulder -common.items.armor.shoulder.iron_spikes,Iron Spiked Pauldrons,IronSpikes -common.items.armor.shoulder.leather_0,Leather Pauldrons,Leather0 -common.items.armor.shoulder.leather_1,Swift Shoulderpads,Leather1 -common.items.armor.shoulder.leather_2,Leather Shoulder Pad,Leather2 -common.items.armor.shoulder.leather_adventurer,Agile Guards,Leather2 -common.items.armor.shoulder.leather_iron_0,Iron and Leather Spaulders,IronLeather0 -common.items.armor.shoulder.leather_iron_1,Iron and Leather Spaulders,IronLeather1 -common.items.armor.shoulder.leather_iron_2,Iron and Leather Spaulders,IronLeather2 -common.items.armor.shoulder.leather_iron_3,Iron and Leather Spaulders,IronLeather3 -common.items.armor.shoulder.leather_strips,Leather Strips,LeatherStrips -common.items.armor.shoulder.plate_0,Iron Shoulderguards,Plate0 -common.items.armor.shoulder.steel_0,Steel Shoulder Pad,Steel0 -common.items.armor.shoulder.tarasque,Tarasque Shoulder Pad,Tarasque -common.items.armor.shoulder.twigs,Twiggy Shoulders,TwiggyShoulder -common.items.armor.shoulder.twigsflowers,Flowery Shoulders,FlowerShoulder -common.items.armor.shoulder.twigsleaves,Leafy Shoulders,LeafyShoulder -common.items.armor.starter.lantern,Black Lantern,Black0 -common.items.armor.starter.rugged_chest,Rugged Shirt,Rugged0 -common.items.armor.starter.rugged_pants,Rugged Commoner's Pants,Rugged0 -common.items.armor.starter.sandals_0,Worn out Sandals,Sandal0 -common.items.armor.tabard.admin,Admin's Tabard,Admin -common.items.boss_drops.exp_flask,Flask of Velorite Dusk, -common.items.boss_drops.lantern,Magic Lantern,Blue0 -common.items.boss_drops.potions,Potent Potion, -common.items.boss_drops.xp_potion,Potion of Skill, -common.items.consumable.potion_big,Large Potion, -common.items.consumable.potion_med,Medium Potion, -common.items.consumable.potion_minor,Minor Potion, -common.items.crafting_ing.empty_vial,Empty Vial, -common.items.crafting_ing.leather_scraps,Leather Scraps, -common.items.crafting_ing.shiny_gem,Shiny Gem, -common.items.crafting_ing.stones,Stones, -common.items.crafting_ing.twigs,Twigs, -common.items.crafting_tools.craftsman_hammer,Craftsman Hammer, -common.items.crafting_tools.mortar_pestle,Mortar and Pestle, -common.items.debug.admin,Admin's Tabard,Admin -common.items.debug.admin_back,Admin's Cape,Admin -common.items.debug.boost,Belzeshrub the Broom-God,Boost -common.items.debug.cultist_belt,Cultist Belt,Cultist -common.items.debug.cultist_boots,Cultist Boots,Cultist -common.items.debug.cultist_chest_blue,Blue Cultist Chest,CultistBlue -common.items.debug.cultist_hands_blue,Blue Cultist Gloves,CultistBlue -common.items.debug.cultist_legs_blue,Blue Cultist Skirt,CultistBlue -common.items.debug.cultist_purp_2h_boss-0,Admin Greatsword,CultPurp0 -common.items.debug.cultist_shoulder_blue,Blue Cultist Mantle,CultistBlue -common.items.debug.dungeon_purple-0,Purple Admin Cape,DungPurp0 -common.items.debug.possess,Belzeshrub the Broom-God,Boost -common.items.flowers.blue,Blue Flower, -common.items.flowers.pink,Pink Flower, -common.items.flowers.red,Red Flower, -common.items.flowers.sun,Sunflower, -common.items.flowers.white,White flower, -common.items.flowers.yellow,Yellow Flower, -common.items.food.apple,Apple, -common.items.food.apple_mushroom_curry,Mushroom Curry, -common.items.food.apple_stick,Apple Stick, -common.items.food.cheese,Dwarven Cheese, -common.items.food.coconut,Coconut, -common.items.food.mushroom,Mushroom, -common.items.food.mushroom_stick,Mushroom Stick, -common.items.grasses.long,Long Grass, -common.items.grasses.medium,Medium Grass, -common.items.grasses.short,Short Grass, -common.items.lantern.black_0,Black Lantern,Black0 -common.items.lantern.blue_0,Cool Blue Lantern,Blue0 -common.items.lantern.green_0,Lime Zest Lantern,Green0 -common.items.lantern.red_0,Red Lantern,Red0 -common.items.npc_armor.back.dungeon_purple-0,Purple Cultist Cape,DungPurp0 -common.items.npc_armor.belt.cultist_belt,Cultist Belt,Cultist -common.items.npc_armor.chest.cultist_chest_purple,Purple Cultist Chest,CultistPurple -common.items.npc_armor.chest.worker_green_0,Green Worker Shirt,WorkerGreen0 -common.items.npc_armor.chest.worker_green_1,Green Worker Shirt,WorkerGreen1 -common.items.npc_armor.chest.worker_orange_0,Orange Worker Shirt,WorkerOrange0 -common.items.npc_armor.chest.worker_orange_1,Orange Worker Shirt,WorkerOrange1 -common.items.npc_armor.chest.worker_purple_0,Purple Worker Shirt,WorkerPurple0 -common.items.npc_armor.chest.worker_purple_1,Purple Worker Shirt,WorkerPurple1 -common.items.npc_armor.chest.worker_red_0,Red Worker Shirt,WorkerRed0 -common.items.npc_armor.chest.worker_red_1,Red Worker Shirt,WorkerRed1 -common.items.npc_armor.chest.worker_yellow_0,Yellow Worker Shirt,WorkerYellow0 -common.items.npc_armor.chest.worker_yellow_1,Yellow Worker Shirt,WorkerYellow1 -common.items.npc_armor.foot.cultist_boots,Cultist Boots,Cultist -common.items.npc_armor.hand.cultist_hands_purple,Purple Cultist Gloves,CultistPurple -common.items.npc_armor.pants.cultist_legs_purple,Purple Cultist Skirt,CultistPurple -common.items.npc_armor.shoulder.cultist_shoulder_purple,Purple Cultist Mantle,CultistPurple -common.items.npc_weapons.axe.malachite_axe-0,Malachite Axe,MalachiteAxe0 -common.items.npc_weapons.axe.starter_axe,Notched Axe,BasicAxe -common.items.npc_weapons.bow.horn_longbow-0,Horn Bow,HornLongbow0 -common.items.npc_weapons.dagger.starter_dagger,Rusty Dagger,BasicDagger -common.items.npc_weapons.empty.empty,Empty, -common.items.npc_weapons.hammer.cultist_purp_2h-0,Magical Cultist Warhammer,CultPurp0 -common.items.npc_weapons.hammer.starter_hammer,Sturdy Old Hammer,BasicHammer -common.items.npc_weapons.shield.shield_1,A Tattered Targe,BasicShield -common.items.npc_weapons.staff.bone_staff,Bone Staff,BoneStaff -common.items.npc_weapons.staff.cultist_staff,Cultist Staff,CultistStaff -common.items.npc_weapons.sword.cultist_purp_2h-0,Magical Cultist Greatsword,CultPurp0 -common.items.npc_weapons.sword.cultist_purp_2h_boss-0,Magical Cultist Greatsword,CultPurp0 -common.items.npc_weapons.sword.starter_sword,Battered Sword,BasicSword -common.items.npc_weapons.sword.zweihander_sword_0,Sturdy Zweihander,Zweihander0 -common.items.npc_weapons.tool.broom,Broom,Broom -common.items.npc_weapons.tool.fishing_rod,Fishing Rod,FishingRod0 -common.items.npc_weapons.tool.hoe,Hoe,Hoe0 -common.items.npc_weapons.tool.pickaxe,Pickaxe,Pickaxe0 -common.items.npc_weapons.tool.pitchfork,Pitchfork,Pitchfork -common.items.npc_weapons.tool.rake,Rake,Rake -common.items.npc_weapons.tool.shovel-0,Shovel,Shovel0 -common.items.npc_weapons.tool.shovel-1,Shovel,Shovel1 -common.items.ore.velorite,Velorite, -common.items.ore.veloritefrag,Velorite Fragment, -common.items.testing.test_boots,Testing Boots,Dark -common.items.utility.bomb,Bomb, -common.items.utility.bomb_pile,Bomb, -common.items.utility.collar,Collar, -common.items.utility.firework_blue,Firework Blue, -common.items.utility.firework_green,Firework Green, -common.items.utility.firework_purple,Firework Purple, -common.items.utility.firework_red,Firework Red, -common.items.utility.firework_yellow,Firework Yellow, -common.items.utility.training_dummy,Training Dummy, -common.items.weapons.axe.bloodsteel_axe-0,Bloodsteel Axe,BloodsteelAxe0 -common.items.weapons.axe.bloodsteel_axe-1,Executioner's Axe,BloodsteelAxe1 -common.items.weapons.axe.bloodsteel_axe-2,Tribal Axe,BloodsteelAxe2 -common.items.weapons.axe.bronze_axe-0,Bronze Axe,BronzeAxe0 -common.items.weapons.axe.bronze_axe-1,Discus Axe,BronzeAxe1 -common.items.weapons.axe.cobalt_axe-0,Cobalt Axe,CobaltAxe0 -common.items.weapons.axe.iron_axe-0,Iron Greataxe,IronAxe0 -common.items.weapons.axe.iron_axe-1,Ceremonial Axe,IronAxe1 -common.items.weapons.axe.iron_axe-2,Cyclone Axe,IronAxe2 -common.items.weapons.axe.iron_axe-3,Iron Battleaxe,IronAxe3 -common.items.weapons.axe.iron_axe-4,Butcher's Axe,IronAxe4 -common.items.weapons.axe.iron_axe-5,Barbarian's Axe,IronAxe5 -common.items.weapons.axe.iron_axe-6,Iron Axe,IronAxe6 -common.items.weapons.axe.iron_axe-7,Iron Labrys,IronAxe7 -common.items.weapons.axe.iron_axe-8,Fanged Axe,IronAxe8 -common.items.weapons.axe.iron_axe-9,Wolfen Axe,IronAxe9 -common.items.weapons.axe.malachite_axe-0,Malachite Axe,MalachiteAxe0 -common.items.weapons.axe.orc_axe-0,Beast Cleaver,OrcAxe0 -common.items.weapons.axe.starter_axe,Notched Axe,BasicAxe -common.items.weapons.axe.steel_axe-0,Steel Battleaxe,SteelAxe0 -common.items.weapons.axe.steel_axe-1,Steel Labrys,SteelAxe1 -common.items.weapons.axe.steel_axe-2,Steel Axe,SteelAxe2 -common.items.weapons.axe.steel_axe-3,Crescent Axe,SteelAxe3 -common.items.weapons.axe.steel_axe-4,Moon Axe,SteelAxe4 -common.items.weapons.axe.steel_axe-5,Owl Axe,SteelAxe5 -common.items.weapons.axe.steel_axe-6,Spade Axe,SteelAxe6 -common.items.weapons.axe.worn_iron_axe-0,Worn Dwarven Axe,WornIronAxe0 -common.items.weapons.axe.worn_iron_axe-1,Worn Elven Axe,WornIronAxe1 -common.items.weapons.axe.worn_iron_axe-2,Worn Human Axe,WornIronAxe2 -common.items.weapons.axe.worn_iron_axe-3,Worn Orcish Axe,WornIronAxe3 -common.items.weapons.axe.worn_iron_axe-4,Beetle Axe,WornIronAxe4 -common.items.weapons.bow.horn_longbow-0,Horn Bow,HornLongbow0 -common.items.weapons.bow.iron_longbow-0,Soldier's Bow,IronLongbow0 -common.items.weapons.bow.leafy_longbow-0,Elven Longbow,LeafyLongbow0 -common.items.weapons.bow.leafy_shortbow-0,Elven Shortbow,LeafyShortbow0 -common.items.weapons.bow.nature_ore_longbow-0,Velorite Bow,NatureOreLongbow -common.items.weapons.bow.rare_longbow,Enchanted Longbow,RareLongbow -common.items.weapons.bow.starter_bow,Uneven Bow,ShortBow0 -common.items.weapons.bow.wood_longbow-0,Longbow,WoodLongbow0 -common.items.weapons.bow.wood_longbow-1,Recurve Bow,WoodLongbow1 -common.items.weapons.bow.wood_shortbow-0,Hunting Bow,WoodShortbow0 -common.items.weapons.bow.wood_shortbow-1,Horse Bow,WoodShortbow1 -common.items.weapons.dagger.starter_dagger,Rusty Dagger,BasicDagger -common.items.weapons.empty.empty,Empty Item, -common.items.weapons.hammer.bronze_hammer-0,Bronze Hammer,BronzeHammer0 -common.items.weapons.hammer.bronze_hammer-1,Bronze Club,BronzeHammer1 -common.items.weapons.hammer.cobalt_hammer-0,Cobalt Hammer,CobaltHammer0 -common.items.weapons.hammer.cobalt_hammer-1,Cobalt Mace,CobaltHammer1 -common.items.weapons.hammer.cultist_purp_2h-0,Magical Cultist Warhammer,CultPurp0 -common.items.weapons.hammer.flimsy_hammer,Flimsy Hammer,FlimsyHammer -common.items.weapons.hammer.hammer_1,Crude Mallet,BasicHammer -common.items.weapons.hammer.iron_hammer-0,Iron Hammer,IronHammer0 -common.items.weapons.hammer.iron_hammer-1,Iron Battlehammer,IronHammer1 -common.items.weapons.hammer.iron_hammer-2,Iron Mace,IronHammer2 -common.items.weapons.hammer.iron_hammer-3,Crowned Mace,IronHammer3 -common.items.weapons.hammer.iron_hammer-4,Forge Hammer,IronHammer4 -common.items.weapons.hammer.iron_hammer-5,Pike Hammer,IronHammer5 -common.items.weapons.hammer.iron_hammer-6,Spiked Maul,IronHammer6 -common.items.weapons.hammer.iron_hammer-7,Giant's Fist,IronHammer7 -common.items.weapons.hammer.iron_hammer-8,Lucerne Hammer,IronHammer8 -common.items.weapons.hammer.mjolnir,Mjolnir,Mjolnir -common.items.weapons.hammer.ramshead_hammer,Ram's Head Mace,RamsheadHammer -common.items.weapons.hammer.runic_hammer,Runic Hammer,RunicHammer -common.items.weapons.hammer.starter_hammer,Sturdy Old Hammer,BasicHammer -common.items.weapons.hammer.steel_hammer-0,Steel Hammer,SteelHammer0 -common.items.weapons.hammer.steel_hammer-1,Steel Greathammer,SteelHammer1 -common.items.weapons.hammer.steel_hammer-2,Steel Club,SteelHammer2 -common.items.weapons.hammer.steel_hammer-3,Battle Mace,SteelHammer3 -common.items.weapons.hammer.steel_hammer-4,Brute's Hammer,SteelHammer4 -common.items.weapons.hammer.steel_hammer-5,Morning Star,SteelHammer5 -common.items.weapons.hammer.stone_hammer-0,Basalt Sledgehammer,StoneHammer0 -common.items.weapons.hammer.stone_hammer-1,Granite Sledgehammer,StoneHammer1 -common.items.weapons.hammer.stone_hammer-2,Rocky Maul,StoneHammer2 -common.items.weapons.hammer.stone_hammer-3,Stone Sledgehammer,StoneHammer3 -common.items.weapons.hammer.wood_hammer-0,Hardwood Mallet,WoodHammer0 -common.items.weapons.hammer.worn_iron_hammer-0,Worn Dwarven Hammer,WornIronHammer0 -common.items.weapons.hammer.worn_iron_hammer-1,Worn Elven Hammer,WornIronHammer1 -common.items.weapons.hammer.worn_iron_hammer-2,Worn Human Mace,WornIronHammer2 -common.items.weapons.hammer.worn_iron_hammer-3,Worn Orcish Hammer,WornIronHammer3 -common.items.weapons.sceptre.sceptre_velorite_0,Velorite Sceptre,SceptreVelorite -common.items.weapons.sceptre.staff_nature,Sceptre of Regeneration,Sceptre -common.items.weapons.sceptre.starter_sceptre,Naturalist Walking Stick,StarterSceptre -common.items.weapons.shield.shield_1,A Tattered Targe,BasicShield -common.items.weapons.staff.amethyst_staff,Amethyst Staff,AmethystStaff -common.items.weapons.staff.bone_staff,Bone Staff,BoneStaff -common.items.weapons.staff.cultist_staff,Cultist Staff,CultistStaff -common.items.weapons.staff.staff_1,Humble Stick,BasicStaff -common.items.weapons.staff.starter_staff,Gnarled Rod,BasicStaff -common.items.weapons.sword.cultist_purp_2h-0,Magical Cultist Greatsword,CultPurp0 -common.items.weapons.sword.greatsword_2h_dam-0,Damaged Greatsword,GreatswordDam0 -common.items.weapons.sword.greatsword_2h_dam-1,Damaged Greatsword,GreatswordDam1 -common.items.weapons.sword.greatsword_2h_dam-2,Damaged Greatsword,GreatswordDam2 -common.items.weapons.sword.greatsword_2h_fine-0,Fine Greatsword,GreatswordFine0 -common.items.weapons.sword.greatsword_2h_fine-1,Fine Greatsword,GreatswordFine1 -common.items.weapons.sword.greatsword_2h_fine-2,Fine Greatsword,GreatswordFine2 -common.items.weapons.sword.greatsword_2h_orn-0,Ornamented Greatsword,GreatswordOrn0 -common.items.weapons.sword.greatsword_2h_orn-1,Ornamented Greatsword,GreatswordOrn1 -common.items.weapons.sword.greatsword_2h_orn-2,Ornamented Greatsword,GreatswordOrn2 -common.items.weapons.sword.greatsword_2h_simple-0,Simple Greatsword,GreatswordSimple0 -common.items.weapons.sword.greatsword_2h_simple-1,Simple Greatsword,GreatswordSimple1 -common.items.weapons.sword.greatsword_2h_simple-2,Simple Greatsword,GreatswordSimple2 -common.items.weapons.sword.long_2h_dam-0,Damaged Longsword,LongDam0 -common.items.weapons.sword.long_2h_dam-1,Damaged Longsword,LongDam1 -common.items.weapons.sword.long_2h_dam-2,Damaged Longsword,LongDam2 -common.items.weapons.sword.long_2h_dam-3,Damaged Longsword,LongDam3 -common.items.weapons.sword.long_2h_dam-4,Damaged Longsword,LongDam4 -common.items.weapons.sword.long_2h_dam-5,Damaged Longsword,LongDam5 -common.items.weapons.sword.long_2h_fine-0,Fine Longsword,LongFine0 -common.items.weapons.sword.long_2h_fine-1,Fine Longsword,LongFine1 -common.items.weapons.sword.long_2h_fine-2,Fine Longsword,LongFine2 -common.items.weapons.sword.long_2h_fine-3,Fine Longsword,LongFine3 -common.items.weapons.sword.long_2h_fine-4,Fine Longsword,LongFine4 -common.items.weapons.sword.long_2h_fine-5,Fine Longsword,LongFine5 -common.items.weapons.sword.long_2h_orn-0,Ornamented Longsword,LongOrn0 -common.items.weapons.sword.long_2h_orn-1,Ornamented Longsword,LongOrn1 -common.items.weapons.sword.long_2h_orn-2,Ornamented Longsword,LongOrn2 -common.items.weapons.sword.long_2h_orn-3,Ornamented Longsword,LongOrn3 -common.items.weapons.sword.long_2h_orn-4,Ornamented Longsword,LongOrn4 -common.items.weapons.sword.long_2h_orn-5,Ornamented Longsword,LongOrn5 -common.items.weapons.sword.long_2h_simple-0,Simple Longsword,LongSimple0 -common.items.weapons.sword.long_2h_simple-1,Simple Longsword,LongSimple1 -common.items.weapons.sword.long_2h_simple-2,Simple Longsword,LongSimple2 -common.items.weapons.sword.long_2h_simple-3,Simple Longsword,LongSimple3 -common.items.weapons.sword.long_2h_simple-4,Simple Longsword,LongSimple4 -common.items.weapons.sword.long_2h_simple-5,Simple Longsword,LongSimple5 -common.items.weapons.sword.short_sword_0,Vicious Gladius,Short0 -common.items.weapons.sword.starter_sword,Battered Sword,BasicSword -common.items.weapons.sword.wood_sword,Forest Spirit,WoodTraining -common.items.weapons.sword.zweihander_sword_0,Sturdy Zweihander,Zweihander0 -common.items.weapons.tool.broom,Broom,Broom -common.items.weapons.tool.fishing_rod,Fishing Rod,FishingRod0 -common.items.weapons.tool.hoe,Hoe,Hoe0 -common.items.weapons.tool.pickaxe,Pickaxe,Pickaxe0 -common.items.weapons.tool.pitchfork,Pitchfork,Pitchfork -common.items.weapons.tool.rake,Rake,Rake -common.items.weapons.tool.shovel-0,Shovel,Shovel0 -common.items.weapons.tool.shovel-1,Shovel,Shovel1 diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index a1f5539675..9f9e762d2a 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -522,13 +522,8 @@ pub fn handle_explosion( } // Don't heal if outside group // Don't damage in the same group - let (mut is_heal, mut is_damage) = (false, false); - if (friendly_damage || !same_group) && (percent_damage > 0.0) { - is_damage = true; - } - if same_group && (percent_damage < 1.0) { - is_heal = true; - } + let is_damage = (friendly_damage || !same_group) && (percent_damage > 0.0); + let is_heal = same_group && (percent_damage < 1.0); if !is_heal && !is_damage { continue; } diff --git a/voxygen/src/hud/hotbar.rs b/voxygen/src/hud/hotbar.rs index a2ccc0d6b0..ab02df0c70 100644 --- a/voxygen/src/hud/hotbar.rs +++ b/voxygen/src/hud/hotbar.rs @@ -77,12 +77,11 @@ impl State { .filter(|kind| { use common::comp::item::{tool::ToolKind, ItemKind}; if let ItemKind::Tool(kind) = kind { - if let ToolKind::Staff(_) = &kind.kind { - true - } else if let ToolKind::Debug(kind) = &kind.kind { - kind == "Boost" - } else { - matches!(&kind.kind, ToolKind::Sword(_)) + match &kind.kind { + ToolKind::Staff(_) => true, + ToolKind::Debug(kind) => kind == "Boost", + ToolKind::Sword(_) => true, + _ => false, } } else { false diff --git a/voxygen/src/render/pipelines/particle.rs b/voxygen/src/render/pipelines/particle.rs index 8968a96554..929fdbb062 100644 --- a/voxygen/src/render/pipelines/particle.rs +++ b/voxygen/src/render/pipelines/particle.rs @@ -35,8 +35,8 @@ gfx_defines! { // can save 32 bits per instance, and have cleaner tailor made code. inst_mode: i32 = "inst_mode", - // an extra position for particles that need it - inst_pos2: [f32; 3] = "inst_pos2", + // A direction for particles to move in + inst_dir: [f32; 3] = "inst_dir", // a triangle is: f32 x 3 x 3 x 1 = 288 bits // a quad is: f32 x 3 x 3 x 2 = 576 bits @@ -131,7 +131,7 @@ impl Instance { inst_entropy: rand::thread_rng().gen(), inst_mode: inst_mode as i32, inst_pos: inst_pos.into_array(), - inst_pos2: [0.0, 0.0, 0.0], + inst_dir: [0.0, 0.0, 0.0], } } @@ -149,7 +149,7 @@ impl Instance { inst_entropy: rand::thread_rng().gen(), inst_mode: inst_mode as i32, inst_pos: inst_pos.into_array(), - inst_pos2: inst_pos2.into_array(), + inst_dir: (inst_pos2 - inst_pos).into_array(), } } }