[DiscordArchive] Hi, what files did you edit to make it work?
[DiscordArchive] Hi, what files did you edit to make it work?
Archived author: Lis_Wef • Posted: 2025-06-17T07:24:16.701000+00:00
Original source
There is no real explanation on this topic at all, I went through everything, there was an article on an already deleted forum and that's it)
Archived author: Pantheon • Posted: 2025-06-17T07:30:48.503000+00:00
Original source
SpawnMask is easy to handle
Archived author: Pantheon • Posted: 2025-06-17T07:30:52.480000+00:00
Original source
```enum Difficulty
{
REGULAR_DIFFICULTY = 0,
DUNGEON_DIFFICULTY_NORMAL = 0,
DUNGEON_DIFFICULTY_HEROIC = 1,
DUNGEON_DIFFICULTY_EPIC = 2,
DUNGEON_DIFFICULTY_EPIC_PLUS = 3,
RAID_DIFFICULTY_10_25MAN_NORMAL = 0,
RAID_DIFFICULTY_10_25MAN_HEROIC = 1,
RAID_DIFFICULTY_10_25MAN_MYTHIC = 2,
RAID_DIFFICULTY_25MAN_HEROIC = 3,
};
#define RAID_DIFFICULTY_MASK_25MAN 1 // since 25man difficulties are 1 and 3, we can check them like that
#define MAX_DUNGEON_DIFFICULTY 3
#define MAX_RAID_DIFFICULTY 4
#define MAX_DIFFICULTY 4
enum SpawnMask
{
SPAWNMASK_CONTINENT = (1 << REGULAR_DIFFICULTY), // any any maps without spawn modes
SPAWNMASK_DUNGEON_NORMAL = (1 << DUNGEON_DIFFICULTY_NORMAL),
SPAWNMASK_DUNGEON_HEROIC = (1 << DUNGEON_DIFFICULTY_HEROIC),
SPAWNMASK_DUNGEON_EPIC = (1 << DUNGEON_DIFFICULTY_EPIC),
SPAWNMASK_DUNGEON_ALL = (SPAWNMASK_DUNGEON_NORMAL | SPAWNMASK_DUNGEON_HEROIC | SPAWNMASK_DUNGEON_EPIC),
SPAWNMASK_RAID_10MAN_NORMAL = (1 << RAID_DIFFICULTY_10_25MAN_NORMAL),
SPAWNMASK_RAID_25MAN_NORMAL = (1 << RAID_DIFFICULTY_10_25MAN_HEROIC),
SPAWNMASK_RAID_NORMAL_ALL = (SPAWNMASK_RAID_10MAN_NORMAL | SPAWNMASK_RAID_25MAN_NORMAL),
SPAWNMASK_RAID_10MAN_HEROIC = (1 << RAID_DIFFICULTY_10_25MAN_MYTHIC),
SPAWNMASK_RAID_25MAN_HEROIC = (1 << RAID_DIFFICULTY_25MAN_HEROIC),
SPAWNMASK_RAID_HEROIC_ALL = (SPAWNMASK_RAID_10MAN_HEROIC | SPAWNMASK_RAID_25MAN_HEROIC),
SPAWNMASK_RAID_ALL = (SPAWNMASK_RAID_NORMAL_ALL | SPAWNMASK_RAID_HEROIC_ALL),
};```
Archived author: Pantheon • Posted: 2025-06-17T07:30:58.062000+00:00
Original source
It's a mask
Archived author: Pantheon • Posted: 2025-06-17T07:31:24.896000+00:00
Original source
Keep in mind the client already have an epic version of the dungeon so no need to modify the client
Archived author: Pantheon • Posted: 2025-06-17T07:31:42.361000+00:00
Original source
I don't know how the client will react if you had more
Archived author: Lis_Wef • Posted: 2025-06-17T07:49:29.393000+00:00
Original source
so that she can switch, you just need to make a spawn mask and change the dbc to the value "2" and enter the data into the database and configure the spawn mask?
should the change message be sent via the aio?
enum Difficulty : uint8
{
REGULAR_DIFFICULTY = 0,
DUNGEON_DIFFICULTY_NORMAL = 0,
DUNGEON_DIFFICULTY_HEROIC = 1,
DUNGEON_DIFFICULTY_EPIC = 2,
RAID_DIFFICULTY_10MAN_NORMAL = 0,
RAID_DIFFICULTY_25MAN_NORMAL = 1,
RAID_DIFFICULTY_10MAN_HEROIC = 2,
RAID_DIFFICULTY_25MAN_HEROIC = 3,
};
#define RAID_DIFFICULTY_MASK_25MAN 1 // since 25man difficulties are 1 and 3, we can check them like that
#define MAX_DUNGEON_DIFFICULTY 3
#define MAX_RAID_DIFFICULTY 4
#define MAX_DIFFICULTY 4
enum SpawnMask
{
SPAWNMASK_CONTINENT = (1 << REGULAR_DIFFICULTY), // any any maps without spawn modes
SPAWNMASK_DUNGEON_NORMAL = (1 << DUNGEON_DIFFICULTY_NORMAL),
SPAWNMASK_DUNGEON_HEROIC = (1 << DUNGEON_DIFFICULTY_HEROIC),
SPAWNMASK_DUNGEON_EPIC = (1 << DUNGEON_DIFFICULTY_EPIC),
SPAWNMASK_DUNGEON_ALL = (SPAWNMASK_DUNGEON_NORMAL | SPAWNMASK_DUNGEON_HEROIC | DUNGEON_DIFFICULTY_EPIC),
SPAWNMASK_RAID_10MAN_NORMAL = (1 << RAID_DIFFICULTY_10MAN_NORMAL),
SPAWNMASK_RAID_25MAN_NORMAL = (1 << RAID_DIFFICULTY_25MAN_NORMAL),
SPAWNMASK_RAID_NORMAL_ALL = (SPAWNMASK_RAID_10MAN_NORMAL | SPAWNMASK_RAID_25MAN_NORMAL),
SPAWNMASK_RAID_10MAN_HEROIC = (1 << RAID_DIFFICULTY_10MAN_HEROIC),
SPAWNMASK_RAID_25MAN_HEROIC = (1 << RAID_DIFFICULTY_25MAN_HEROIC),
SPAWNMASK_RAID_HEROIC_ALL = (SPAWNMASK_RAID_10MAN_HEROIC | SPAWNMASK_RAID_25MAN_HEROIC),
SPAWNMASK_RAID_ALL = (SPAWNMASK_RAID_NORMAL_ALL | SPAWNMASK_RAID_HEROIC_ALL),
};
Archived author: Pantheon • Posted: 2025-06-17T08:20:01.704000+00:00
Original source
```void MythicManager::HandleChangeDungeonDifficulty(Player* _player, uint8 mode)
{
Group* group = _player->GetGroup();
if (group)
{
if (group->IsLeader(_player->GetGUID()))
{
for (GroupReference* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next())
{
Player* groupGuy = itr->GetSource();
if (!groupGuy)
continue;
if (!groupGuy->IsInWorld())
{
_player->SendDungeonDifficulty(group != nullptr);
return;
}
if (groupGuy->GetGUID() == _player->GetGUID() ? groupGuy->GetMap()->IsDungeon() : groupGuy->GetMap()->IsNonRaidDungeon())
{
_player->SendDungeonDifficulty(group != nullptr);
return;
}
}
group->ResetInstances(INSTANCE_RESET_CHANGE_DIFFICULTY, false, _player);
group->SetDungeonDifficulty(Difficulty(DUNGEON_DIFFICULTY_EPIC));
}
}
else {
_player->SetDungeonDifficulty(Difficulty(DUNGEON_DIFFICULTY_EPIC));
_player->SendDungeonDifficulty(false, DUNGEON_DIFFICULTY_EPIC);
Player::ResetInstances(_player->GetGUID(), INSTANCE_RESET_CHANGE_DIFFICULTY, false);
}
}````
Archived author: Lis_Wef • Posted: 2025-06-17T08:28:03.446000+00:00
Original source
Sorry for the dumb question, where is this going?
Archived author: Pantheon • Posted: 2025-06-17T08:28:47.332000+00:00
Original source
This is a custom class Manager to handle the MythicDifficulty