mirror of
				https://github.com/TES3MP/openmw-tes3mp.git
				synced 2025-10-31 08:56:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			1560 lines
		
	
	
	
		
			62 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			1560 lines
		
	
	
	
		
			62 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef OPENMW_OBJECTAPI_HPP
 | |
| #define OPENMW_OBJECTAPI_HPP
 | |
| 
 | |
| #define OBJECTAPI \
 | |
|     {"ReadReceivedObjectList",                ObjectFunctions::ReadReceivedObjectList},\
 | |
|     \
 | |
|     {"ClearObjectList",                       ObjectFunctions::ClearObjectList},\
 | |
|     {"SetObjectListPid",                      ObjectFunctions::SetObjectListPid},\
 | |
|     \
 | |
|     {"CopyReceivedObjectListToStore",         ObjectFunctions::CopyReceivedObjectListToStore},\
 | |
|     \
 | |
|     {"GetObjectListSize",                     ObjectFunctions::GetObjectListSize},\
 | |
|     {"GetObjectListOrigin",                   ObjectFunctions::GetObjectListOrigin},\
 | |
|     {"GetObjectListClientScript",             ObjectFunctions::GetObjectListClientScript},\
 | |
|     {"GetObjectListAction",                   ObjectFunctions::GetObjectListAction},\
 | |
|     {"GetObjectListConsoleCommand",           ObjectFunctions::GetObjectListConsoleCommand},\
 | |
|     {"GetObjectListContainerSubAction",       ObjectFunctions::GetObjectListContainerSubAction},\
 | |
|     \
 | |
|     {"IsObjectPlayer",                        ObjectFunctions::IsObjectPlayer},\
 | |
|     {"GetObjectPid",                          ObjectFunctions::GetObjectPid},\
 | |
|     {"GetObjectRefId",                        ObjectFunctions::GetObjectRefId},\
 | |
|     {"GetObjectRefNum",                       ObjectFunctions::GetObjectRefNum},\
 | |
|     {"GetObjectMpNum",                        ObjectFunctions::GetObjectMpNum},\
 | |
|     {"GetObjectCount",                        ObjectFunctions::GetObjectCount},\
 | |
|     {"GetObjectCharge",                       ObjectFunctions::GetObjectCharge},\
 | |
|     {"GetObjectEnchantmentCharge",            ObjectFunctions::GetObjectEnchantmentCharge},\
 | |
|     {"GetObjectSoul" ,                        ObjectFunctions::GetObjectSoul},\
 | |
|     {"GetObjectGoldValue",                    ObjectFunctions::GetObjectGoldValue},\
 | |
|     {"GetObjectScale",                        ObjectFunctions::GetObjectScale},\
 | |
|     {"GetObjectSoundId",                      ObjectFunctions::GetObjectSoundId},\
 | |
|     {"GetObjectState",                        ObjectFunctions::GetObjectState},\
 | |
|     {"GetObjectDoorState",                    ObjectFunctions::GetObjectDoorState},\
 | |
|     {"GetObjectLockLevel",                    ObjectFunctions::GetObjectLockLevel},\
 | |
|     {"GetObjectDialogueChoiceType",           ObjectFunctions::GetObjectDialogueChoiceType},\
 | |
|     {"GetObjectDialogueChoiceTopic",          ObjectFunctions::GetObjectDialogueChoiceTopic},\
 | |
|     {"GetObjectGoldPool",                     ObjectFunctions::GetObjectGoldPool},\
 | |
|     {"GetObjectLastGoldRestockHour",          ObjectFunctions::GetObjectLastGoldRestockHour},\
 | |
|     {"GetObjectLastGoldRestockDay",           ObjectFunctions::GetObjectLastGoldRestockDay},\
 | |
|     \
 | |
|     {"DoesObjectHavePlayerActivating",        ObjectFunctions::DoesObjectHavePlayerActivating},\
 | |
|     {"GetObjectActivatingPid",                ObjectFunctions::GetObjectActivatingPid},\
 | |
|     {"GetObjectActivatingRefId",              ObjectFunctions::GetObjectActivatingRefId},\
 | |
|     {"GetObjectActivatingRefNum",             ObjectFunctions::GetObjectActivatingRefNum},\
 | |
|     {"GetObjectActivatingMpNum",              ObjectFunctions::GetObjectActivatingMpNum},\
 | |
|     {"GetObjectActivatingName",               ObjectFunctions::GetObjectActivatingName},\
 | |
|     \
 | |
|     {"GetObjectHitSuccess",                   ObjectFunctions::GetObjectHitSuccess},\
 | |
|     {"GetObjectHitDamage",                    ObjectFunctions::GetObjectHitDamage},\
 | |
|     {"GetObjectHitBlock",                     ObjectFunctions::GetObjectHitBlock},\
 | |
|     {"GetObjectHitKnockdown",                 ObjectFunctions::GetObjectHitKnockdown},\
 | |
|     {"DoesObjectHavePlayerHitting",           ObjectFunctions::DoesObjectHavePlayerHitting},\
 | |
|     {"GetObjectHittingPid",                   ObjectFunctions::GetObjectHittingPid},\
 | |
|     {"GetObjectHittingRefId",                 ObjectFunctions::GetObjectHittingRefId},\
 | |
|     {"GetObjectHittingRefNum",                ObjectFunctions::GetObjectHittingRefNum},\
 | |
|     {"GetObjectHittingMpNum",                 ObjectFunctions::GetObjectHittingMpNum},\
 | |
|     {"GetObjectHittingName",                  ObjectFunctions::GetObjectHittingName},\
 | |
|     \
 | |
|     {"GetObjectSummonState",                  ObjectFunctions::GetObjectSummonState},\
 | |
|     {"GetObjectSummonEffectId",               ObjectFunctions::GetObjectSummonEffectId},\
 | |
|     {"GetObjectSummonSpellId",                ObjectFunctions::GetObjectSummonSpellId},\
 | |
|     {"GetObjectSummonDuration",               ObjectFunctions::GetObjectSummonDuration},\
 | |
|     {"DoesObjectHavePlayerSummoner",          ObjectFunctions::DoesObjectHavePlayerSummoner},\
 | |
|     {"GetObjectSummonerPid",                  ObjectFunctions::GetObjectSummonerPid},\
 | |
|     {"GetObjectSummonerRefId",                ObjectFunctions::GetObjectSummonerRefId},\
 | |
|     {"GetObjectSummonerRefNum",               ObjectFunctions::GetObjectSummonerRefNum},\
 | |
|     {"GetObjectSummonerMpNum",                ObjectFunctions::GetObjectSummonerMpNum},\
 | |
|     \
 | |
|     {"GetObjectPosX",                         ObjectFunctions::GetObjectPosX},\
 | |
|     {"GetObjectPosY",                         ObjectFunctions::GetObjectPosY},\
 | |
|     {"GetObjectPosZ",                         ObjectFunctions::GetObjectPosZ},\
 | |
|     {"GetObjectRotX",                         ObjectFunctions::GetObjectRotX},\
 | |
|     {"GetObjectRotY",                         ObjectFunctions::GetObjectRotY},\
 | |
|     {"GetObjectRotZ",                         ObjectFunctions::GetObjectRotZ},\
 | |
|     \
 | |
|     {"GetVideoFilename",                      ObjectFunctions::GetVideoFilename},\
 | |
|     \
 | |
|     {"GetClientLocalsSize",                   ObjectFunctions::GetClientLocalsSize},\
 | |
|     {"GetClientLocalInternalIndex",           ObjectFunctions::GetClientLocalInternalIndex},\
 | |
|     {"GetClientLocalVariableType",            ObjectFunctions::GetClientLocalVariableType},\
 | |
|     {"GetClientLocalIntValue",                ObjectFunctions::GetClientLocalIntValue},\
 | |
|     {"GetClientLocalFloatValue",              ObjectFunctions::GetClientLocalFloatValue},\
 | |
|     \
 | |
|     {"GetContainerChangesSize",               ObjectFunctions::GetContainerChangesSize},\
 | |
|     {"GetContainerItemRefId",                 ObjectFunctions::GetContainerItemRefId},\
 | |
|     {"GetContainerItemCount",                 ObjectFunctions::GetContainerItemCount},\
 | |
|     {"GetContainerItemCharge",                ObjectFunctions::GetContainerItemCharge},\
 | |
|     {"GetContainerItemEnchantmentCharge",     ObjectFunctions::GetContainerItemEnchantmentCharge},\
 | |
|     {"GetContainerItemSoul",                  ObjectFunctions::GetContainerItemSoul},\
 | |
|     {"GetContainerItemActionCount",           ObjectFunctions::GetContainerItemActionCount},\
 | |
|     \
 | |
|     {"DoesObjectHaveContainer",               ObjectFunctions::DoesObjectHaveContainer},\
 | |
|     {"IsObjectDroppedByPlayer",               ObjectFunctions::IsObjectDroppedByPlayer},\
 | |
|     \
 | |
|     {"SetObjectListCell",                     ObjectFunctions::SetObjectListCell},\
 | |
|     {"SetObjectListAction",                   ObjectFunctions::SetObjectListAction},\
 | |
|     {"SetObjectListContainerSubAction",       ObjectFunctions::SetObjectListContainerSubAction},\
 | |
|     {"SetObjectListConsoleCommand",           ObjectFunctions::SetObjectListConsoleCommand},\
 | |
|     \
 | |
|     {"SetObjectRefId",                        ObjectFunctions::SetObjectRefId},\
 | |
|     {"SetObjectRefNum",                       ObjectFunctions::SetObjectRefNum},\
 | |
|     {"SetObjectMpNum",                        ObjectFunctions::SetObjectMpNum},\
 | |
|     {"SetObjectCount",                        ObjectFunctions::SetObjectCount},\
 | |
|     {"SetObjectCharge",                       ObjectFunctions::SetObjectCharge},\
 | |
|     {"SetObjectEnchantmentCharge",            ObjectFunctions::SetObjectEnchantmentCharge},\
 | |
|     {"SetObjectSoul",                         ObjectFunctions::SetObjectSoul},\
 | |
|     {"SetObjectGoldValue",                    ObjectFunctions::SetObjectGoldValue},\
 | |
|     {"SetObjectScale",                        ObjectFunctions::SetObjectScale},\
 | |
|     {"SetObjectState",                        ObjectFunctions::SetObjectState},\
 | |
|     {"SetObjectLockLevel",                    ObjectFunctions::SetObjectLockLevel},\
 | |
|     {"SetObjectDialogueChoiceType",           ObjectFunctions::SetObjectDialogueChoiceType},\
 | |
|     {"SetObjectDialogueChoiceTopic",          ObjectFunctions::SetObjectDialogueChoiceTopic},\
 | |
|     {"SetObjectGoldPool",                     ObjectFunctions::SetObjectGoldPool},\
 | |
|     {"SetObjectLastGoldRestockHour",          ObjectFunctions::SetObjectLastGoldRestockHour},\
 | |
|     {"SetObjectLastGoldRestockDay",           ObjectFunctions::SetObjectLastGoldRestockDay},\
 | |
|     {"SetObjectDisarmState",                  ObjectFunctions::SetObjectDisarmState},\
 | |
|     {"SetObjectDroppedByPlayerState",         ObjectFunctions::SetObjectDroppedByPlayerState},\
 | |
|     {"SetObjectPosition",                     ObjectFunctions::SetObjectPosition},\
 | |
|     {"SetObjectRotation",                     ObjectFunctions::SetObjectRotation},\
 | |
|     {"SetObjectSound",                        ObjectFunctions::SetObjectSound},\
 | |
|     \
 | |
|     {"SetObjectSummonState",                  ObjectFunctions::SetObjectSummonState},\
 | |
|     {"SetObjectSummonEffectId",               ObjectFunctions::SetObjectSummonEffectId},\
 | |
|     {"SetObjectSummonSpellId",                ObjectFunctions::SetObjectSummonSpellId},\
 | |
|     {"SetObjectSummonDuration",               ObjectFunctions::SetObjectSummonDuration},\
 | |
|     {"SetObjectSummonerPid",                  ObjectFunctions::SetObjectSummonerPid},\
 | |
|     {"SetObjectSummonerRefNum",               ObjectFunctions::SetObjectSummonerRefNum},\
 | |
|     {"SetObjectSummonerMpNum",                ObjectFunctions::SetObjectSummonerMpNum},\
 | |
|     \
 | |
|     {"SetObjectActivatingPid",                ObjectFunctions::SetObjectActivatingPid},\
 | |
|     \
 | |
|     {"SetObjectDoorState",                    ObjectFunctions::SetObjectDoorState},\
 | |
|     {"SetObjectDoorTeleportState",            ObjectFunctions::SetObjectDoorTeleportState},\
 | |
|     {"SetObjectDoorDestinationCell",          ObjectFunctions::SetObjectDoorDestinationCell},\
 | |
|     {"SetObjectDoorDestinationPosition",      ObjectFunctions::SetObjectDoorDestinationPosition},\
 | |
|     {"SetObjectDoorDestinationRotation",      ObjectFunctions::SetObjectDoorDestinationRotation},\
 | |
|     \
 | |
|     {"SetPlayerAsObject",                     ObjectFunctions::SetPlayerAsObject},\
 | |
|     \
 | |
|     {"SetContainerItemRefId",                 ObjectFunctions::SetContainerItemRefId},\
 | |
|     {"SetContainerItemCount",                 ObjectFunctions::SetContainerItemCount},\
 | |
|     {"SetContainerItemCharge",                ObjectFunctions::SetContainerItemCharge},\
 | |
|     {"SetContainerItemEnchantmentCharge",     ObjectFunctions::SetContainerItemEnchantmentCharge},\
 | |
|     {"SetContainerItemSoul",                  ObjectFunctions::SetContainerItemSoul},\
 | |
|     \
 | |
|     {"SetContainerItemActionCountByIndex",    ObjectFunctions::SetContainerItemActionCountByIndex},\
 | |
|     \
 | |
|     {"AddObject",                             ObjectFunctions::AddObject},\
 | |
|     {"AddClientLocalInteger",                 ObjectFunctions::AddClientLocalInteger},\
 | |
|     {"AddClientLocalFloat",                   ObjectFunctions::AddClientLocalFloat},\
 | |
|     {"AddContainerItem",                      ObjectFunctions::AddContainerItem},\
 | |
|     \
 | |
|     {"SendObjectActivate",                    ObjectFunctions::SendObjectActivate},\
 | |
|     {"SendObjectPlace",                       ObjectFunctions::SendObjectPlace},\
 | |
|     {"SendObjectSpawn",                       ObjectFunctions::SendObjectSpawn},\
 | |
|     {"SendObjectDelete",                      ObjectFunctions::SendObjectDelete},\
 | |
|     {"SendObjectLock",                        ObjectFunctions::SendObjectLock},\
 | |
|     {"SendObjectDialogueChoice",              ObjectFunctions::SendObjectDialogueChoice},\
 | |
|     {"SendObjectMiscellaneous",               ObjectFunctions::SendObjectMiscellaneous},\
 | |
|     {"SendObjectRestock",                     ObjectFunctions::SendObjectRestock},\
 | |
|     {"SendObjectTrap",                        ObjectFunctions::SendObjectTrap},\
 | |
|     {"SendObjectScale",                       ObjectFunctions::SendObjectScale},\
 | |
|     {"SendObjectSound",                       ObjectFunctions::SendObjectSound},\
 | |
|     {"SendObjectState",                       ObjectFunctions::SendObjectState},\
 | |
|     {"SendObjectMove",                        ObjectFunctions::SendObjectMove},\
 | |
|     {"SendObjectRotate",                      ObjectFunctions::SendObjectRotate},\
 | |
|     {"SendDoorState",                         ObjectFunctions::SendDoorState},\
 | |
|     {"SendDoorDestination",                   ObjectFunctions::SendDoorDestination},\
 | |
|     {"SendContainer",                         ObjectFunctions::SendContainer},\
 | |
|     {"SendVideoPlay",                         ObjectFunctions::SendVideoPlay},\
 | |
|     {"SendClientScriptLocal",                 ObjectFunctions::SendClientScriptLocal},\
 | |
|     {"SendConsoleCommand",                    ObjectFunctions::SendConsoleCommand},\
 | |
|     \
 | |
|     {"ReadLastObjectList",                    ObjectFunctions::ReadLastObjectList},\
 | |
|     {"ReadLastEvent",                         ObjectFunctions::ReadLastEvent},\
 | |
|     {"InitializeObjectList",                  ObjectFunctions::InitializeObjectList},\
 | |
|     {"InitializeEvent",                       ObjectFunctions::InitializeEvent},\
 | |
|     {"CopyLastObjectListToStore",             ObjectFunctions::CopyLastObjectListToStore},\
 | |
|     {"GetObjectChangesSize",                  ObjectFunctions::GetObjectChangesSize},\
 | |
|     {"GetEventAction",                        ObjectFunctions::GetEventAction},\
 | |
|     {"GetEventContainerSubAction",            ObjectFunctions::GetEventContainerSubAction},\
 | |
|     {"GetObjectRefNumIndex",                  ObjectFunctions::GetObjectRefNumIndex},\
 | |
|     {"GetObjectSummonerRefNumIndex",          ObjectFunctions::GetObjectSummonerRefNumIndex},\
 | |
|     {"SetEventCell",                          ObjectFunctions::SetEventCell},\
 | |
|     {"SetEventAction",                        ObjectFunctions::SetEventAction},\
 | |
|     {"SetEventConsoleCommand",                ObjectFunctions::SetEventConsoleCommand},\
 | |
|     {"SetObjectRefNumIndex",                  ObjectFunctions::SetObjectRefNumIndex},\
 | |
|     {"AddWorldObject",                        ObjectFunctions::AddWorldObject}
 | |
| 
 | |
| class ObjectFunctions
 | |
| {
 | |
| public:
 | |
| 
 | |
|     /**
 | |
|     * \brief Use the last object list received by the server as the one being read.
 | |
|     *
 | |
|     * \return void
 | |
|     */
 | |
|     static void ReadReceivedObjectList() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Clear the data from the object list stored on the server.
 | |
|     *
 | |
|     * \return void
 | |
|     */
 | |
|     static void ClearObjectList() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the pid attached to the ObjectList.
 | |
|     *
 | |
|     * \param pid The player ID to whom the object list should be attached.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectListPid(unsigned short pid) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Take the contents of the read-only object list last received by the
 | |
|     *        server from a player and move its contents to the stored object list
 | |
|     *        that can be sent by the server.
 | |
|     *
 | |
|     * \return void
 | |
|     */
 | |
|     static void CopyReceivedObjectListToStore() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the number of indexes in the read object list.
 | |
|     *
 | |
|     * \return The number of indexes.
 | |
|     */
 | |
|     static unsigned int GetObjectListSize() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the origin of the read object list.
 | |
|     *
 | |
|     * \return The origin (0 for CLIENT_GAMEPLAY, 1 for CLIENT_CONSOLE, 2 for
 | |
|     * CLIENT_DIALOGUE, 3 for CLIENT_SCRIPT_LOCAL, 4 for CLIENT_SCRIPT_GLOBAL,
 | |
|     * 5 for SERVER_SCRIPT).
 | |
|     */
 | |
|     static unsigned char GetObjectListOrigin() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the client script that the read object list originated from.
 | |
|     *
 | |
|     * \return The ID of the client script.
 | |
|     */
 | |
|     static const char *GetObjectListClientScript() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the action type used in the read object list.
 | |
|     *
 | |
|     * \return The action type (0 for SET, 1 for ADD, 2 for REMOVE, 3 for REQUEST).
 | |
|     */
 | |
|     static unsigned char GetObjectListAction() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the console command used in the read object list.
 | |
|     *
 | |
|     * \return The console command.
 | |
|     */
 | |
|     static const char *GetObjectListConsoleCommand() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the container subaction type used in the read object list.
 | |
|     *
 | |
|     * \return The action type (0 for NONE, 1 for DRAG, 2 for DROP, 3 for TAKE_ALL).
 | |
|     */
 | |
|     static unsigned char GetObjectListContainerSubAction() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Check whether the object at a certain index in the read object list is a
 | |
|     * player.
 | |
|     *
 | |
|     * Note: Although most player data and events are dealt with in Player packets,
 | |
|     *       object activation is general enough for players themselves to be included
 | |
|     *       as objects in ObjectActivate packets.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return Whether the object is a player.
 | |
|     */
 | |
|     static bool IsObjectPlayer(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the player ID of the object at a certain index in the read object list,
 | |
|     * only valid if the object is a player.
 | |
|     *
 | |
|     * Note: Currently, players can only be objects in ObjectActivate and ConsoleCommand
 | |
|     *       packets.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The player ID of the object.
 | |
|     */
 | |
|     static int GetObjectPid(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the refId of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The refId.
 | |
|     */
 | |
|     static const char *GetObjectRefId(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the refNum of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The refNum.
 | |
|     */
 | |
|     static unsigned int GetObjectRefNum(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the mpNum of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The mpNum.
 | |
|     */
 | |
|     static unsigned int GetObjectMpNum(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the count of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The object count.
 | |
|     */
 | |
|     static int GetObjectCount(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the charge of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The charge.
 | |
|     */
 | |
|     static int GetObjectCharge(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the enchantment charge of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The enchantment charge.
 | |
|     */
 | |
|     static double GetObjectEnchantmentCharge(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the soul of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The soul.
 | |
|     */
 | |
|     static const char *GetObjectSoul(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the gold value of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * This is used solely to get the gold value of gold. It is not used for other objects.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The gold value.
 | |
|     */
 | |
|     static int GetObjectGoldValue(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the object scale of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The object scale.
 | |
|     */
 | |
|     static double GetObjectScale(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the object sound ID of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The object sound ID.
 | |
|     */
 | |
|     static const char *GetObjectSoundId(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the object state of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The object state.
 | |
|     */
 | |
|     static bool GetObjectState(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the door state of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The door state.
 | |
|     */
 | |
|     static int GetObjectDoorState(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the lock level of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The lock level.
 | |
|     */
 | |
|     static int GetObjectLockLevel(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the dialogue choice type for the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The dialogue choice type.
 | |
|     */
 | |
|     static unsigned int GetObjectDialogueChoiceType(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the dialogue choice topic for the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The dialogue choice topic.
 | |
|     */
 | |
|     static const char *GetObjectDialogueChoiceTopic(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the gold pool of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The gold pool.
 | |
|     */
 | |
|     static unsigned int GetObjectGoldPool(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the hour of the last gold restock of the object at a certain index in the
 | |
|     * read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The hour of the last gold restock.
 | |
|     */
 | |
|     static double GetObjectLastGoldRestockHour(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the day of the last gold restock of the object at a certain index in the
 | |
|     * read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The day of the last gold restock.
 | |
|     */
 | |
|     static int GetObjectLastGoldRestockDay(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Check whether the object at a certain index in the read object list has been
 | |
|     * activated by a player.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return Whether the object has been activated by a player.
 | |
|     */
 | |
|     static bool DoesObjectHavePlayerActivating(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the player ID of the player activating the object at a certain index in the
 | |
|     * read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The player ID of the activating player.
 | |
|     */
 | |
|     static int GetObjectActivatingPid(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the refId of the actor activating the object at a certain index in the read
 | |
|     * object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The refId of the activating actor.
 | |
|     */
 | |
|     static const char *GetObjectActivatingRefId(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the refNum of the actor activating the object at a certain index in the read
 | |
|     * object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The refNum of the activating actor.
 | |
|     */
 | |
|     static unsigned int GetObjectActivatingRefNum(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the mpNum of the actor activating the object at a certain index in the read
 | |
|     * object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The mpNum of the activating actor.
 | |
|     */
 | |
|     static unsigned int GetObjectActivatingMpNum(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the name of the actor activating the object at a certain index in the read
 | |
|     * object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The name of the activating actor.
 | |
|     */
 | |
|     static const char *GetObjectActivatingName(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Check whether the object at a certain index in the read object list has been
 | |
|     *        hit successfully.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The success state.
 | |
|     */
 | |
|     static bool GetObjectHitSuccess(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the damage caused to the object at a certain index in the read object list
 | |
|     *        in a hit.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The damage.
 | |
|     */
 | |
|     static double GetObjectHitDamage(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Check whether the object at a certain index in the read object list has
 | |
|     *        blocked the hit on it.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The block state.
 | |
|     */
 | |
|     static bool GetObjectHitBlock(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Check whether the object at a certain index in the read object list has been
 | |
|     *        knocked down.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The knockdown state.
 | |
|     */
 | |
|     static bool GetObjectHitKnockdown(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Check whether the object at a certain index in the read object list has been
 | |
|     * hit by a player.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return Whether the object has been hit by a player.
 | |
|     */
 | |
|     static bool DoesObjectHavePlayerHitting(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the player ID of the player hitting the object at a certain index in the
 | |
|     * read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The player ID of the hitting player.
 | |
|     */
 | |
|     static int GetObjectHittingPid(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the refId of the actor hitting the object at a certain index in the read
 | |
|     * object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The refId of the hitting actor.
 | |
|     */
 | |
|     static const char *GetObjectHittingRefId(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the refNum of the actor hitting the object at a certain index in the read
 | |
|     * object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The refNum of the hitting actor.
 | |
|     */
 | |
|     static unsigned int GetObjectHittingRefNum(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the mpNum of the actor hitting the object at a certain index in the read
 | |
|     * object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The mpNum of the hitting actor.
 | |
|     */
 | |
|     static unsigned int GetObjectHittingMpNum(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the name of the actor hitting the object at a certain index in the read
 | |
|     * object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The name of the hitting actor.
 | |
|     */
 | |
|     static const char *GetObjectHittingName(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Check whether the object at a certain index in the read object list is a
 | |
|     * summon.
 | |
|     *
 | |
|     * Only living actors can be summoned.
 | |
|     *
 | |
|     * \return The summon state.
 | |
|     */
 | |
|     static bool GetObjectSummonState(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the summon effect ID of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The summon effect ID.
 | |
|     */
 | |
|     static double GetObjectSummonEffectId(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the summon spell ID of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The summon spell ID.
 | |
|     */
 | |
|     static const char *GetObjectSummonSpellId(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the summon duration of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * Note: Returns -1 if indefinite.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The summon duration.
 | |
|     */
 | |
|     static double GetObjectSummonDuration(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Check whether the object at a certain index in the read object list has a player
 | |
|     * as its summoner.
 | |
|     *
 | |
|     * Only living actors can be summoned.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return Whether a player is the summoner of the object.
 | |
|     */
 | |
|     static bool DoesObjectHavePlayerSummoner(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the player ID of the summoner of the object at a certain index in the read object
 | |
|     * list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The player ID of the summoner.
 | |
|     */
 | |
|     static int GetObjectSummonerPid(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the refId of the actor summoner of the object at a certain index in the read object
 | |
|     * list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The refId of the summoner.
 | |
|     */
 | |
|     static const char *GetObjectSummonerRefId(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the refNum of the actor summoner of the object at a certain index in the read object
 | |
|     * list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The refNum of the summoner.
 | |
|     */
 | |
|     static unsigned int GetObjectSummonerRefNum(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the mpNum of the actor summoner of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The mpNum of the summoner.
 | |
|     */
 | |
|     static unsigned int GetObjectSummonerMpNum(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the X position of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The X position.
 | |
|     */
 | |
|     static double GetObjectPosX(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the Y position of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The Y position.
 | |
|     */
 | |
|     static double GetObjectPosY(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the Z position at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The Z position.
 | |
|     */
 | |
|     static double GetObjectPosZ(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the X rotation of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The X rotation.
 | |
|     */
 | |
|     static double GetObjectRotX(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the Y rotation of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The Y rotation.
 | |
|     */
 | |
|     static double GetObjectRotY(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the Z rotation of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The Z rotation.
 | |
|     */
 | |
|     static double GetObjectRotZ(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the videoFilename of the object at a certain index in the read object list.
 | |
|     *
 | |
|     * \return The videoFilename.
 | |
|     */
 | |
|     static const char *GetVideoFilename(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the number of client local variables of the object at a certain index in the
 | |
|     * read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return The number of client local variables.
 | |
|     */
 | |
|     static unsigned int GetClientLocalsSize(unsigned int objectIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the internal script index of the client local variable at a certain variableIndex in
 | |
|     * the client locals of the object at a certain objectIndex in the read object list.
 | |
|     *
 | |
|     * \param objectIndex The index of the object.
 | |
|     * \param variableIndex The index of the client local.
 | |
|     * \return The internal script index.
 | |
|     */
 | |
|     static unsigned int GetClientLocalInternalIndex(unsigned int objectIndex, unsigned int variableIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the type of the client local variable at a certain variableIndex in the client locals
 | |
|     * of the object at a certain objectIndex in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \param variableIndex The index of the client local.
 | |
|     * \return The variable type (0 for INTEGER, 1 for LONG, 2 for FLOAT).
 | |
|     */
 | |
|     static unsigned short GetClientLocalVariableType(unsigned int objectIndex, unsigned int variableIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the integer value of the client local variable at a certain variableIndex in the client
 | |
|     * locals of the object at a certain objectIndex in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \param variableIndex The index of the client local.
 | |
|     * \return The integer value.
 | |
|     */
 | |
|     static int GetClientLocalIntValue(unsigned int objectIndex, unsigned int variableIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the float value of the client local variable at a certain variableIndex in the client
 | |
|     * locals of the object at a certain objectIndex in the read object list.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \param variableIndex The index of the client local.
 | |
|     * \return The float value.
 | |
|     */
 | |
|     static double GetClientLocalFloatValue(unsigned int objectIndex, unsigned int variableIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the number of container item indexes of the object at a certain index in the
 | |
|     * read object list.
 | |
|     *
 | |
|     * \param objectIndex The index of the object.
 | |
|     * \return The number of container item indexes.
 | |
|     */
 | |
|     static unsigned int GetContainerChangesSize(unsigned int objectIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the refId of the container item at a certain itemIndex in the container changes
 | |
|     * of the object at a certain objectIndex in the read object list.
 | |
|     *
 | |
|     * \param objectIndex The index of the object.
 | |
|     * \param itemIndex The index of the container item.
 | |
|     * \return The refId.
 | |
|     */
 | |
|     static const char *GetContainerItemRefId(unsigned int objectIndex, unsigned int itemIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the item count of the container item at a certain itemIndex in the container
 | |
|     * changes of the object at a certain objectIndex in the read object list.
 | |
|     *
 | |
|     * \param objectIndex The index of the object.
 | |
|     * \param itemIndex The index of the container item.
 | |
|     * \return The item count.
 | |
|     */
 | |
|     static int GetContainerItemCount(unsigned int objectIndex, unsigned int itemIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the charge of the container item at a certain itemIndex in the container changes
 | |
|     * of the object at a certain objectIndex in the read object list.
 | |
|     *
 | |
|     * \param objectIndex The index of the object.
 | |
|     * \param itemIndex The index of the container item.
 | |
|     * \return The charge.
 | |
|     */
 | |
|     static int GetContainerItemCharge(unsigned int objectIndex, unsigned int itemIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the enchantment charge of the container item at a certain itemIndex in the container changes
 | |
|     * of the object at a certain objectIndex in the read object list.
 | |
|     *
 | |
|     * \param objectIndex The index of the object.
 | |
|     * \param itemIndex The index of the container item.
 | |
|     * \return The enchantment charge.
 | |
|     */
 | |
|     static double GetContainerItemEnchantmentCharge(unsigned int objectIndex, unsigned int itemIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the soul of the container item at a certain itemIndex in the container changes
 | |
|     * of the object at a certain objectIndex in the read object list.
 | |
|     *
 | |
|     * \param objectIndex The index of the object.
 | |
|     * \param itemIndex The index of the container item.
 | |
|     * \return The soul.
 | |
|     */
 | |
|     static const char *GetContainerItemSoul(unsigned int objectIndex, unsigned int itemIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Get the action count of the container item at a certain itemIndex in the container
 | |
|     * changes of the object at a certain objectIndex in the read object list.
 | |
|     *
 | |
|     * \param objectIndex The index of the object.
 | |
|     * \param itemIndex The index of the container item.
 | |
|     * \return The action count.
 | |
|     */
 | |
|     static int GetContainerItemActionCount(unsigned int objectIndex, unsigned int itemIndex) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Check whether the object at a certain index in the read object list has a container.
 | |
|     * 
 | |
|     * Note: Only ObjectLists from ObjectPlace packets contain this information. Objects from
 | |
|     *       received ObjectSpawn packets can always be assumed to have a container.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return Whether the object has a container.
 | |
|     */
 | |
|     static bool DoesObjectHaveContainer(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Check whether the object at a certain index in the read object list has been
 | |
|     *        dropped by a player.
 | |
|     *
 | |
|     * Note: Only ObjectLists from ObjectPlace packets contain this information.
 | |
|     *
 | |
|     * \param index The index of the object.
 | |
|     * \return Whether the object has been dropped by a player.
 | |
|     */
 | |
|     static bool IsObjectDroppedByPlayer(unsigned int index) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the cell of the temporary object list stored on the server.
 | |
|     *
 | |
|     * The cell is determined to be an exterior cell if it fits the pattern of a number followed
 | |
|     * by a comma followed by another number.
 | |
|     *
 | |
|     * \param cellDescription The description of the cell.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectListCell(const char* cellDescription) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the action type of the temporary object list stored on the server.
 | |
|     *
 | |
|     * \param action The action type (0 for SET, 1 for ADD, 2 for REMOVE, 3 for REQUEST).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectListAction(unsigned char action) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the container subaction type of the temporary object list stored on the server.
 | |
|     *
 | |
|     * \param action The action type (0 for NONE, 1 for DRAG, 2 for DROP, 3 for TAKE_ALL,
 | |
|     *               4 for REPLY_TO_REQUEST, 5 for RESTOCK_RESULT).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectListContainerSubAction(unsigned char subAction) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the console command of the temporary object list stored on the server.
 | |
|     *
 | |
|     * When sent, the command will run once on every object added to the object list. If no objects
 | |
|     * have been added, it will run once without any object reference.
 | |
|     *
 | |
|     * \param consoleCommand The console command.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectListConsoleCommand(const char* consoleCommand) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the refId of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param refId The refId.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectRefId(const char* refId) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the refNum of the temporary object stored on the server.
 | |
|     *
 | |
|     * Every object loaded from .ESM and .ESP data files has a unique refNum which needs to be
 | |
|     * retained to refer to it in packets.
 | |
|     * 
 | |
|     * On the other hand, objects placed or spawned via the server should always have a refNum
 | |
|     * of 0.
 | |
|     *
 | |
|     * \param refNum The refNum.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectRefNum(int refNum) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the mpNum of the temporary object stored on the server.
 | |
|     *
 | |
|     * Every object placed or spawned via the server is assigned an mpNum by incrementing the last
 | |
|     * mpNum stored on the server. Scripts should take care to ensure that mpNums are kept unique
 | |
|     * for these objects.
 | |
|     * 
 | |
|     * Objects loaded from .ESM and .ESP data files should always have an mpNum of 0, because they
 | |
|     * have unique refNumes instead.
 | |
|     *
 | |
|     * \param mpNum The mpNum.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectMpNum(int mpNum) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the object count of the temporary object stored on the server.
 | |
|     *
 | |
|     * This determines the quantity of an object, with the exception of gold.
 | |
|     *
 | |
|     * \param count The object count.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectCount(int count) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the charge of the temporary object stored on the server.
 | |
|     *
 | |
|     * Object durabilities are set through this value.
 | |
|     *
 | |
|     * \param charge The charge.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectCharge(int charge) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the enchantment charge of the temporary object stored on the server.
 | |
|     *
 | |
|     * Object durabilities are set through this value.
 | |
|     *
 | |
|     * \param charge The enchantment charge.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectEnchantmentCharge(double enchantmentCharge) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the soul of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param soul The ID of the soul.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectSoul(const char* soul) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the gold value of the temporary object stored on the server.
 | |
|     *
 | |
|     * This is used solely to set the gold value for gold. It has no effect on other objects.
 | |
|     *
 | |
|     * \param goldValue The gold value.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectGoldValue(int goldValue) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the scale of the temporary object stored on the server.
 | |
|     *
 | |
|     * Objects are smaller or larger than their default size based on their scale.
 | |
|     *
 | |
|     * \param scale The scale.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectScale(double scale) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the object state of the temporary object stored on the server.
 | |
|     *
 | |
|     * Objects are enabled or disabled based on their object state.
 | |
|     *
 | |
|     * \param objectState The object state.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectState(bool objectState) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the lock level of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param lockLevel The lock level.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectLockLevel(int lockLevel) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the dialogue choice type of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param dialogueChoiceType The dialogue choice type.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectDialogueChoiceType(unsigned int dialogueChoiceType) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the dialogue choice topic for the temporary object stored on the server.
 | |
|     *
 | |
|     * \param topic The dialogue choice topic.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectDialogueChoiceTopic(const char* topic) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the gold pool of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param goldPool The gold pool.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectGoldPool(unsigned int goldPool) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the hour of the last gold restock of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param hour The hour of the last gold restock.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectLastGoldRestockHour(double hour) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the day of the last gold restock of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param day The day of the last gold restock.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectLastGoldRestockDay(int day) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the disarm state of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param disarmState The disarmState.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectDisarmState(bool disarmState) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the droppedByPlayer state of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param droppedByPlayer Whether the object has been dropped by a player or not.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectDroppedByPlayerState(bool dropedByPlayerState) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the position of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param x The X position.
 | |
|     * \param y The Y position.
 | |
|     * \param z The Z position.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectPosition(double x, double y, double z) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the rotation of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param x The X rotation.
 | |
|     * \param y The Y rotation.
 | |
|     * \param z The Z rotation.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectRotation(double x, double y, double z) noexcept;
 | |
| 
 | |
|     static void SetObjectSound(const char* soundId, double volume, double pitch) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the summon state of the temporary object stored on the server.
 | |
|     *
 | |
|     * This only affects living actors and determines whether they are summons of another
 | |
|     * living actor.
 | |
|     *
 | |
|     * \param summonState The summon state.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectSummonState(bool summonState) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the summon effect ID of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param summonEffectId The summon effect ID.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectSummonEffectId(int summonEffectId) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the summon spell ID of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param summonSpellId The summon spell ID.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectSummonSpellId(const char* summonSpellId) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the summon duration of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param summonDuration The summon duration.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectSummonDuration(double summonDuration) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the player ID of the summoner of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param pid The player ID of the summoner.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectSummonerPid(unsigned short pid) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the refNum of the actor summoner of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param refNum The refNum of the summoner.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectSummonerRefNum(int refNum) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the mpNum of the actor summoner of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param mpNum The mpNum of the summoner.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectSummonerMpNum(int mpNum) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the player ID of the player activating the temporary object stored on the
 | |
|     *        server. Currently only used for ObjectActivate packets.
 | |
|     *
 | |
|     * \param pid The pid of the player.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectActivatingPid(unsigned short pid) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the door state of the temporary object stored on the server.
 | |
|     *
 | |
|     * Doors are open or closed based on their door state.
 | |
|     *
 | |
|     * \param doorState The door state.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectDoorState(int doorState) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the teleport state of the temporary object stored on the server.
 | |
|     *
 | |
|     * If a door's teleport state is true, interacting with the door teleports a player to its
 | |
|     * destination. If it's false, it opens and closes like a regular door.
 | |
|     *
 | |
|     * \param teleportState The teleport state.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectDoorTeleportState(bool teleportState) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the door destination cell of the temporary object stored on the server.
 | |
|     *
 | |
|     * The cell is determined to be an exterior cell if it fits the pattern of a number followed
 | |
|     * by a comma followed by another number.
 | |
|     *
 | |
|     * \param cellDescription The description of the cell.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectDoorDestinationCell(const char* cellDescription) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the door destination position of the temporary object stored on the server.
 | |
|     *
 | |
|     * \param x The X position.
 | |
|     * \param y The Y position.
 | |
|     * \param z The Z position.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectDoorDestinationPosition(double x, double y, double z) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the door destination rotation of the temporary object stored on the server.
 | |
|     *
 | |
|     * Note: Because this sets the rotation a player will have upon using the door, and rotation
 | |
|     *       on the Y axis has no effect on players, the Y value has been omitted as an argument.
 | |
|     *
 | |
|     * \param x The X rotation.
 | |
|     * \param z The Z rotation.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetObjectDoorDestinationRotation(double x, double z) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set a player as the object in the temporary object stored on the server.
 | |
|     *        Currently only used for ConsoleCommand packets.
 | |
|     *
 | |
|     * \param pid The pid of the player.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetPlayerAsObject(unsigned short pid) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the refId of the temporary container item stored on the server.
 | |
|     *
 | |
|     * \param refId The refId.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetContainerItemRefId(const char* refId) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the item count of the temporary container item stored on the server.
 | |
|     *
 | |
|     * \param count The item count.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetContainerItemCount(int count) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the charge of the temporary container item stored on the server.
 | |
|     *
 | |
|     * \param charge The charge.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetContainerItemCharge(int charge) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the enchantment charge of the temporary container item stored on the server.
 | |
|     *
 | |
|     * \param charge The enchantment charge.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetContainerItemEnchantmentCharge(double enchantmentCharge) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the soul of the temporary container item stored on the server.
 | |
|     *
 | |
|     * \param refId The soul.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetContainerItemSoul(const char* soul) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Set the action count of the container item at a certain itemIndex in the container
 | |
|     * changes of the object at a certain objectIndex in the object list stored on the server.
 | |
|     *
 | |
|     * When resending a received Container packet, this allows you to correct the amount of items
 | |
|     * removed from a container by a player when it conflicts with what other players have already
 | |
|     * taken.
 | |
|     *
 | |
|     * \param objectIndex The index of the object.
 | |
|     * \param itemIndex The index of the container item.
 | |
|     * \param actionCount The action count.
 | |
|     * \return void
 | |
|     */
 | |
|     static void SetContainerItemActionCountByIndex(unsigned int objectIndex, unsigned int itemIndex, int actionCount) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Add a copy of the server's temporary object to the server's currently stored object
 | |
|     * list.
 | |
|     *
 | |
|     * In the process, the server's temporary object will automatically be cleared so a new
 | |
|     * one can be set up.
 | |
|     *
 | |
|     * \return void
 | |
|     */
 | |
|     static void AddObject() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Add a client local variable with an integer value to the client locals of the server's
 | |
|     * temporary object.
 | |
|     *
 | |
|     * \param internalIndex The internal script index of the client local.
 | |
|     * \param variableType The variable type (0 for SHORT, 1 for LONG).
 | |
|     * \param intValue The integer value of the client local.
 | |
|     * \return void
 | |
|     */
 | |
|     static void AddClientLocalInteger(int internalIndex, int intValue, unsigned int variableType) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Add a client local variable with a float value to the client locals of the server's
 | |
|     * temporary object.
 | |
|     *
 | |
|     * \param internalIndex The internal script index of the client local.
 | |
|     * \param floatValue The float value of the client local.
 | |
|     * \return void
 | |
|     */
 | |
|     static void AddClientLocalFloat(int internalIndex, double floatValue) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Add a copy of the server's temporary container item to the container changes of the
 | |
|     * server's temporary object.
 | |
|     *
 | |
|     * In the process, the server's temporary container item will automatically be cleared so a new
 | |
|     * one can be set up.
 | |
|     *
 | |
|     * \return void
 | |
|     */
 | |
|     static void AddContainerItem() noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectActivate packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectActivate(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectPlace packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectPlace(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectSpawn packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectSpawn(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectDelete packet.
 | |
|     *
 | |
|     * \param broadcast Whether this packet should be sent only to the player for whom the current
 | |
|     *                  object list was initialized or to everyone on the server.
 | |
|     *
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectDelete(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectLock packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectLock(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
|     /**
 | |
|     * \brief Send an ObjectDialogueChoice packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectDialogueChoice(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectMiscellaneous packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectMiscellaneous(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectRestock packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectRestock(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectTrap packet.
 | |
|     *
 | |
|     * \param broadcast Whether this packet should be sent only to the player for whom the current
 | |
|     *                  object list was initialized or to everyone on the server.
 | |
|     *
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectTrap(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectScale packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectScale(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectSound packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectSound(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectState packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectState(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectMove packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectMove(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send an ObjectRotate packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendObjectRotate(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send a DoorState packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendDoorState(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send a DoorDestination packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendDoorDestination(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send a Container packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendContainer(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send a VideoPlay packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendVideoPlay(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send a ClientScriptLocal packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendClientScriptLocal(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
|     /**
 | |
|     * \brief Send a ConsoleCommand packet.
 | |
|     *
 | |
|     * \param sendToOtherPlayers Whether this packet should be sent to players other than the
 | |
|     *                           player attached to the packet (false by default).
 | |
|     * \param skipAttachedPlayer Whether the packet should skip being sent to the player attached
 | |
|     *                           to the packet (false by default).
 | |
|     * \return void
 | |
|     */
 | |
|     static void SendConsoleCommand(bool sendToOtherPlayers, bool skipAttachedPlayer) noexcept;
 | |
| 
 | |
| 
 | |
|     // All methods below are deprecated versions of methods from above
 | |
| 
 | |
|     static void ReadLastObjectList() noexcept;
 | |
|     static void ReadLastEvent() noexcept;
 | |
|     static void InitializeObjectList(unsigned short pid) noexcept;
 | |
|     static void InitializeEvent(unsigned short pid) noexcept;
 | |
|     static void CopyLastObjectListToStore() noexcept;
 | |
|     static unsigned int GetObjectChangesSize() noexcept;
 | |
|     static unsigned char GetEventAction() noexcept;
 | |
|     static unsigned char GetEventContainerSubAction() noexcept;
 | |
|     static unsigned int GetObjectRefNumIndex(unsigned int index) noexcept;
 | |
|     static unsigned int GetObjectSummonerRefNumIndex(unsigned int index) noexcept;
 | |
|     static void SetEventCell(const char* cellDescription) noexcept;
 | |
|     static void SetEventAction(unsigned char action) noexcept;
 | |
|     static void SetEventConsoleCommand(const char* consoleCommand) noexcept;
 | |
|     static void SetObjectRefNumIndex(int refNum) noexcept;
 | |
|     static void AddWorldObject() noexcept;
 | |
| 
 | |
| };
 | |
| 
 | |
| 
 | |
| #endif //OPENMW_OBJECTAPI_HPP
 |