1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Fix number of tool uses being off by 1..32767 (#11110)

This commit is contained in:
Wuzzy 2021-10-31 22:33:33 +00:00 committed by GitHub
parent 38ba813c55
commit 6910c8d920
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 229 additions and 71 deletions

View file

@ -88,10 +88,10 @@ struct DigParams
// Digging time in seconds
float time;
// Caused wear
u16 wear;
u32 wear; // u32 because wear could be 65536 (single-use tool)
std::string main_group;
DigParams(bool a_diggable = false, float a_time = 0.0f, u16 a_wear = 0,
DigParams(bool a_diggable = false, float a_time = 0.0f, u32 a_wear = 0,
const std::string &a_main_group = ""):
diggable(a_diggable),
time(a_time),
@ -101,21 +101,24 @@ struct DigParams
};
DigParams getDigParams(const ItemGroupList &groups,
const ToolCapabilities *tp);
const ToolCapabilities *tp,
const u16 initial_wear = 0);
struct HitParams
{
s16 hp;
u16 wear;
// Caused wear
u32 wear; // u32 because wear could be 65536 (single-use weapon)
HitParams(s16 hp_ = 0, u16 wear_ = 0):
HitParams(s16 hp_ = 0, u32 wear_ = 0):
hp(hp_),
wear(wear_)
{}
};
HitParams getHitParams(const ItemGroupList &armor_groups,
const ToolCapabilities *tp, float time_from_last_punch);
const ToolCapabilities *tp, float time_from_last_punch,
u16 initial_wear = 0);
HitParams getHitParams(const ItemGroupList &armor_groups,
const ToolCapabilities *tp);
@ -135,7 +138,8 @@ PunchDamageResult getPunchDamage(
const ItemGroupList &armor_groups,
const ToolCapabilities *toolcap,
const ItemStack *punchitem,
float time_from_last_punch
float time_from_last_punch,
u16 initial_wear = 0
);
f32 getToolRange(const ItemDefinition &def_selected, const ItemDefinition &def_hand);