1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 22:49:55 +00:00
openmw-tes3mp/apps/openmw/mwmp/Worldstate.hpp
David Cernat bbf9f20053 [Client] Stop sending WorldKillCount packets or incrementing local kills
This means the server scripts are now required to send a WorldKillCount packet as a reply to ActorDeath packets sent by clients. This gives the server full control over which kills are counted, while also solving the previous problem of kills being counted only for actors that had finished their death animations.
2019-11-27 11:21:29 +02:00

46 lines
1.4 KiB
C++

#ifndef OPENMW_WORLDSTATE_HPP
#define OPENMW_WORLDSTATE_HPP
#include <components/openmw-mp/Base/BaseWorldstate.hpp>
namespace mwmp
{
class Networking;
class Worldstate : public BaseWorldstate
{
public:
Worldstate();
virtual ~Worldstate();
void addRecords();
bool containsExploredMapTile(int cellX, int cellY);
void markExploredMapTile(int cellX, int cellY);
void setKills();
void setMapExplored();
void setWeather();
void sendMapExplored(int cellX, int cellY, const std::vector<char>& imageData);
void sendWeather(std::string region, int currentWeather, int nextWeather, int queuedWeather, float transitionFactor);
void sendEnchantmentRecord(const ESM::Enchantment* enchantment);
void sendPotionRecord(const ESM::Potion* potion);
void sendSpellRecord(const ESM::Spell* spell);
void sendArmorRecord(const ESM::Armor* armor, std::string baseRefId = "");
void sendBookRecord(const ESM::Book* book, std::string baseRefId = "");
void sendClothingRecord(const ESM::Clothing* clothing, std::string baseRefId = "");
void sendWeaponRecord(const ESM::Weapon* weapon, std::string baseRefId = "");
private:
std::vector<MapTile> exploredMapTiles;
Networking *getNetworking();
};
}
#endif //OPENMW_WORLDSTATE_HPP