mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
mining exp sct color and icon; add mining to skill_preset
This commit is contained in:
parent
9d4a65e8ac
commit
45f79059d0
@ -127,6 +127,10 @@
|
|||||||
(Sceptre(ADuration), 2),
|
(Sceptre(ADuration), 2),
|
||||||
(Sceptre(ARange), 2),
|
(Sceptre(ARange), 2),
|
||||||
(Sceptre(ACost), 2),
|
(Sceptre(ACost), 2),
|
||||||
|
// Mining
|
||||||
|
(Pick(Speed), 3),
|
||||||
|
(Pick(OreGain), 3),
|
||||||
|
(Pick(GemGain), 3),
|
||||||
],
|
],
|
||||||
// Just copypasta from max with random reductions
|
// Just copypasta from max with random reductions
|
||||||
"middle": [
|
"middle": [
|
||||||
|
BIN
assets/voxygen/element/weapons/pickaxe.png
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/element/weapons/pickaxe.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -2610,7 +2610,7 @@ fn parse_skill_tree(skill_tree: &str) -> CmdResult<comp::skills::SkillGroupKind>
|
|||||||
"bow" => Ok(SkillGroupKind::Weapon(ToolKind::Bow)),
|
"bow" => Ok(SkillGroupKind::Weapon(ToolKind::Bow)),
|
||||||
"staff" => Ok(SkillGroupKind::Weapon(ToolKind::Staff)),
|
"staff" => Ok(SkillGroupKind::Weapon(ToolKind::Staff)),
|
||||||
"sceptre" => Ok(SkillGroupKind::Weapon(ToolKind::Sceptre)),
|
"sceptre" => Ok(SkillGroupKind::Weapon(ToolKind::Sceptre)),
|
||||||
"pick" => Ok(SkillGroupKind::Weapon(ToolKind::Pick)),
|
"mining" => Ok(SkillGroupKind::Weapon(ToolKind::Pick)),
|
||||||
_ => Err(format!("{} is not a skill group!", skill_tree)),
|
_ => Err(format!("{} is not a skill group!", skill_tree)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,6 +80,7 @@ image_ids! {
|
|||||||
staff: "voxygen.element.weapons.staff",
|
staff: "voxygen.element.weapons.staff",
|
||||||
mining: "voxygen.element.weapons.mining",
|
mining: "voxygen.element.weapons.mining",
|
||||||
pickaxe: "voxygen.element.skills.pickaxe",
|
pickaxe: "voxygen.element.skills.pickaxe",
|
||||||
|
pickaxe_ico: "voxygen.element.weapons.pickaxe",
|
||||||
lock: "voxygen.element.ui.diary.buttons.lock",
|
lock: "voxygen.element.ui.diary.buttons.lock",
|
||||||
wpn_icon_border_skills: "voxygen.element.ui.diary.buttons.border_skills",
|
wpn_icon_border_skills: "voxygen.element.ui.diary.buttons.border_skills",
|
||||||
wpn_icon_border: "voxygen.element.ui.generic.buttons.border",
|
wpn_icon_border: "voxygen.element.ui.generic.buttons.border",
|
||||||
|
@ -98,7 +98,7 @@ use conrod_core::{
|
|||||||
widget::{self, Button, Image, Text},
|
widget::{self, Button, Image, Text},
|
||||||
widget_ids, Color, Colorable, Labelable, Positionable, Sizeable, Widget,
|
widget_ids, Color, Colorable, Labelable, Positionable, Sizeable, Widget,
|
||||||
};
|
};
|
||||||
use hashbrown::HashMap;
|
use hashbrown::{HashMap, HashSet};
|
||||||
use rand::Rng;
|
use rand::Rng;
|
||||||
use specs::{Entity as EcsEntity, Join, WorldExt};
|
use specs::{Entity as EcsEntity, Join, WorldExt};
|
||||||
use std::{
|
use std::{
|
||||||
@ -211,6 +211,7 @@ widget_ids! {
|
|||||||
player_rank_up_icon,
|
player_rank_up_icon,
|
||||||
sct_exp_bgs[],
|
sct_exp_bgs[],
|
||||||
sct_exps[],
|
sct_exps[],
|
||||||
|
sct_exp_icons[],
|
||||||
sct_lvl_bg,
|
sct_lvl_bg,
|
||||||
sct_lvl,
|
sct_lvl,
|
||||||
hurt_bg,
|
hurt_bg,
|
||||||
@ -324,6 +325,7 @@ pub struct ExpFloater {
|
|||||||
pub exp_change: i32,
|
pub exp_change: i32,
|
||||||
pub timer: f32,
|
pub timer: f32,
|
||||||
pub rand_offset: (f32, f32),
|
pub rand_offset: (f32, f32),
|
||||||
|
pub xp_pools: HashSet<SkillGroupKind>,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct SkillPointGain {
|
pub struct SkillPointGain {
|
||||||
@ -1252,7 +1254,11 @@ impl Hud {
|
|||||||
&mut self.ids.player_scts,
|
&mut self.ids.player_scts,
|
||||||
&mut ui_widgets.widget_id_generator(),
|
&mut ui_widgets.widget_id_generator(),
|
||||||
);
|
);
|
||||||
// Increase font size based on fraction of maximum health
|
let player_sct_icon_id = player_sct_id_walker.next(
|
||||||
|
&mut self.ids.player_scts,
|
||||||
|
&mut ui_widgets.widget_id_generator(),
|
||||||
|
);
|
||||||
|
// Increase font size based on fraction of maximum Experience
|
||||||
// "flashes" by having a larger size in the first 100ms
|
// "flashes" by having a larger size in the first 100ms
|
||||||
let font_size_xp =
|
let font_size_xp =
|
||||||
30 + ((floater.exp_change as f32 / 300.0).min(1.0) * 50.0) as u32;
|
30 + ((floater.exp_change as f32 / 300.0).min(1.0) * 50.0) as u32;
|
||||||
@ -1266,6 +1272,7 @@ impl Hud {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if floater.exp_change > 0 {
|
if floater.exp_change > 0 {
|
||||||
|
let xp_pool = &floater.xp_pools;
|
||||||
// Don't show 0 Exp
|
// Don't show 0 Exp
|
||||||
Text::new(&format!("{} Exp", floater.exp_change.max(1)))
|
Text::new(&format!("{} Exp", floater.exp_change.max(1)))
|
||||||
.font_size(font_size_xp)
|
.font_size(font_size_xp)
|
||||||
@ -1280,12 +1287,25 @@ impl Hud {
|
|||||||
Text::new(&format!("{} Exp", floater.exp_change.max(1)))
|
Text::new(&format!("{} Exp", floater.exp_change.max(1)))
|
||||||
.font_size(font_size_xp)
|
.font_size(font_size_xp)
|
||||||
.font_id(self.fonts.cyri.conrod_id)
|
.font_id(self.fonts.cyri.conrod_id)
|
||||||
.color(Color::Rgba(0.59, 0.41, 0.67, fade))
|
.color(
|
||||||
|
if xp_pool.contains(&SkillGroupKind::Weapon(ToolKind::Pick)) {
|
||||||
|
Color::Rgba(0.18, 0.32, 0.9, fade)
|
||||||
|
} else {
|
||||||
|
Color::Rgba(0.59, 0.41, 0.67, fade)
|
||||||
|
},
|
||||||
|
)
|
||||||
.x_y(
|
.x_y(
|
||||||
ui_widgets.win_w * (0.5 * floater.rand_offset.0 as f64 - 0.25),
|
ui_widgets.win_w * (0.5 * floater.rand_offset.0 as f64 - 0.25),
|
||||||
ui_widgets.win_h * (0.15 * floater.rand_offset.1 as f64) + y,
|
ui_widgets.win_h * (0.15 * floater.rand_offset.1 as f64) + y,
|
||||||
)
|
)
|
||||||
.set(player_sct_id, ui_widgets);
|
.set(player_sct_id, ui_widgets);
|
||||||
|
// Exp Source Image
|
||||||
|
if xp_pool.contains(&SkillGroupKind::Weapon(ToolKind::Pick)) {
|
||||||
|
Image::new(self.imgs.pickaxe_ico)
|
||||||
|
.w_h(font_size_xp as f64, font_size_xp as f64)
|
||||||
|
.left_from(player_sct_id, 5.0)
|
||||||
|
.set(player_sct_icon_id, ui_widgets);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1353,7 +1373,7 @@ impl Hud {
|
|||||||
Weapon(ToolKind::Sceptre) => &i18n.get("common.weapons.sceptre"),
|
Weapon(ToolKind::Sceptre) => &i18n.get("common.weapons.sceptre"),
|
||||||
Weapon(ToolKind::Bow) => &i18n.get("common.weapons.bow"),
|
Weapon(ToolKind::Bow) => &i18n.get("common.weapons.bow"),
|
||||||
Weapon(ToolKind::Staff) => &i18n.get("common.weapons.staff"),
|
Weapon(ToolKind::Staff) => &i18n.get("common.weapons.staff"),
|
||||||
Weapon(ToolKind::Pick) => &i18n.get("common.tool.pick"),
|
Weapon(ToolKind::Pick) => &i18n.get("common.tool.mining"),
|
||||||
_ => "Unknown",
|
_ => "Unknown",
|
||||||
};
|
};
|
||||||
Text::new(skill)
|
Text::new(skill)
|
||||||
@ -1378,6 +1398,7 @@ impl Hud {
|
|||||||
Weapon(ToolKind::Sceptre) => self.imgs.sceptre,
|
Weapon(ToolKind::Sceptre) => self.imgs.sceptre,
|
||||||
Weapon(ToolKind::Bow) => self.imgs.bow,
|
Weapon(ToolKind::Bow) => self.imgs.bow,
|
||||||
Weapon(ToolKind::Staff) => self.imgs.staff,
|
Weapon(ToolKind::Staff) => self.imgs.staff,
|
||||||
|
Weapon(ToolKind::Pick) => self.imgs.mining,
|
||||||
_ => self.imgs.swords_crossed,
|
_ => self.imgs.swords_crossed,
|
||||||
})
|
})
|
||||||
.w_h(20.0, 20.0)
|
.w_h(20.0, 20.0)
|
||||||
@ -3658,16 +3679,15 @@ impl Hud {
|
|||||||
|
|
||||||
pub fn handle_outcome(&mut self, outcome: &Outcome) {
|
pub fn handle_outcome(&mut self, outcome: &Outcome) {
|
||||||
match outcome {
|
match outcome {
|
||||||
Outcome::ExpChange {
|
Outcome::ExpChange { uid, exp, xp_pools } => {
|
||||||
uid,
|
self.floaters.exp_floaters.push(ExpFloater {
|
||||||
exp,
|
owner: *uid,
|
||||||
xp_pools: _,
|
exp_change: *exp,
|
||||||
} => self.floaters.exp_floaters.push(ExpFloater {
|
timer: 4.0,
|
||||||
owner: *uid,
|
rand_offset: rand::thread_rng().gen::<(f32, f32)>(),
|
||||||
exp_change: *exp,
|
xp_pools: xp_pools.clone(),
|
||||||
timer: 4.0,
|
})
|
||||||
rand_offset: rand::thread_rng().gen::<(f32, f32)>(),
|
},
|
||||||
}),
|
|
||||||
Outcome::SkillPointGain {
|
Outcome::SkillPointGain {
|
||||||
uid,
|
uid,
|
||||||
skill_tree,
|
skill_tree,
|
||||||
|
Loading…
Reference in New Issue
Block a user