mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Add a coin item and make amounts visible on dropped items.
This commit is contained in:
parent
00937a4e8b
commit
7d2e8f72eb
11
assets/common/items/utility/coins.ron
Normal file
11
assets/common/items/utility/coins.ron
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
ItemDef(
|
||||||
|
name: "Coins",
|
||||||
|
description: "Money can be exchanged for goods and services.",
|
||||||
|
kind: Utility(
|
||||||
|
kind: Coins,
|
||||||
|
),
|
||||||
|
amount: 1,
|
||||||
|
quality: Common,
|
||||||
|
tags: [],
|
||||||
|
)
|
||||||
|
|
@ -887,6 +887,10 @@
|
|||||||
),
|
),
|
||||||
|
|
||||||
// Other
|
// Other
|
||||||
|
Utility(Coins): VoxTrans(
|
||||||
|
"voxel.object.coins",
|
||||||
|
(0.0, 0.0, 0.0), (0.0, 0.0, 0.0), 0.6,
|
||||||
|
),
|
||||||
Utility(Collar): Png(
|
Utility(Collar): Png(
|
||||||
"element.icons.collar",
|
"element.icons.collar",
|
||||||
),
|
),
|
||||||
|
BIN
assets/voxygen/voxel/object/coins.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/object/coins.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -539,6 +539,16 @@
|
|||||||
central: ("armor.empty"),
|
central: ("armor.empty"),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
Coins: (
|
||||||
|
bone0: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("object.coins"),
|
||||||
|
),
|
||||||
|
bone1: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
)
|
||||||
|
),
|
||||||
CraftingBench: (
|
CraftingBench: (
|
||||||
bone0: (
|
bone0: (
|
||||||
offset: (-9.5, -7.0, 0.0),
|
offset: (-9.5, -7.0, 0.0),
|
||||||
@ -649,4 +659,4 @@
|
|||||||
central: ("armor.empty"),
|
central: ("armor.empty"),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
})
|
})
|
||||||
|
@ -72,6 +72,7 @@ make_case_elim!(
|
|||||||
Steak = 62,
|
Steak = 62,
|
||||||
Crossbow = 63,
|
Crossbow = 63,
|
||||||
ArrowTurret = 64,
|
ArrowTurret = 64,
|
||||||
|
Coins = 65,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -82,7 +83,7 @@ impl Body {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub const ALL_OBJECTS: [Body; 65] = [
|
pub const ALL_OBJECTS: [Body; 66] = [
|
||||||
Body::Arrow,
|
Body::Arrow,
|
||||||
Body::Bomb,
|
Body::Bomb,
|
||||||
Body::Scarecrow,
|
Body::Scarecrow,
|
||||||
@ -148,6 +149,7 @@ pub const ALL_OBJECTS: [Body; 65] = [
|
|||||||
Body::Steak,
|
Body::Steak,
|
||||||
Body::Crossbow,
|
Body::Crossbow,
|
||||||
Body::ArrowTurret,
|
Body::ArrowTurret,
|
||||||
|
Body::Coins,
|
||||||
];
|
];
|
||||||
|
|
||||||
impl From<Body> for super::Body {
|
impl From<Body> for super::Body {
|
||||||
@ -222,6 +224,7 @@ impl Body {
|
|||||||
Body::Steak => "steak",
|
Body::Steak => "steak",
|
||||||
Body::Crossbow => "crossbow",
|
Body::Crossbow => "crossbow",
|
||||||
Body::ArrowTurret => "arrow_turret",
|
Body::ArrowTurret => "arrow_turret",
|
||||||
|
Body::Coins => "coins",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,7 @@ pub enum Reagent {
|
|||||||
|
|
||||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||||
pub enum Utility {
|
pub enum Utility {
|
||||||
|
Coins,
|
||||||
Collar,
|
Collar,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -523,8 +523,13 @@ pub fn handle_inventory(server: &mut Server, entity: EcsEntity, manip: comp::Slo
|
|||||||
|
|
||||||
// Drop items
|
// Drop items
|
||||||
for (pos, ori, item) in dropped_items {
|
for (pos, ori, item) in dropped_items {
|
||||||
|
// hack: special case coins for now
|
||||||
|
let body = match item.item_definition_id() {
|
||||||
|
"common.items.utility.coins" => comp::object::Body::Coins,
|
||||||
|
_ => comp::object::Body::Pouch,
|
||||||
|
};
|
||||||
state
|
state
|
||||||
.create_object(Default::default(), comp::object::Body::Pouch)
|
.create_object(Default::default(), body)
|
||||||
.with(comp::Pos(pos.0 + *ori.look_dir() + Vec3::unit_z()))
|
.with(comp::Pos(pos.0 + *ori.look_dir() + Vec3::unit_z()))
|
||||||
.with(item)
|
.with(item)
|
||||||
.with(comp::Vel(Vec3::zero()))
|
.with(comp::Vel(Vec3::zero()))
|
||||||
|
@ -1290,9 +1290,15 @@ impl Hud {
|
|||||||
);
|
);
|
||||||
let ingame_pos = pos.0 + Vec3::unit_z() * 1.2;
|
let ingame_pos = pos.0 + Vec3::unit_z() * 1.2;
|
||||||
|
|
||||||
|
let text = if item.amount() > 1 {
|
||||||
|
format!("{} x {}", item.amount(), item.name())
|
||||||
|
} else {
|
||||||
|
item.name().to_string()
|
||||||
|
};
|
||||||
|
|
||||||
// Item
|
// Item
|
||||||
overitem::Overitem::new(
|
overitem::Overitem::new(
|
||||||
&item.name(),
|
&text,
|
||||||
&distance,
|
&distance,
|
||||||
&self.fonts,
|
&self.fonts,
|
||||||
&global_state.settings.controls,
|
&global_state.settings.controls,
|
||||||
|
Loading…
Reference in New Issue
Block a user