Core/Instances: Implemented DungeonEncounter.dbc for creating completed encounters mask to use in packets
Core/Dungeon Finder: Implemented new way of giving random dungeon rewards, linked to DungeonEncounter.dbc
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
|
||||
#include "ZoneScript.h"
|
||||
#include "World.h"
|
||||
#include "ObjectMgr.h"
|
||||
//#include "GameObject.h"
|
||||
//#include "Map.h"
|
||||
|
||||
@@ -124,7 +125,8 @@ class InstanceScript : public ZoneScript
|
||||
{
|
||||
public:
|
||||
|
||||
explicit InstanceScript(Map *map) : instance(map) {}
|
||||
explicit InstanceScript(Map* map) : instance(map), completedEncounters(0) {}
|
||||
|
||||
virtual ~InstanceScript() {}
|
||||
|
||||
Map *instance;
|
||||
@@ -196,9 +198,14 @@ class InstanceScript : public ZoneScript
|
||||
// Checks boss requirements (one boss required to kill other)
|
||||
virtual bool CheckRequiredBosses(uint32 /*bossId*/, Player const* /*player*/ = NULL) const { return true; }
|
||||
|
||||
// Checks encounter state at kill/spellcast
|
||||
void UpdateEncounterState(EncounterCreditType type, uint32 creditEntry, Unit* source);
|
||||
|
||||
// Used only during loading
|
||||
void SetCompletedEncountersMask(uint32 newMask) { completedEncounters = newMask; }
|
||||
|
||||
// Returns completed encounters mask for packets
|
||||
// NOTE: MUST USE ENCOUNTER IDS FROM DungeonEncounter.dbc 4th column
|
||||
virtual uint32 GetCompletedEncounterMask() const { return 0; }
|
||||
uint32 GetCompletedEncounterMask() const { return completedEncounters; }
|
||||
|
||||
void SendEncounterUnit(uint32 type, Unit* unit = NULL, uint8 param1 = 0, uint8 param2 = 0);
|
||||
|
||||
@@ -219,6 +226,7 @@ class InstanceScript : public ZoneScript
|
||||
std::vector<BossInfo> bosses;
|
||||
DoorInfoMap doors;
|
||||
MinionInfoMap minions;
|
||||
uint32 completedEncounters; // completed encounter mask, bit indexes are DungeonEncounter.dbc boss numbers, used for packets
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user