mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Adjust mining xp numbers and add SkillGroupKind information to Outcome::ExpChange.
This commit is contained in:
parent
01a04a80fa
commit
9d4a65e8ac
@ -1,19 +1,19 @@
|
|||||||
ResourceExperienceManifest({
|
ResourceExperienceManifest({
|
||||||
"common.items.mineral.gem.amethyst": 20,
|
"common.items.mineral.gem.amethyst": 4,
|
||||||
"common.items.mineral.gem.sapphire": 50,
|
"common.items.mineral.gem.sapphire": 8,
|
||||||
"common.items.mineral.gem.topaz": 20,
|
"common.items.mineral.gem.topaz": 4,
|
||||||
"common.items.mineral.gem.diamond": 100,
|
"common.items.mineral.gem.diamond": 25,
|
||||||
"common.items.mineral.gem.emerald": 50,
|
"common.items.mineral.gem.emerald": 10,
|
||||||
"common.items.mineral.gem.ruby": 75,
|
"common.items.mineral.gem.ruby": 12,
|
||||||
|
|
||||||
"common.items.mineral.ore.coal": 25,
|
"common.items.mineral.ore.coal": 6,
|
||||||
"common.items.mineral.ore.gold": 100,
|
"common.items.mineral.ore.gold": 25,
|
||||||
"common.items.mineral.ore.iron": 20,
|
"common.items.mineral.ore.iron": 4,
|
||||||
"common.items.mineral.ore.silver": 90,
|
"common.items.mineral.ore.silver": 22,
|
||||||
"common.items.mineral.ore.velorite": 30,
|
"common.items.mineral.ore.velorite": 8,
|
||||||
"common.items.mineral.ore.veloritefrag": 20,
|
"common.items.mineral.ore.veloritefrag": 4,
|
||||||
"common.items.mineral.ore.bloodstone": 80,
|
"common.items.mineral.ore.bloodstone": 20,
|
||||||
"common.items.mineral.ore.cobalt": 60,
|
"common.items.mineral.ore.cobalt": 15,
|
||||||
"common.items.mineral.ore.copper": 10,
|
"common.items.mineral.ore.copper": 3,
|
||||||
"common.items.mineral.ore.tin": 10,
|
"common.items.mineral.ore.tin": 3,
|
||||||
})
|
})
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
use crate::{comp, uid::Uid};
|
use crate::{comp, uid::Uid};
|
||||||
use comp::{beam, item::Reagent, poise::PoiseState};
|
use comp::{beam, item::Reagent, poise::PoiseState, skills::SkillGroupKind};
|
||||||
|
use hashbrown::HashSet;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use vek::*;
|
use vek::*;
|
||||||
|
|
||||||
@ -36,6 +37,7 @@ pub enum Outcome {
|
|||||||
ExpChange {
|
ExpChange {
|
||||||
uid: Uid,
|
uid: Uid,
|
||||||
exp: i32,
|
exp: i32,
|
||||||
|
xp_pools: HashSet<SkillGroupKind>,
|
||||||
},
|
},
|
||||||
SkillPointGain {
|
SkillPointGain {
|
||||||
uid: Uid,
|
uid: Uid,
|
||||||
|
@ -1011,12 +1011,13 @@ fn handle_exp_gain(
|
|||||||
add_tool_from_slot(EquipSlot::InactiveMainhand);
|
add_tool_from_slot(EquipSlot::InactiveMainhand);
|
||||||
add_tool_from_slot(EquipSlot::InactiveOffhand);
|
add_tool_from_slot(EquipSlot::InactiveOffhand);
|
||||||
let num_pools = xp_pools.len() as f32;
|
let num_pools = xp_pools.len() as f32;
|
||||||
for pool in xp_pools {
|
for pool in xp_pools.iter() {
|
||||||
skill_set.change_experience(pool, (exp_reward / num_pools).ceil() as i32);
|
skill_set.change_experience(*pool, (exp_reward / num_pools).ceil() as i32);
|
||||||
}
|
}
|
||||||
outcomes.push(Outcome::ExpChange {
|
outcomes.push(Outcome::ExpChange {
|
||||||
uid: *uid,
|
uid: *uid,
|
||||||
exp: exp_reward as i32,
|
exp: exp_reward as i32,
|
||||||
|
xp_pools,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,9 +28,10 @@ use crate::{
|
|||||||
Server,
|
Server,
|
||||||
};
|
};
|
||||||
|
|
||||||
use hashbrown::HashMap;
|
use hashbrown::{HashMap, HashSet};
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
use std::iter::FromIterator;
|
||||||
|
|
||||||
pub fn handle_lantern(server: &mut Server, entity: EcsEntity, enable: bool) {
|
pub fn handle_lantern(server: &mut Server, entity: EcsEntity, enable: bool) {
|
||||||
let ecs = server.state_mut().ecs();
|
let ecs = server.state_mut().ecs();
|
||||||
@ -332,6 +333,7 @@ pub fn handle_mine_block(
|
|||||||
.push(Outcome::ExpChange {
|
.push(Outcome::ExpChange {
|
||||||
uid,
|
uid,
|
||||||
exp: *exp_reward,
|
exp: *exp_reward,
|
||||||
|
xp_pools: HashSet::from_iter(vec![SkillGroupKind::Weapon(tool)]),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
use common::comp::skills::{MiningSkill, Skill};
|
use common::comp::skills::{MiningSkill, Skill};
|
||||||
|
@ -1353,7 +1353,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.mining"),
|
Weapon(ToolKind::Pick) => &i18n.get("common.tool.pick"),
|
||||||
_ => "Unknown",
|
_ => "Unknown",
|
||||||
};
|
};
|
||||||
Text::new(skill)
|
Text::new(skill)
|
||||||
@ -1378,7 +1378,6 @@ 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)
|
||||||
@ -3659,7 +3658,11 @@ impl Hud {
|
|||||||
|
|
||||||
pub fn handle_outcome(&mut self, outcome: &Outcome) {
|
pub fn handle_outcome(&mut self, outcome: &Outcome) {
|
||||||
match outcome {
|
match outcome {
|
||||||
Outcome::ExpChange { uid, exp } => self.floaters.exp_floaters.push(ExpFloater {
|
Outcome::ExpChange {
|
||||||
|
uid,
|
||||||
|
exp,
|
||||||
|
xp_pools: _,
|
||||||
|
} => self.floaters.exp_floaters.push(ExpFloater {
|
||||||
owner: *uid,
|
owner: *uid,
|
||||||
exp_change: *exp,
|
exp_change: *exp,
|
||||||
timer: 4.0,
|
timer: 4.0,
|
||||||
|
Loading…
Reference in New Issue
Block a user