mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2024-11-22 21:40:05 +00:00
eggBuffPlayer now takes duration, and buff duration is read from EggType
This commit is contained in:
parent
46b6d9fcc7
commit
9e30e55669
@ -476,7 +476,7 @@ void buffCommand(std::string full, std::vector<std::string>& args, CNSocket* soc
|
|||||||
if (*tmp)
|
if (*tmp)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (NPCManager::eggBuffPlayer(sock, skillId, duration)<0)
|
if (NPCManager::eggBuffPlayer(sock, skillId, 0, duration)<0)
|
||||||
ChatManager::sendServerMessage(sock, "/buff: unknown skill Id");
|
ChatManager::sendServerMessage(sock, "/buff: unknown skill Id");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -648,7 +648,7 @@ BaseNPC* NPCManager::getNearestNPC(std::set<Chunk*>* chunks, int X, int Y, int Z
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
int NPCManager::eggBuffPlayer(CNSocket* sock, int skillId, int eggId) {
|
int NPCManager::eggBuffPlayer(CNSocket* sock, int skillId, int eggId, int duration) {
|
||||||
Player* plr = PlayerManager::getPlayer(sock);
|
Player* plr = PlayerManager::getPlayer(sock);
|
||||||
Player* otherPlr = PlayerManager::getPlayerFromID(plr->iIDGroup);
|
Player* otherPlr = PlayerManager::getPlayerFromID(plr->iIDGroup);
|
||||||
|
|
||||||
@ -713,7 +713,7 @@ int NPCManager::eggBuffPlayer(CNSocket* sock, int skillId, int eggId) {
|
|||||||
|
|
||||||
// save the buff serverside;
|
// save the buff serverside;
|
||||||
// if you get the same buff again, new duration will override the previous one
|
// if you get the same buff again, new duration will override the previous one
|
||||||
time_t until = getTime() + (time_t)NanoManager::SkillTable[skillId].durationTime[0] * 25;
|
time_t until = getTime() + (time_t)duration * 1000;
|
||||||
EggBuffs[key] = until;
|
EggBuffs[key] = until;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -818,7 +818,7 @@ void NPCManager::eggPickup(CNSocket* sock, CNPacketData* data) {
|
|||||||
|
|
||||||
// buff the player
|
// buff the player
|
||||||
if (type->effectId != 0)
|
if (type->effectId != 0)
|
||||||
eggBuffPlayer(sock, type->effectId, eggId);
|
eggBuffPlayer(sock, type->effectId, eggId, type->duration);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SHINY_PICKUP_SUCC is only causing a GUI effect in the client
|
* SHINY_PICKUP_SUCC is only causing a GUI effect in the client
|
||||||
|
@ -89,7 +89,7 @@ namespace NPCManager {
|
|||||||
BaseNPC* getNearestNPC(std::set<Chunk*>* chunks, int X, int Y, int Z);
|
BaseNPC* getNearestNPC(std::set<Chunk*>* chunks, int X, int Y, int Z);
|
||||||
|
|
||||||
/// returns -1 on fail
|
/// returns -1 on fail
|
||||||
int eggBuffPlayer(CNSocket* sock, int skillId, int duration);
|
int eggBuffPlayer(CNSocket* sock, int skillId, int eggId, int duration);
|
||||||
void eggStep(CNServer* serv, time_t currTime);
|
void eggStep(CNServer* serv, time_t currTime);
|
||||||
void npcDataToEggData(sNPCAppearanceData* npc, sShinyAppearanceData* egg);
|
void npcDataToEggData(sNPCAppearanceData* npc, sShinyAppearanceData* egg);
|
||||||
void eggPickup(CNSocket* sock, CNPacketData* data);
|
void eggPickup(CNSocket* sock, CNPacketData* data);
|
||||||
|
Loading…
Reference in New Issue
Block a user