forked from teamnwah/openmw-tes3coop
[General] Add and use PlayerBounty packet and matching script functions
This commit is contained in:
parent
6658531713
commit
7b07d6651f
16 changed files with 187 additions and 25 deletions
|
@ -113,14 +113,14 @@ source_group(tes3mp-server\\processors\\actor FILES ${PROCESSORS_ACTOR})
|
||||||
set(PROCESSORS_PLAYER
|
set(PROCESSORS_PLAYER
|
||||||
processors/player/ProcessorChatMsg.hpp processors/player/ProcessorGUIMessageBox.hpp
|
processors/player/ProcessorChatMsg.hpp processors/player/ProcessorGUIMessageBox.hpp
|
||||||
processors/player/ProcessorPlayerAnimFlags.hpp processors/player/ProcessorPlayerAttack.hpp
|
processors/player/ProcessorPlayerAnimFlags.hpp processors/player/ProcessorPlayerAttack.hpp
|
||||||
processors/player/ProcessorPlayerAttribute.hpp processors/player/ProcessorPlayerCellChange.hpp
|
processors/player/ProcessorPlayerAttribute.hpp processors/player/ProcessorPlayerBounty.hpp
|
||||||
processors/player/ProcessorPlayerCellState.hpp processors/player/ProcessorPlayerCharClass.hpp
|
processors/player/ProcessorPlayerCellChange.hpp processors/player/ProcessorPlayerCellState.hpp
|
||||||
processors/player/ProcessorPlayerCharGen.hpp processors/player/ProcessorPlayerDeath.hpp
|
processors/player/ProcessorPlayerCharClass.hpp processors/player/ProcessorPlayerCharGen.hpp
|
||||||
processors/player/ProcessorPlayerEquipment.hpp processors/player/ProcessorPlayerInventory.hpp
|
processors/player/ProcessorPlayerDeath.hpp processors/player/ProcessorPlayerEquipment.hpp
|
||||||
processors/player/ProcessorPlayerJournal.hpp processors/player/ProcessorPlayerLevel.hpp
|
processors/player/ProcessorPlayerInventory.hpp processors/player/ProcessorPlayerJournal.hpp
|
||||||
processors/player/ProcessorPlayerPos.hpp processors/player/ProcessorPlayerResurrect.hpp
|
processors/player/ProcessorPlayerLevel.hpp processors/player/ProcessorPlayerPos.hpp
|
||||||
processors/player/ProcessorPlayerSkill.hpp processors/player/ProcessorPlayerSpellbook.hpp
|
processors/player/ProcessorPlayerResurrect.hpp processors/player/ProcessorPlayerSkill.hpp
|
||||||
processors/player/ProcessorPlayerStatsDynamic.hpp
|
processors/player/ProcessorPlayerSpellbook.hpp processors/player/ProcessorPlayerStatsDynamic.hpp
|
||||||
)
|
)
|
||||||
|
|
||||||
source_group(tes3mp-server\\processors\\player FILES ${PROCESSORS_PLAYER})
|
source_group(tes3mp-server\\processors\\player FILES ${PROCESSORS_PLAYER})
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include "processors/player/ProcessorPlayerAttribute.hpp"
|
#include "processors/player/ProcessorPlayerAttribute.hpp"
|
||||||
#include "processors/player/ProcessorPlayerSkill.hpp"
|
#include "processors/player/ProcessorPlayerSkill.hpp"
|
||||||
#include "processors/player/ProcessorPlayerLevel.hpp"
|
#include "processors/player/ProcessorPlayerLevel.hpp"
|
||||||
|
#include "processors/player/ProcessorPlayerBounty.hpp"
|
||||||
#include "processors/player/ProcessorPlayerEquipment.hpp"
|
#include "processors/player/ProcessorPlayerEquipment.hpp"
|
||||||
#include "processors/player/ProcessorPlayerInventory.hpp"
|
#include "processors/player/ProcessorPlayerInventory.hpp"
|
||||||
#include "processors/player/ProcessorPlayerSpellbook.hpp"
|
#include "processors/player/ProcessorPlayerSpellbook.hpp"
|
||||||
|
@ -64,6 +65,7 @@ void ProcessorInitializer()
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerAttribute());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerAttribute());
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerSkill());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerSkill());
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerLevel());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerLevel());
|
||||||
|
PlayerProcessor::AddProcessor(new ProcessorPlayerBounty());
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerEquipment());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerEquipment());
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerInventory());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerInventory());
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerSpellbook());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerSpellbook());
|
||||||
|
|
|
@ -134,7 +134,7 @@ void StatsFunctions::SetIsMale(unsigned short pid, int value) noexcept
|
||||||
int StatsFunctions::GetLevel(unsigned short pid) noexcept
|
int StatsFunctions::GetLevel(unsigned short pid) noexcept
|
||||||
{
|
{
|
||||||
Player *player;
|
Player *player;
|
||||||
GET_PLAYER(pid, player, 0.0f);
|
GET_PLAYER(pid, player, 0);
|
||||||
|
|
||||||
return player->creatureStats.mLevel;
|
return player->creatureStats.mLevel;
|
||||||
}
|
}
|
||||||
|
@ -150,7 +150,7 @@ void StatsFunctions::SetLevel(unsigned short pid, int value) noexcept
|
||||||
int StatsFunctions::GetLevelProgress(unsigned short pid) noexcept
|
int StatsFunctions::GetLevelProgress(unsigned short pid) noexcept
|
||||||
{
|
{
|
||||||
Player *player;
|
Player *player;
|
||||||
GET_PLAYER(pid, player, 0.0f);
|
GET_PLAYER(pid, player, 0);
|
||||||
|
|
||||||
return player->npcStats.mLevelProgress;
|
return player->npcStats.mLevelProgress;
|
||||||
}
|
}
|
||||||
|
@ -432,7 +432,7 @@ int StatsFunctions::GetSkillIncrease(unsigned short pid, unsigned int attribute)
|
||||||
return player->npcStats.mSkillIncrease[attribute];
|
return player->npcStats.mSkillIncrease[attribute];
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatsFunctions::SetSkillIncrease(unsigned short pid, unsigned int attribute, int value) noexcept // TODO: need packet for transmit it
|
void StatsFunctions::SetSkillIncrease(unsigned short pid, unsigned int attribute, int value) noexcept
|
||||||
{
|
{
|
||||||
Player *player;
|
Player *player;
|
||||||
GET_PLAYER(pid, player,);
|
GET_PLAYER(pid, player,);
|
||||||
|
@ -443,6 +443,22 @@ void StatsFunctions::SetSkillIncrease(unsigned short pid, unsigned int attribute
|
||||||
player->npcStats.mSkillIncrease[attribute] = value;
|
player->npcStats.mSkillIncrease[attribute] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int StatsFunctions::GetBounty(unsigned short pid) noexcept
|
||||||
|
{
|
||||||
|
Player *player;
|
||||||
|
GET_PLAYER(pid, player, 0);
|
||||||
|
|
||||||
|
return player->npcStats.mBounty;
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatsFunctions::SetBounty(unsigned short pid, int value) noexcept
|
||||||
|
{
|
||||||
|
Player *player;
|
||||||
|
GET_PLAYER(pid, player, );
|
||||||
|
|
||||||
|
player->npcStats.mBounty = value;
|
||||||
|
}
|
||||||
|
|
||||||
void StatsFunctions::SetCharGenStage(unsigned short pid, int start, int end) noexcept
|
void StatsFunctions::SetCharGenStage(unsigned short pid, int start, int end) noexcept
|
||||||
{
|
{
|
||||||
Player *player;
|
Player *player;
|
||||||
|
@ -511,3 +527,13 @@ void StatsFunctions::SendLevel(unsigned short pid) noexcept
|
||||||
mwmp::Networking::get().getPlayerPacketController()->GetPacket(ID_PLAYER_LEVEL)->Send(false);
|
mwmp::Networking::get().getPlayerPacketController()->GetPacket(ID_PLAYER_LEVEL)->Send(false);
|
||||||
mwmp::Networking::get().getPlayerPacketController()->GetPacket(ID_PLAYER_LEVEL)->Send(true);
|
mwmp::Networking::get().getPlayerPacketController()->GetPacket(ID_PLAYER_LEVEL)->Send(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StatsFunctions::SendBounty(unsigned short pid) noexcept
|
||||||
|
{
|
||||||
|
Player *player;
|
||||||
|
GET_PLAYER(pid, player, );
|
||||||
|
|
||||||
|
mwmp::Networking::get().getPlayerPacketController()->GetPacket(ID_PLAYER_BOUNTY)->setPlayer(player);
|
||||||
|
mwmp::Networking::get().getPlayerPacketController()->GetPacket(ID_PLAYER_BOUNTY)->Send(false);
|
||||||
|
mwmp::Networking::get().getPlayerPacketController()->GetPacket(ID_PLAYER_BOUNTY)->Send(true);
|
||||||
|
}
|
||||||
|
|
|
@ -58,14 +58,17 @@
|
||||||
{"GetMagickaCurrent", StatsFunctions::GetMagickaCurrent},\
|
{"GetMagickaCurrent", StatsFunctions::GetMagickaCurrent},\
|
||||||
{"SetMagickaCurrent", StatsFunctions::SetMagickaCurrent},\
|
{"SetMagickaCurrent", StatsFunctions::SetMagickaCurrent},\
|
||||||
\
|
\
|
||||||
{"SetFatigueBase", StatsFunctions::SetFatigueBase},\
|
|
||||||
{"GetFatigueBase", StatsFunctions::GetFatigueBase},\
|
{"GetFatigueBase", StatsFunctions::GetFatigueBase},\
|
||||||
{"SetFatigueCurrent", StatsFunctions::SetFatigueCurrent},\
|
{"SetFatigueBase", StatsFunctions::SetFatigueBase},\
|
||||||
{"GetFatigueCurrent", StatsFunctions::GetFatigueCurrent},\
|
{"GetFatigueCurrent", StatsFunctions::GetFatigueCurrent},\
|
||||||
|
{"SetFatigueCurrent", StatsFunctions::SetFatigueCurrent},\
|
||||||
\
|
\
|
||||||
{"GetSkillIncrease", StatsFunctions::GetSkillIncrease},\
|
{"GetSkillIncrease", StatsFunctions::GetSkillIncrease},\
|
||||||
{"SetSkillIncrease", StatsFunctions::SetSkillIncrease},\
|
{"SetSkillIncrease", StatsFunctions::SetSkillIncrease},\
|
||||||
\
|
\
|
||||||
|
{"GetBounty", StatsFunctions::GetBounty},\
|
||||||
|
{"SetBounty", StatsFunctions::SetBounty},\
|
||||||
|
\
|
||||||
{"SetCharGenStage", StatsFunctions::SetCharGenStage},\
|
{"SetCharGenStage", StatsFunctions::SetCharGenStage},\
|
||||||
{"Resurrect", StatsFunctions::Resurrect},\
|
{"Resurrect", StatsFunctions::Resurrect},\
|
||||||
{"SendBaseInfo", StatsFunctions::SendBaseInfo},\
|
{"SendBaseInfo", StatsFunctions::SendBaseInfo},\
|
||||||
|
@ -73,7 +76,8 @@
|
||||||
{"SendStatsDynamic", StatsFunctions::SendStatsDynamic},\
|
{"SendStatsDynamic", StatsFunctions::SendStatsDynamic},\
|
||||||
{"SendAttributes", StatsFunctions::SendAttributes},\
|
{"SendAttributes", StatsFunctions::SendAttributes},\
|
||||||
{"SendSkills", StatsFunctions::SendSkills},\
|
{"SendSkills", StatsFunctions::SendSkills},\
|
||||||
{"SendLevel", StatsFunctions::SendLevel}
|
{"SendLevel", StatsFunctions::SendLevel},\
|
||||||
|
{"SendBounty", StatsFunctions::SendBounty}
|
||||||
|
|
||||||
class StatsFunctions
|
class StatsFunctions
|
||||||
{
|
{
|
||||||
|
@ -138,6 +142,9 @@ public:
|
||||||
static int GetSkillIncrease(unsigned short pid, unsigned int pos) noexcept;
|
static int GetSkillIncrease(unsigned short pid, unsigned int pos) noexcept;
|
||||||
static void SetSkillIncrease(unsigned short pid, unsigned int pos, int value) noexcept;
|
static void SetSkillIncrease(unsigned short pid, unsigned int pos, int value) noexcept;
|
||||||
|
|
||||||
|
static int GetBounty(unsigned short pid) noexcept;
|
||||||
|
static void SetBounty(unsigned short pid, int value) noexcept;
|
||||||
|
|
||||||
static void Resurrect(unsigned short pid);
|
static void Resurrect(unsigned short pid);
|
||||||
static void SetCharGenStage(unsigned short pid, int start, int end) noexcept;
|
static void SetCharGenStage(unsigned short pid, int start, int end) noexcept;
|
||||||
static void SendBaseInfo(unsigned short pid) noexcept;
|
static void SendBaseInfo(unsigned short pid) noexcept;
|
||||||
|
@ -146,6 +153,7 @@ public:
|
||||||
static void SendAttributes(unsigned short pid) noexcept;
|
static void SendAttributes(unsigned short pid) noexcept;
|
||||||
static void SendSkills(unsigned short pid) noexcept;
|
static void SendSkills(unsigned short pid) noexcept;
|
||||||
static void SendLevel(unsigned short pid) noexcept;
|
static void SendLevel(unsigned short pid) noexcept;
|
||||||
|
static void SendBounty(unsigned short pid) noexcept;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //OPENMW_STATAPI_HPP
|
#endif //OPENMW_STATAPI_HPP
|
||||||
|
|
|
@ -119,6 +119,7 @@ public:
|
||||||
{"OnPlayerAttributesChange", Function<void, unsigned short>()},
|
{"OnPlayerAttributesChange", Function<void, unsigned short>()},
|
||||||
{"OnPlayerSkillsChange", Function<void, unsigned short>()},
|
{"OnPlayerSkillsChange", Function<void, unsigned short>()},
|
||||||
{"OnPlayerLevelChange", Function<void, unsigned short>()},
|
{"OnPlayerLevelChange", Function<void, unsigned short>()},
|
||||||
|
{"OnPlayerBountyChange", Function<void, unsigned short>()},
|
||||||
{"OnPlayerEquipmentChange", Function<void, unsigned short>()},
|
{"OnPlayerEquipmentChange", Function<void, unsigned short>()},
|
||||||
{"OnPlayerInventoryChange", Function<void, unsigned short>()},
|
{"OnPlayerInventoryChange", Function<void, unsigned short>()},
|
||||||
{"OnPlayerSpellbookChange", Function<void, unsigned short>()},
|
{"OnPlayerSpellbookChange", Function<void, unsigned short>()},
|
||||||
|
|
24
apps/openmw-mp/processors/player/ProcessorPlayerBounty.hpp
Normal file
24
apps/openmw-mp/processors/player/ProcessorPlayerBounty.hpp
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#ifndef OPENMW_PROCESSORPLAYERBOUNTY_HPP
|
||||||
|
#define OPENMW_PROCESSORPLAYERBOUNTY_HPP
|
||||||
|
|
||||||
|
|
||||||
|
#include "apps/openmw-mp/PlayerProcessor.hpp"
|
||||||
|
|
||||||
|
namespace mwmp
|
||||||
|
{
|
||||||
|
class ProcessorPlayerBounty : public PlayerProcessor
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ProcessorPlayerBounty()
|
||||||
|
{
|
||||||
|
BPP_INIT(ID_PLAYER_BOUNTY)
|
||||||
|
}
|
||||||
|
|
||||||
|
void Do(PlayerPacket &packet, Player &player) override
|
||||||
|
{
|
||||||
|
Script::Call<Script::CallbackIdentity("OnPlayerBountyChange")>(player.getId());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //OPENMW_PROCESSORPLAYERBOUNTY_HPP
|
|
@ -106,11 +106,11 @@ add_openmw_dir (mwmp\\processors\\actor ProcessorActorAnimFlags ProcessorActorAn
|
||||||
)
|
)
|
||||||
|
|
||||||
add_openmw_dir (mwmp\\processors\\player ProcessorChatMessage ProcessorGameConsole ProcessorGameTime ProcessorGUIMessageBox
|
add_openmw_dir (mwmp\\processors\\player ProcessorChatMessage ProcessorGameConsole ProcessorGameTime ProcessorGUIMessageBox
|
||||||
ProcessorHandshake ProcessorPlayerAttack ProcessorPlayerAttribute ProcessorPlayerBaseInfo ProcessorPlayerCellChange
|
ProcessorHandshake ProcessorPlayerAttack ProcessorPlayerAttribute ProcessorPlayerBaseInfo ProcessorPlayerBounty
|
||||||
ProcessorPlayerCellState ProcessorPlayerCharClass ProcessorPlayerCharGen ProcessorPlayerDeath ProcessorPlayerAnimFlags
|
ProcessorPlayerCellChange ProcessorPlayerCellState ProcessorPlayerCharClass ProcessorPlayerCharGen ProcessorPlayerDeath
|
||||||
ProcessorPlayerStatsDynamic ProcessorPlayerEquipment ProcessorPlayerInventory ProcessorPlayerJournal
|
ProcessorPlayerAnimFlags ProcessorPlayerStatsDynamic ProcessorPlayerEquipment ProcessorPlayerInventory
|
||||||
ProcessorPlayerLevel ProcessorPlayerPos ProcessorPlayerResurrect ProcessorPlayerSkill ProcessorPlayerSpellbook
|
ProcessorPlayerJournal ProcessorPlayerLevel ProcessorPlayerPos ProcessorPlayerResurrect ProcessorPlayerSkill
|
||||||
ProcessorUserDisconnected ProcessorUserMyID
|
ProcessorPlayerSpellbook ProcessorUserDisconnected ProcessorUserMyID
|
||||||
)
|
)
|
||||||
|
|
||||||
add_openmw_dir (mwmp\\processors\\world BaseObjectProcessor ProcessorContainer ProcessorDoorState ProcessorMusicPlay
|
add_openmw_dir (mwmp\\processors\\world BaseObjectProcessor ProcessorContainer ProcessorDoorState ProcessorMusicPlay
|
||||||
|
|
|
@ -79,6 +79,7 @@ void LocalPlayer::update()
|
||||||
updateAttributes();
|
updateAttributes();
|
||||||
updateSkills();
|
updateSkills();
|
||||||
updateLevel();
|
updateLevel();
|
||||||
|
updateBounty();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LocalPlayer::charGen(int stageFirst, int stageEnd)
|
void LocalPlayer::charGen(int stageFirst, int stageEnd)
|
||||||
|
@ -267,11 +268,11 @@ void LocalPlayer::updateSkills(bool forceUpdate)
|
||||||
void LocalPlayer::updateLevel(bool forceUpdate)
|
void LocalPlayer::updateLevel(bool forceUpdate)
|
||||||
{
|
{
|
||||||
MWWorld::Ptr player = getPlayerPtr();
|
MWWorld::Ptr player = getPlayerPtr();
|
||||||
const MWMechanics::NpcStats &ptrNpcStats = player.getClass().getNpcStats(player);
|
const MWMechanics::CreatureStats &ptrCreatureStats = player.getClass().getCreatureStats(player);
|
||||||
|
|
||||||
if (ptrNpcStats.getLevel() != creatureStats.mLevel || forceUpdate)
|
if (ptrCreatureStats.getLevel() != creatureStats.mLevel || forceUpdate)
|
||||||
{
|
{
|
||||||
creatureStats.mLevel = ptrNpcStats.getLevel();
|
creatureStats.mLevel = ptrCreatureStats.getLevel();
|
||||||
getNetworking()->getPlayerPacket(ID_PLAYER_LEVEL)->setPlayer(this);
|
getNetworking()->getPlayerPacket(ID_PLAYER_LEVEL)->setPlayer(this);
|
||||||
getNetworking()->getPlayerPacket(ID_PLAYER_LEVEL)->Send();
|
getNetworking()->getPlayerPacket(ID_PLAYER_LEVEL)->Send();
|
||||||
|
|
||||||
|
@ -281,6 +282,19 @@ void LocalPlayer::updateLevel(bool forceUpdate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LocalPlayer::updateBounty(bool forceUpdate)
|
||||||
|
{
|
||||||
|
MWWorld::Ptr player = getPlayerPtr();
|
||||||
|
const MWMechanics::NpcStats &ptrNpcStats = player.getClass().getNpcStats(player);
|
||||||
|
|
||||||
|
if (ptrNpcStats.getBounty() != npcStats.mBounty || forceUpdate)
|
||||||
|
{
|
||||||
|
npcStats.mBounty = ptrNpcStats.getBounty();
|
||||||
|
getNetworking()->getPlayerPacket(ID_PLAYER_BOUNTY)->setPlayer(this);
|
||||||
|
getNetworking()->getPlayerPacket(ID_PLAYER_BOUNTY)->Send();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void LocalPlayer::updatePosition(bool forceUpdate)
|
void LocalPlayer::updatePosition(bool forceUpdate)
|
||||||
{
|
{
|
||||||
MWBase::World *world = MWBase::Environment::get().getWorld();
|
MWBase::World *world = MWBase::Environment::get().getWorld();
|
||||||
|
@ -742,6 +756,15 @@ void LocalPlayer::setLevel()
|
||||||
ptrCreatureStats->setLevel(creatureStats.mLevel);
|
ptrCreatureStats->setLevel(creatureStats.mLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LocalPlayer::setBounty()
|
||||||
|
{
|
||||||
|
MWBase::World *world = MWBase::Environment::get().getWorld();
|
||||||
|
MWWorld::Ptr player = world->getPlayerPtr();
|
||||||
|
|
||||||
|
MWMechanics::NpcStats *ptrNpcStats = &player.getClass().getNpcStats(player);
|
||||||
|
ptrNpcStats->setBounty(npcStats.mBounty);
|
||||||
|
}
|
||||||
|
|
||||||
void LocalPlayer::setPosition()
|
void LocalPlayer::setPosition()
|
||||||
{
|
{
|
||||||
MWBase::World *world = MWBase::Environment::get().getWorld();
|
MWBase::World *world = MWBase::Environment::get().getWorld();
|
||||||
|
|
|
@ -29,6 +29,7 @@ namespace mwmp
|
||||||
void updateAttributes(bool forceUpdate = false);
|
void updateAttributes(bool forceUpdate = false);
|
||||||
void updateSkills(bool forceUpdate = false);
|
void updateSkills(bool forceUpdate = false);
|
||||||
void updateLevel(bool forceUpdate = false);
|
void updateLevel(bool forceUpdate = false);
|
||||||
|
void updateBounty(bool forceUpdate = false);
|
||||||
void updatePosition(bool forceUpdate = false);
|
void updatePosition(bool forceUpdate = false);
|
||||||
void updateCell(bool forceUpdate = false);
|
void updateCell(bool forceUpdate = false);
|
||||||
void updateChar();
|
void updateChar();
|
||||||
|
@ -49,6 +50,7 @@ namespace mwmp
|
||||||
void setAttributes();
|
void setAttributes();
|
||||||
void setSkills();
|
void setSkills();
|
||||||
void setLevel();
|
void setLevel();
|
||||||
|
void setBounty();
|
||||||
void setPosition();
|
void setPosition();
|
||||||
void setCell();
|
void setCell();
|
||||||
void setClass();
|
void setClass();
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include "processors/player/ProcessorPlayerAttribute.hpp"
|
#include "processors/player/ProcessorPlayerAttribute.hpp"
|
||||||
#include "processors/player/ProcessorPlayerSkill.hpp"
|
#include "processors/player/ProcessorPlayerSkill.hpp"
|
||||||
#include "processors/player/ProcessorPlayerLevel.hpp"
|
#include "processors/player/ProcessorPlayerLevel.hpp"
|
||||||
|
#include "processors/player/ProcessorPlayerBounty.hpp"
|
||||||
#include "processors/player/ProcessorPlayerEquipment.hpp"
|
#include "processors/player/ProcessorPlayerEquipment.hpp"
|
||||||
#include "processors/player/ProcessorPlayerInventory.hpp"
|
#include "processors/player/ProcessorPlayerInventory.hpp"
|
||||||
#include "processors/player/ProcessorPlayerSpellbook.hpp"
|
#include "processors/player/ProcessorPlayerSpellbook.hpp"
|
||||||
|
@ -68,6 +69,7 @@ void ProcessorInitializer()
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerAttribute());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerAttribute());
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerSkill());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerSkill());
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerLevel());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerLevel());
|
||||||
|
PlayerProcessor::AddProcessor(new ProcessorPlayerBounty());
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerEquipment());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerEquipment());
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerInventory());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerInventory());
|
||||||
PlayerProcessor::AddProcessor(new ProcessorPlayerSpellbook());
|
PlayerProcessor::AddProcessor(new ProcessorPlayerSpellbook());
|
||||||
|
|
38
apps/openmw/mwmp/processors/player/ProcessorPlayerBounty.hpp
Normal file
38
apps/openmw/mwmp/processors/player/ProcessorPlayerBounty.hpp
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
#ifndef OPENMW_PROCESSORPLAYERBOUNTY_HPP
|
||||||
|
#define OPENMW_PROCESSORPLAYERBOUNTY_HPP
|
||||||
|
|
||||||
|
|
||||||
|
#include "apps/openmw/mwmp/PlayerProcessor.hpp"
|
||||||
|
|
||||||
|
namespace mwmp
|
||||||
|
{
|
||||||
|
class ProcessorPlayerBounty : public PlayerProcessor
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ProcessorPlayerBounty()
|
||||||
|
{
|
||||||
|
BPP_INIT(ID_PLAYER_BOUNTY)
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void Do(PlayerPacket &packet, BasePlayer *player)
|
||||||
|
{
|
||||||
|
if (isLocal())
|
||||||
|
{
|
||||||
|
if(isRequest())
|
||||||
|
static_cast<LocalPlayer *>(player)->updateBounty(true);
|
||||||
|
else
|
||||||
|
static_cast<LocalPlayer *>(player)->setBounty();
|
||||||
|
}
|
||||||
|
else if (player != 0)
|
||||||
|
{
|
||||||
|
MWWorld::Ptr ptrPlayer = static_cast<DedicatedPlayer *>(player)->getPtr();
|
||||||
|
MWMechanics::NpcStats *ptrNpcStats = &ptrPlayer.getClass().getNpcStats(ptrPlayer);
|
||||||
|
|
||||||
|
ptrNpcStats->setBounty(player->npcStats.mBounty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif //OPENMW_PROCESSORPLAYERBOUNTY_HPP
|
|
@ -177,9 +177,9 @@ add_component_dir (openmw-mp\\Packets\\Player
|
||||||
PlayerPacket
|
PlayerPacket
|
||||||
PacketHandshake PacketChatMessage PacketPlayerBaseInfo PacketPlayerPosition PacketPlayerEquipment
|
PacketHandshake PacketChatMessage PacketPlayerBaseInfo PacketPlayerPosition PacketPlayerEquipment
|
||||||
PacketPlayerAttack PacketPlayerStatsDynamic PacketPlayerAnimFlags PacketPlayerCharGen PacketPlayerAttribute
|
PacketPlayerAttack PacketPlayerStatsDynamic PacketPlayerAnimFlags PacketPlayerCharGen PacketPlayerAttribute
|
||||||
PacketPlayerSkill PacketPlayerLevel PacketPlayerClass PacketPlayerInventory PacketPlayerSpellbook
|
PacketPlayerSkill PacketPlayerLevel PacketPlayerBounty PacketPlayerClass PacketPlayerInventory
|
||||||
PacketPlayerJournal PacketPlayerActiveSkills PacketPlayerCellChange PacketPlayerCellState PacketPlayerDeath
|
PacketPlayerSpellbook PacketPlayerJournal PacketPlayerActiveSkills PacketPlayerCellChange PacketPlayerCellState
|
||||||
PacketPlayerResurrect PacketGUIBoxes PacketTime
|
PacketPlayerDeath PacketPlayerResurrect PacketGUIBoxes PacketTime
|
||||||
)
|
)
|
||||||
|
|
||||||
add_component_dir (openmw-mp\\Packets\\World
|
add_component_dir (openmw-mp\\Packets\\World
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#include "../Packets/Player/PacketPlayerAttribute.hpp"
|
#include "../Packets/Player/PacketPlayerAttribute.hpp"
|
||||||
#include "../Packets/Player/PacketPlayerSkill.hpp"
|
#include "../Packets/Player/PacketPlayerSkill.hpp"
|
||||||
#include "../Packets/Player/PacketPlayerLevel.hpp"
|
#include "../Packets/Player/PacketPlayerLevel.hpp"
|
||||||
|
#include "../Packets/Player/PacketPlayerBounty.hpp"
|
||||||
#include "../Packets/Player/PacketHandshake.hpp"
|
#include "../Packets/Player/PacketHandshake.hpp"
|
||||||
#include "../Packets/Player/PacketGUIBoxes.hpp"
|
#include "../Packets/Player/PacketGUIBoxes.hpp"
|
||||||
#include "../Packets/Player/PacketTime.hpp"
|
#include "../Packets/Player/PacketTime.hpp"
|
||||||
|
@ -63,6 +64,7 @@ mwmp::PlayerPacketController::PlayerPacketController(RakNet::RakPeerInterface *p
|
||||||
AddPacket<PacketPlayerAttribute>(&packets, peer);
|
AddPacket<PacketPlayerAttribute>(&packets, peer);
|
||||||
AddPacket<PacketPlayerSkill>(&packets, peer);
|
AddPacket<PacketPlayerSkill>(&packets, peer);
|
||||||
AddPacket<PacketPlayerLevel>(&packets, peer);
|
AddPacket<PacketPlayerLevel>(&packets, peer);
|
||||||
|
AddPacket<PacketPlayerBounty>(&packets, peer);
|
||||||
|
|
||||||
AddPacket<PacketHandshake>(&packets, peer);
|
AddPacket<PacketHandshake>(&packets, peer);
|
||||||
AddPacket<PacketGUIBoxes>(&packets, peer);
|
AddPacket<PacketGUIBoxes>(&packets, peer);
|
||||||
|
|
|
@ -26,6 +26,7 @@ enum GameMessages
|
||||||
ID_PLAYER_ATTRIBUTE,
|
ID_PLAYER_ATTRIBUTE,
|
||||||
ID_PLAYER_SKILL,
|
ID_PLAYER_SKILL,
|
||||||
ID_PLAYER_LEVEL,
|
ID_PLAYER_LEVEL,
|
||||||
|
ID_PLAYER_BOUNTY,
|
||||||
ID_PLAYER_CHARCLASS,
|
ID_PLAYER_CHARCLASS,
|
||||||
ID_HANDSHAKE,
|
ID_HANDSHAKE,
|
||||||
ID_LOADED,
|
ID_LOADED,
|
||||||
|
|
16
components/openmw-mp/Packets/Player/PacketPlayerBounty.cpp
Normal file
16
components/openmw-mp/Packets/Player/PacketPlayerBounty.cpp
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#include "PacketPlayerBounty.hpp"
|
||||||
|
#include <components/openmw-mp/NetworkMessages.hpp>
|
||||||
|
|
||||||
|
using namespace mwmp;
|
||||||
|
|
||||||
|
PacketPlayerBounty::PacketPlayerBounty(RakNet::RakPeerInterface *peer) : PlayerPacket(peer)
|
||||||
|
{
|
||||||
|
packetID = ID_PLAYER_BOUNTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PacketPlayerBounty::Packet(RakNet::BitStream *bs, bool send)
|
||||||
|
{
|
||||||
|
PlayerPacket::Packet(bs, send);
|
||||||
|
|
||||||
|
RW(player->npcStats.mBounty, send);
|
||||||
|
}
|
17
components/openmw-mp/Packets/Player/PacketPlayerBounty.hpp
Normal file
17
components/openmw-mp/Packets/Player/PacketPlayerBounty.hpp
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
#ifndef OPENMW_PACKETPLAYERBOUNTY_HPP
|
||||||
|
#define OPENMW_PACKETPLAYERBOUNTY_HPP
|
||||||
|
|
||||||
|
#include <components/openmw-mp/Packets/Player/PlayerPacket.hpp>
|
||||||
|
|
||||||
|
namespace mwmp
|
||||||
|
{
|
||||||
|
class PacketPlayerBounty : public PlayerPacket
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PacketPlayerBounty(RakNet::RakPeerInterface *peer);
|
||||||
|
|
||||||
|
virtual void Packet(RakNet::BitStream *bs, bool send);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //OPENMW_PACKETPLAYERBOUNTY_HPP
|
Loading…
Reference in a new issue