forked from teamnwah/openmw-tes3coop
[Server] Add script callback and getter functions for ActorEquipment
This commit is contained in:
parent
311ce4119d
commit
f47a10dd4a
4 changed files with 71 additions and 43 deletions
|
@ -133,6 +133,21 @@ double ActorFunctions::GetActorFatigueCurrent(unsigned int i) noexcept
|
||||||
return readActorList->baseActors.at(i).creatureStats.mDynamic[2].mCurrent;
|
return readActorList->baseActors.at(i).creatureStats.mDynamic[2].mCurrent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *ActorFunctions::GetActorEquipmentItemRefId(unsigned int i, unsigned short slot) noexcept
|
||||||
|
{
|
||||||
|
return readActorList->baseActors.at(i).equipedItems[slot].refId.c_str();
|
||||||
|
}
|
||||||
|
|
||||||
|
int ActorFunctions::GetActorEquipmentItemCount(unsigned int i, unsigned short slot) noexcept
|
||||||
|
{
|
||||||
|
return readActorList->baseActors.at(i).equipedItems[slot].count;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ActorFunctions::GetActorEquipmentItemCharge(unsigned int i, unsigned short slot) noexcept
|
||||||
|
{
|
||||||
|
return readActorList->baseActors.at(i).equipedItems[slot].charge;
|
||||||
|
}
|
||||||
|
|
||||||
bool ActorFunctions::DoesActorHavePosition(unsigned int i) noexcept
|
bool ActorFunctions::DoesActorHavePosition(unsigned int i) noexcept
|
||||||
{
|
{
|
||||||
return readActorList->baseActors.at(i).hasPositionData;
|
return readActorList->baseActors.at(i).hasPositionData;
|
||||||
|
|
|
@ -28,6 +28,10 @@
|
||||||
{"GetActorFatigueBase", ActorFunctions::GetActorFatigueBase},\
|
{"GetActorFatigueBase", ActorFunctions::GetActorFatigueBase},\
|
||||||
{"GetActorFatigueCurrent", ActorFunctions::GetActorFatigueCurrent},\
|
{"GetActorFatigueCurrent", ActorFunctions::GetActorFatigueCurrent},\
|
||||||
\
|
\
|
||||||
|
{"GetActorEquipmentItemRefId", ActorFunctions::GetActorEquipmentItemRefId},\
|
||||||
|
{"GetActorEquipmentItemCount", ActorFunctions::GetActorEquipmentItemCount},\
|
||||||
|
{"GetActorEquipmentItemCharge", ActorFunctions::GetActorEquipmentItemCharge},\
|
||||||
|
\
|
||||||
{"DoesActorHavePosition", ActorFunctions::DoesActorHavePosition},\
|
{"DoesActorHavePosition", ActorFunctions::DoesActorHavePosition},\
|
||||||
{"DoesActorHaveStatsDynamic", ActorFunctions::DoesActorHaveStatsDynamic},\
|
{"DoesActorHaveStatsDynamic", ActorFunctions::DoesActorHaveStatsDynamic},\
|
||||||
\
|
\
|
||||||
|
@ -87,6 +91,10 @@ public:
|
||||||
static double GetActorFatigueBase(unsigned int i) noexcept;
|
static double GetActorFatigueBase(unsigned int i) noexcept;
|
||||||
static double GetActorFatigueCurrent(unsigned int i) noexcept;
|
static double GetActorFatigueCurrent(unsigned int i) noexcept;
|
||||||
|
|
||||||
|
static const char *GetActorEquipmentItemRefId(unsigned int i, unsigned short slot) noexcept;
|
||||||
|
static int GetActorEquipmentItemCount(unsigned int i, unsigned short slot) noexcept;
|
||||||
|
static int GetActorEquipmentItemCharge(unsigned int i, unsigned short slot) noexcept;
|
||||||
|
|
||||||
static bool DoesActorHavePosition(unsigned int i) noexcept;
|
static bool DoesActorHavePosition(unsigned int i) noexcept;
|
||||||
static bool DoesActorHaveStatsDynamic(unsigned int i) noexcept;
|
static bool DoesActorHaveStatsDynamic(unsigned int i) noexcept;
|
||||||
|
|
||||||
|
|
|
@ -145,6 +145,7 @@ public:
|
||||||
{"OnObjectScale", Function<void, unsigned short, const char*>()},
|
{"OnObjectScale", Function<void, unsigned short, const char*>()},
|
||||||
{"OnObjectTrap", Function<void, unsigned short, const char*>()},
|
{"OnObjectTrap", Function<void, unsigned short, const char*>()},
|
||||||
{"OnActorList", Function<void, unsigned short, const char*>()},
|
{"OnActorList", Function<void, unsigned short, const char*>()},
|
||||||
|
{"OnActorEquipment", Function<void, unsigned short, const char*>()},
|
||||||
{"OnActorCellChange", Function<void, unsigned short, const char*>()},
|
{"OnActorCellChange", Function<void, unsigned short, const char*>()},
|
||||||
{"OnActorTest", Function<void, unsigned short, const char*>()},
|
{"OnActorTest", Function<void, unsigned short, const char*>()},
|
||||||
{"OnPlayerSendMessage", Function<bool, unsigned short, const char*>()},
|
{"OnPlayerSendMessage", Function<bool, unsigned short, const char*>()},
|
||||||
|
|
|
@ -19,8 +19,12 @@ namespace mwmp
|
||||||
Cell *serverCell = CellController::get()->getCell(&actorList.cell);
|
Cell *serverCell = CellController::get()->getCell(&actorList.cell);
|
||||||
|
|
||||||
if (serverCell != nullptr)
|
if (serverCell != nullptr)
|
||||||
|
{
|
||||||
|
Script::Call<Script::CallbackIdentity("OnActorEquipment")>(player.getId(), actorList.cell.getDescription().c_str());
|
||||||
|
|
||||||
serverCell->sendToLoaded(&packet, &actorList);
|
serverCell->sendToLoaded(&packet, &actorList);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue