separate sceptres from staffs, show values below 1.0 as decimals in the SCT, add starting sceptre

remove firebolt from starting sceptre
This commit is contained in:
Monty Marz 2020-09-10 22:37:40 +02:00 committed by Sam
parent 7e95a93434
commit 13d9b814ab
19 changed files with 158 additions and 74 deletions

View File

@ -3,7 +3,7 @@ Item(
description: "Heals your allies with the power of nature.",
kind: Tool(
(
kind: Staff("Sceptre"),
kind: Staff("StarterSceptre"),
stats: (
equip_time_millis: 400,
power: 0.50,

View File

@ -31,11 +31,11 @@
(0.04, "common.items.weapons.axe.steel_axe-5"),
(0.04, "common.items.weapons.axe.steel_axe-6"),
// healing staff
(0.5, "common.items.weapons.staff.staff_nature"),
(0.5, "common.items.weapons.sceptre.staff_nature"),
// staves
(1.00, "common.items.weapons.staff.bone_staff"),
(1.00, "common.items.weapons.staff.amethyst_staff"),
(0.1, "common.items.weapons.staff.sceptre_velorite_0"),
(0.1, "common.items.weapons.sceptre.sceptre_velorite_0"),
// hammers
(0.30, "common.items.weapons.hammer.cobalt_hammer-0"),
(0.30, "common.items.weapons.hammer.cobalt_hammer-1"),

View File

@ -78,7 +78,7 @@
(0.10, "common.items.weapons.axe.worn_iron_axe-3"),
(0.10, "common.items.weapons.axe.worn_iron_axe-4"),
// healing staff
(0.25, "common.items.weapons.staff.staff_nature"),
(0.25, "common.items.weapons.sceptre.staff_nature"),
// hammers
(0.15, "common.items.weapons.hammer.flimsy_hammer"),
(0.10, "common.items.weapons.hammer.wood_hammer-0"),
@ -134,7 +134,7 @@
(0.04, "common.items.weapons.axe.steel_axe-5"),
(0.04, "common.items.weapons.axe.steel_axe-6"),
// healing staff
(0.5, "common.items.weapons.staff.staff_nature"),
(0.5, "common.items.weapons.sceptre.staff_nature"),
// staves
(1.00, "common.items.weapons.staff.bone_staff"),
// hammers
@ -179,7 +179,7 @@
(0.30, "common.items.weapons.axe.cobalt_axe-0"),
(0.10, "common.items.weapons.axe.malachite_axe-0"),
// healing staff
(0.25, "common.items.weapons.staff.staff_nature"),
(0.25, "common.items.weapons.sceptre.staff_nature"),
// staves
(1.00, "common.items.weapons.staff.amethyst_staff"),
// hammers

View File

@ -18,7 +18,7 @@
(0.10, "common.items.weapons.axe.worn_iron_axe-2"),
(0.10, "common.items.weapons.axe.worn_iron_axe-3"),
(0.10, "common.items.weapons.axe.worn_iron_axe-4"),
(0.25, "common.items.weapons.staff.staff_nature"),
(0.25, "common.items.weapons.sceptre.staff_nature"),
(0.15, "common.items.weapons.hammer.flimsy_hammer"),
(0.10, "common.items.weapons.hammer.wood_hammer-0"),
(0.25, "common.items.weapons.bow.wood_shortbow-0"),

View File

@ -21,7 +21,7 @@
(0.10, "common.items.weapons.axe.worn_iron_axe-3"),
(0.10, "common.items.weapons.axe.worn_iron_axe-4"),
// healing staff
(0.25, "common.items.weapons.staff.staff_nature"),
(0.25, "common.items.weapons.sceptre.staff_nature"),
// staves
(1.00, "common.items.weapons.staff.starter_staff"),
// hammers

View File

@ -39,7 +39,7 @@
(0.04, "common.items.weapons.axe.steel_axe-5"),
(0.04, "common.items.weapons.axe.steel_axe-6"),
// healing staff
(0.5, "common.items.weapons.staff.staff_nature"),
(0.5, "common.items.weapons.sceptre.staff_nature"),
// staves
(1.00, "common.items.weapons.staff.bone_staff"),
// hammers

View File

@ -20,7 +20,7 @@
"apples_stick": (("common.items.food.apple_stick", 1),[("common.items.crafting_ing.twigs", 2), ("common.items.food.apple", 2)]),
"mushroom_stick": (("common.items.food.mushroom_stick", 1),[("common.items.crafting_ing.twigs", 2), ("common.items.food.mushroom", 3)]),
// Weapons
"velorite_sceptre": (("common.items.weapons.staff.sceptre_velorite_0", 1),[("common.items.crafting_ing.twigs", 20), ("common.items.ore.veloritefrag", 10), ("common.items.crafting_ing.shiny_gem", 4), ("common.items.crafting_tools.craftsman_hammer", 0)]),
"velorite_sceptre": (("common.items.weapons.sceptre.sceptre_velorite_0", 1),[("common.items.crafting_ing.twigs", 20), ("common.items.ore.veloritefrag", 10), ("common.items.crafting_ing.shiny_gem", 4), ("common.items.crafting_tools.craftsman_hammer", 0)]),
// Enhanced starting weapons
"better bow": (("common.items.weapons.bow.wood_shortbow-0", 1), [("common.items.crafting_ing.leather_scraps", 8),("common.items.crafting_ing.twigs", 6), ("common.items.crafting_ing.stones", 0)]),
"better sword": (("common.items.weapons.sword.wood_sword", 1), [("common.items.crafting_ing.leather_scraps", 4),("common.items.crafting_ing.twigs", 10), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_ing.stones", 0)]),

View File

@ -507,11 +507,15 @@
),
// Healing staff
Tool(Staff("Sceptre")): VoxTrans(
"voxel.weapon.staff.wood-nature",
"voxel.weapon.sceptre.wood-nature",
(1.0, -1.0, 0.0), (-310., 90.0, 0.0), 1.2,
),
Tool(Staff("StarterSceptre")): VoxTrans(
"voxel.weapon.sceptre.wood-simple",
(0.0, -0.0, 0.0), (-310., 90.0, 0.0), 1.25,
),
Tool(Staff("SceptreVelorite")): VoxTrans(
"voxel.weapon.staff.ore-nature",
"voxel.weapon.sceptre.ore-nature",
(1.0, -1.0, 0.0), (-310., 90.0, 0.0), 1.15,
),
// Shields

View File

@ -547,12 +547,16 @@
color: None
),
// Healing staff
Staff("StarterSceptre"): (
vox_spec: ("weapon.sceptre.wood-simple", (-1.0, -6.0, -6.0)),
color: None
),
Staff("Sceptre"): (
vox_spec: ("weapon.staff.wood-nature", (-1.0, -6.0, -5.0)),
vox_spec: ("weapon.sceptre.wood-nature", (-1.0, -6.0, -5.0)),
color: None
),
Staff("SceptreVelorite"): (
vox_spec: ("weapon.staff.ore-nature", (-2.0, -6.0, -5.0)),
vox_spec: ("weapon.sceptre.ore-nature", (-2.0, -6.0, -5.0)),
color: None
),
// Misc

BIN
assets/voxygen/voxel/weapon/sceptre/wood-simple.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -300,7 +300,7 @@ impl Tool {
max_angle: 20.0,
}],
Staff(kind) => {
if kind == "Sceptre" || kind == "SceptreVelorite" {
if kind == "Sceptre" || kind == "SceptreVelorite" || kind == "StarterSceptre" {
vec![
BasicBeam {
energy_cost: 0,

View File

@ -78,7 +78,9 @@ impl State {
use common::comp::item::{tool::ToolKind, ItemKind};
if let ItemKind::Tool(kind) = kind {
if let ToolKind::Staff(kind) = &kind.kind {
kind != "Sceptre" && kind != "SceptreVelorite"
kind != "Sceptre"
&& kind != "SceptreVelorite"
&& kind != "StarterSceptre"
} else if let ToolKind::Debug(kind) = &kind.kind {
kind == "Boost"
} else {

View File

@ -914,22 +914,41 @@ impl Hud {
let hp_fade = ((crate::ecs::sys::floater::MY_HP_SHOWTIME - floater.timer)
* 0.25)
+ 0.2;
Text::new(&format!("{}", (floater.hp_change / 10).abs()))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(0.0, 0.0, 0.0, hp_fade))
.x_y(x, y - 3.0)
.set(player_sct_bg_id, ui_widgets);
Text::new(&format!("{}", (floater.hp_change / 10).abs()))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(if floater.hp_change < 0 {
Color::Rgba(1.0, 0.1, 0.0, hp_fade)
} else {
Color::Rgba(0.1, 1.0, 0.1, hp_fade)
})
.x_y(x, y)
.set(player_sct_id, ui_widgets);
if floater.hp_change.abs() > 10 {
Text::new(&format!("{}", (floater.hp_change / 10).abs()))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(0.0, 0.0, 0.0, hp_fade))
.x_y(x, y - 3.0)
.set(player_sct_bg_id, ui_widgets);
Text::new(&format!("{}", (floater.hp_change / 10).abs()))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(if floater.hp_change < 0 {
Color::Rgba(1.0, 0.1, 0.0, hp_fade)
} else {
Color::Rgba(0.1, 1.0, 0.1, hp_fade)
})
.x_y(x, y)
.set(player_sct_id, ui_widgets);
} else {
Text::new(&format!("{}", (floater.hp_change as f32 / 10.0).abs()))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(0.0, 0.0, 0.0, hp_fade))
.x_y(x, y - 3.0)
.set(player_sct_bg_id, ui_widgets);
Text::new(&format!("{}", (floater.hp_change as f32 / 10.0).abs()))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(if floater.hp_change < 0 {
Color::Rgba(1.0, 0.1, 0.0, hp_fade)
} else {
Color::Rgba(0.1, 1.0, 0.1, hp_fade)
})
.x_y(x, y)
.set(player_sct_id, ui_widgets);
}
}
}
// EXP Numbers
@ -1236,25 +1255,48 @@ impl Hud {
+ 100.0;
// Timer sets text transparency
let fade = ((crate::ecs::sys::floater::HP_SHOWTIME - timer) * 0.25) + 0.2;
if hp_damage < 10 {
// Damage and heal below 10/10 are shown as decimals
Text::new(&format!("{}", hp_damage as f32 / 10.0))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(0.0, 0.0, 0.0, fade))
.x_y(0.0, y - 3.0)
.position_ingame(ingame_pos)
.set(sct_bg_id, ui_widgets);
Text::new(&format!("{}", hp_damage as f32 / 10.0))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.x_y(0.0, y)
.color(if hp_damage < 0 {
Color::Rgba(font_col.r, font_col.g, font_col.b, fade)
} else {
Color::Rgba(0.1, 1.0, 0.1, fade)
})
.position_ingame(ingame_pos)
.set(sct_id, ui_widgets);
} else {
// Damage and heal above 10/10 are shown rounded
Text::new(&format!("{}", hp_dmg_rounded_abs))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(0.0, 0.0, 0.0, fade))
.x_y(0.0, y - 3.0)
.position_ingame(ingame_pos)
.set(sct_bg_id, ui_widgets);
Text::new(&format!("{}", hp_dmg_rounded_abs))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(0.0, 0.0, 0.0, fade))
.x_y(0.0, y - 3.0)
.position_ingame(ingame_pos)
.set(sct_bg_id, ui_widgets);
Text::new(&format!("{}", hp_dmg_rounded_abs))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.x_y(0.0, y)
.color(if hp_damage < 0 {
Color::Rgba(font_col.r, font_col.g, font_col.b, fade)
} else {
Color::Rgba(0.1, 1.0, 0.1, fade)
})
.position_ingame(ingame_pos)
.set(sct_id, ui_widgets);
Text::new(&format!("{}", hp_dmg_rounded_abs))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.x_y(0.0, y)
.color(if hp_damage < 0 {
Color::Rgba(font_col.r, font_col.g, font_col.b, fade)
} else {
Color::Rgba(0.1, 1.0, 0.1, fade)
})
.position_ingame(ingame_pos)
.set(sct_id, ui_widgets);
};
} else {
for floater in floaters {
let number_speed = 250.0; // Single Numbers Speed
@ -1284,29 +1326,55 @@ impl Hud {
let fade = ((crate::ecs::sys::floater::HP_SHOWTIME - floater.timer)
* 0.25)
+ 0.2;
Text::new(&format!("{}", (floater.hp_change / 10).abs()))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(if floater.hp_change < 0 {
Color::Rgba(0.0, 0.0, 0.0, fade)
} else {
Color::Rgba(0.0, 0.0, 0.0, 1.0)
})
.x_y(0.0, y - 3.0)
.position_ingame(ingame_pos)
.set(sct_bg_id, ui_widgets);
Text::new(&format!("{}", (floater.hp_change / 10).abs()))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.x_y(0.0, y)
.color(if floater.hp_change < 0 {
Color::Rgba(font_col.r, font_col.g, font_col.b, fade)
} else {
Color::Rgba(0.1, 1.0, 0.1, 1.0)
})
.position_ingame(ingame_pos)
.set(sct_id, ui_widgets);
if floater.hp_change.abs() < 10 {
// Damage and heal below 10/10 are shown as decimals
Text::new(&format!("{}", (floater.hp_change as f32 / 10.0)))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(if floater.hp_change < 0 {
Color::Rgba(0.0, 0.0, 0.0, fade)
} else {
Color::Rgba(0.0, 0.0, 0.0, 1.0)
})
.x_y(0.0, y - 3.0)
.position_ingame(ingame_pos)
.set(sct_bg_id, ui_widgets);
Text::new(&format!("{}", (floater.hp_change as f32 / 10.0)))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.x_y(0.0, y)
.color(if floater.hp_change < 0 {
Color::Rgba(font_col.r, font_col.g, font_col.b, fade)
} else {
Color::Rgba(0.1, 1.0, 0.1, 1.0)
})
.position_ingame(ingame_pos)
.set(sct_id, ui_widgets);
} else {
// Damage and heal above 10/10 are shown rounded
Text::new(&format!("{}", (floater.hp_change / 10).abs()))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.color(if floater.hp_change < 0 {
Color::Rgba(0.0, 0.0, 0.0, fade)
} else {
Color::Rgba(0.0, 0.0, 0.0, 1.0)
})
.x_y(0.0, y - 3.0)
.position_ingame(ingame_pos)
.set(sct_bg_id, ui_widgets);
Text::new(&format!("{}", (floater.hp_change / 10).abs()))
.font_size(font_size)
.font_id(self.fonts.cyri.conrod_id)
.x_y(0.0, y)
.color(if floater.hp_change < 0 {
Color::Rgba(font_col.r, font_col.g, font_col.b, fade)
} else {
Color::Rgba(0.1, 1.0, 0.1, 1.0)
})
.position_ingame(ingame_pos)
.set(sct_id, ui_widgets);
}
}
}
}

View File

@ -623,6 +623,7 @@ impl<'a> Widget for Skillbar<'a> {
ToolKind::Staff(kind) => match kind.as_ref() {
"Sceptre" => self.imgs.heal_0,
"SceptreVelorite" => self.imgs.heal_0,
"StarterSceptre" => self.imgs.heal_0,
_ => self.imgs.staff_m1,
},
ToolKind::Debug(kind) => match kind.as_ref() {
@ -705,6 +706,7 @@ impl<'a> Widget for Skillbar<'a> {
Some(ToolKind::Staff(kind)) => match kind.as_ref() {
"Sceptre" => self.imgs.heal_bomb,
"SceptreVelorite" => self.imgs.heal_bomb,
"StarterSceptre" => self.imgs.heal_bomb,
_ => self.imgs.staff_m2,
},
Some(ToolKind::Debug(kind)) => match kind.as_ref() {

View File

@ -35,7 +35,8 @@ const STARTER_AXE: &str = "common.items.weapons.axe.starter_axe";
const STARTER_STAFF: &str = "common.items.weapons.staff.starter_staff";
const STARTER_SWORD: &str = "common.items.weapons.sword.starter_sword";
const STARTER_DAGGER: &str = "common.items.weapons.dagger.starter_dagger";
//const STARTER_SCEPTRE: &str = "common.items.weapons.dagger.starter_dagger";
//const STARTER_SCEPTRE: &str = "common.items.weapons.sceptre.starter_sceptre";
// // Use in future MR to make this a starter weapon
// UI Color-Theme
const UI_MAIN: Color = Color::Rgba(0.61, 0.70, 0.70, 1.0); // Greenish Blue