Initial commit

Added the script taken directly from the old assistant code.
This commit is contained in:
Revision
2021-12-08 18:11:27 +01:00
parent 341ec2cef1
commit 4a2fd85f5d
6 changed files with 78 additions and 1 deletions

View File

@@ -1 +1,17 @@
# mod-weekendbonus
# Weekend Bonus
This is a module for [AzerothCore](https://github.com/azerothcore/azerothcore-wotlk).
# Features
This module will increase the experience and reputation gained on weekends. That means friday, saturday and sunday.
The multiplier can be changed using the config.
# Additional information
This module is part of my collection of modules.
[ActivateZones](https://github.com/tkn963/mod-activatezones) : Set creatures as active in zones that has players in it.
[Assistant](https://github.com/tkn963/mod-assistant) : Allows players to obtain certain items and utilities from an NPC.
[LearnSpells](https://github.com/tkn963/mod-learnspells) : Lets players learn class spells, talent ranks, proficiencies and mounts when leveling up or logging into the world.
[RecruitAFriend](https://github.com/tkn963/mod-recruitafriend) : Lets players activate recruit a friend with an in-game command.
[SpawnPoints](https://github.com/tkn963/mod-spawnpoints) : Makes new characters spawn in specified locations when entering the world for the first time.
[WeekendBonus](https://github.com/tkn963/mod-weekendbonus) : Increases the experience and reputation gained on weekends.

View File

@@ -0,0 +1,7 @@
[worldserver]
# Multiplier for experience gains on weekends
Multiplier.Experience = 1
# Multiplier for reputation gains on weekends
Multiplier.Reputation = 1

1
conf/conf.sh.dist Normal file
View File

@@ -0,0 +1 @@
#!/usr/bin/env bash

8
include.sh Normal file
View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
MOD_WEEKENDBONUS_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/" && pwd )"
source $MOD_WEEKENDBONUS_ROOT"/conf/conf.sh.dist"
if [ -f $MOD_WEEKENDBONUS_ROOT"/conf/conf.sh" ]; then
source $MOD_WEEKENDBONUS_ROOT"/conf/conf.sh"
fi

View File

@@ -0,0 +1,6 @@
void AddWeekendBonusScripts();
void Addmod_weekendbonusScripts()
{
AddWeekendBonusScripts();
}

39
src/WeekendBonus.cpp Normal file
View File

@@ -0,0 +1,39 @@
#include "Chat.h"
#include "Config.h"
#include "Player.h"
#include "ScriptMgr.h"
class WeekendBonus : public PlayerScript
{
public:
WeekendBonus() : PlayerScript("WeekendBonus") {}
void OnGiveXP(Player* player, uint32& amount, Unit* /*victim*/) override
{
time_t t = time(NULL);
if (localtime(&t)->tm_wday == 5 /*Friday*/ || localtime(&t)->tm_wday == 6 /*Saturday*/ || localtime(&t)->tm_wday == 0 /*Sunday*/)
amount *= sConfigMgr->GetIntDefault("Multiplier.Experience", 1);
}
void OnReputationChange(Player* player, uint32 /*factionId*/, int32& standing, bool /*incremental*/) override
{
time_t t = time(NULL);
if (localtime(&t)->tm_wday == 5 /*Friday*/ || localtime(&t)->tm_wday == 6 /*Saturday*/ || localtime(&t)->tm_wday == 0 /*Sunday*/)
standing *= sConfigMgr->GetIntDefault("Multiplier.Reputation", 1);
}
void OnLogin(Player* player) override
{
time_t t = time(NULL);
if (localtime(&t)->tm_wday == 5 /*Friday*/ || localtime(&t)->tm_wday == 6 /*Saturday*/ || localtime(&t)->tm_wday == 0 /*Sunday*/)
ChatHandler(player->GetSession()).SendSysMessage("The weekend bonus is active, increasing the experience and reputation received!");
}
};
void AddWeekendBonusScripts()
{
new WeekendBonus();
}