From f6c6c0386a9c35fb2c5c530fe1f1722390542e3f Mon Sep 17 00:00:00 2001 From: sruon Date: Thu, 9 Apr 2026 19:38:16 -0600 Subject: [PATCH] Support floating activation time on usable items --- sql/item_usable.sql | 2 +- src/map/utils/itemutils.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/item_usable.sql b/sql/item_usable.sql index 6d958a9560d..8415ce13ddb 100644 --- a/sql/item_usable.sql +++ b/sql/item_usable.sql @@ -20,7 +20,7 @@ CREATE TABLE `item_usable` ( `itemid` smallint(5) unsigned NOT NULL, `name` text NOT NULL, `validTargets` smallint(3) unsigned NOT NULL DEFAULT '0', - `activation` tinyint(3) unsigned NOT NULL DEFAULT '0', + `activation` float unsigned NOT NULL DEFAULT '0', `animation` smallint(4) unsigned NOT NULL DEFAULT '0', `animationTime` tinyint(3) unsigned NOT NULL DEFAULT '0', `maxCharges` tinyint(3) unsigned NOT NULL DEFAULT '0', diff --git a/src/map/utils/itemutils.cpp b/src/map/utils/itemutils.cpp index 69c39e2c547..cdc55df0027 100644 --- a/src/map/utils/itemutils.cpp +++ b/src/map/utils/itemutils.cpp @@ -335,7 +335,7 @@ void LoadItemList() (!(PItem->isType(ITEM_EQUIPMENT) || PItem->isType(ITEM_WEAPON)) || !rset->isNull("validTargets"))) { static_cast(PItem)->setValidTarget(rset->get("validTargets")); - static_cast(PItem)->setActivationTime(std::chrono::seconds(rset->get("activation"))); + static_cast(PItem)->setActivationTime(std::chrono::duration_cast(std::chrono::duration(rset->get("activation")))); static_cast(PItem)->setAnimationID(rset->get("animation")); static_cast(PItem)->setAnimationTime(std::chrono::seconds(rset->get("animationTime"))); static_cast(PItem)->setMaxCharges(rset->get("maxCharges"));