Skip to content

Commit

Permalink
Merge pull request #30 from azerothcore/sudlud-pach-42-4
Browse files Browse the repository at this point in the history
  • Loading branch information
sudlud authored Feb 26, 2025
2 parents 67a1fbb + 5817443 commit 863eb21
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 15 deletions.
14 changes: 5 additions & 9 deletions src/random_enchants.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,15 @@ void rollPossibleEnchant(Player* player, Item* item)
{
// Check global enable option
if (!sConfigMgr->GetOption<bool>("RandomEnchants.Enable", true))
{
return;
}

uint32 itemQuality = item->GetTemplate()->Quality;
uint32 itemClass = item->GetTemplate()->Class;

/* eliminates enchanting anything that isn't a recognized quality */
/* eliminates enchanting anything but weapons/armor */
if ((itemQuality > 5 || itemQuality < 1) || (itemClass != 2 && itemClass != 4))
{
return;
}

int slotRand[3] = { -1, -1, -1 };
uint32 slotEnch[3] = { 0, 1, 5 };
Expand Down Expand Up @@ -128,31 +124,31 @@ uint32 getRandEnchantment(Item* item)
return result->Fetch()[0].Get<uint32>();
}

void RandomEnchantsPlayer::OnLogin(Player* player)
void RandomEnchantsPlayer::OnPlayerLogin(Player* player)
{
if (sConfigMgr->GetOption<bool>("RandomEnchants.AnnounceOnLogin", true) && (sConfigMgr->GetOption<bool>("RandomEnchants.Enable", true)))
ChatHandler(player->GetSession()).SendSysMessage(sConfigMgr->GetOption<std::string>("RandomEnchants.OnLoginMessage", "This server is running a RandomEnchants Module.").c_str());
}

void RandomEnchantsPlayer::OnLootItem(Player* player, Item* item, uint32 /*count*/, ObjectGuid /*lootguid*/)
void RandomEnchantsPlayer::OnPlayerLootItem(Player* player, Item* item, uint32 /*count*/, ObjectGuid /*lootguid*/)
{
if (sConfigMgr->GetOption<bool>("RandomEnchants.OnLoot", true) && sConfigMgr->GetOption<bool>("RandomEnchants.Enable", true))
rollPossibleEnchant(player, item);
}

void RandomEnchantsPlayer::OnCreateItem(Player* player, Item* item, uint32 /*count*/)
void RandomEnchantsPlayer::OnPlayerCreateItem(Player* player, Item* item, uint32 /*count*/)
{
if (sConfigMgr->GetOption<bool>("RandomEnchants.OnCreate", true) && (sConfigMgr->GetOption<bool>("RandomEnchants.Enable", true)))
rollPossibleEnchant(player, item);
}

void RandomEnchantsPlayer::OnQuestRewardItem(Player* player, Item* item, uint32 /*count*/)
void RandomEnchantsPlayer::OnPlayerQuestRewardItem(Player* player, Item* item, uint32 /*count*/)
{
if (sConfigMgr->GetOption<bool>("RandomEnchants.OnQuestReward", true) && (sConfigMgr->GetOption<bool>("RandomEnchants.Enable", true)))
rollPossibleEnchant(player, item);
}

void RandomEnchantsPlayer::OnGroupRollRewardItem(Player* player, Item* item, uint32 /*count*/, RollVote /*voteType*/, Roll* /*roll*/)
void RandomEnchantsPlayer::OnPlayerGroupRollRewardItem(Player* player, Item* item, uint32 /*count*/, RollVote /*voteType*/, Roll* /*roll*/)
{
if (sConfigMgr->GetOption<bool>("RandomEnchants.OnGroupRoll", true) && (sConfigMgr->GetOption<bool>("RandomEnchants.Enable", true)))
rollPossibleEnchant(player, item);
Expand Down
18 changes: 12 additions & 6 deletions src/random_enchants.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,19 @@ void rollPossibleEnchant(Player* player, Item* item);
class RandomEnchantsPlayer : public PlayerScript
{
public:
RandomEnchantsPlayer() : PlayerScript("RandomEnchantsPlayer") { }
RandomEnchantsPlayer() : PlayerScript("RandomEnchantsPlayer", {
PLAYERHOOK_ON_LOGIN,
PLAYERHOOK_ON_LOOT_ITEM,
PLAYERHOOK_ON_CREATE_ITEM,
PLAYERHOOK_ON_QUEST_REWARD_ITEM,
PLAYERHOOK_ON_GROUP_ROLL_REWARD_ITEM
}) { }

void OnLogin(Player* player) override;
void OnLootItem(Player* player, Item* item, uint32 /*count*/, ObjectGuid /*lootguid*/) override;
void OnCreateItem(Player* player, Item* item, uint32 /*count*/) override;
void OnQuestRewardItem(Player* player, Item* item, uint32 /*count*/) override;
void OnGroupRollRewardItem(Player* player, Item* item, uint32 /*count*/, RollVote /*voteType*/, Roll* /*roll*/) override;
void OnPlayerLogin(Player* player) override;
void OnPlayerLootItem(Player* player, Item* item, uint32 /*count*/, ObjectGuid /*lootguid*/) override;
void OnPlayerCreateItem(Player* player, Item* item, uint32 /*count*/) override;
void OnPlayerQuestRewardItem(Player* player, Item* item, uint32 /*count*/) override;
void OnPlayerGroupRollRewardItem(Player* player, Item* item, uint32 /*count*/, RollVote /*voteType*/, Roll* /*roll*/) override;
};

void AddRandomEnchantsScripts()
Expand Down

0 comments on commit 863eb21

Please sign in to comment.