Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[master] Mythic+ System #29961

Open
4 tasks
BertiRean opened this issue May 6, 2024 · 1 comment
Open
4 tasks

[master] Mythic+ System #29961

BertiRean opened this issue May 6, 2024 · 1 comment

Comments

@BertiRean
Copy link
Contributor

BertiRean commented May 6, 2024

Description

Issue Description: Missing Mythic+ System in TrinityCore

Overview:
The current TrinityCore lacks the Mythic+ system, a pivotal end-game feature. Its absence diminishes the authenticity and limits player engagement.

Expected behaviour

  • Functionality: Verify the complete functionality of Mythic+ dungeons.

  • Keystone Mechanics: Ensure accurate replication of Keystone mechanics.

  • Difficulty Scaling: Validate appropriate scaling of dungeon difficulty.

  • Loot Distribution: Confirm correct loot distribution mechanics.

Steps to reproduce the problem

Go to a instance in Mythic and you can't activate the mythic+

Branch

master

TC rev. hash/commit

55b29d4

Operating system

All

Custom changes

None

@BertiRean
Copy link
Contributor Author

BertiRean commented May 29, 2024

@Shauren, @mdX7 , @meji46 About this. I've made work the difficult change, now my issue is if this code is safe for generate a respawn in all objects of the map.

void Map::RespawnAllObjects()
{
    DeleteRespawnTimes();

for (WorldObject* obj : GetWorldObjects())
{
    if (obj->IsPlayer())
        continue;

    if (obj->IsCreature() || obj->IsGameObject() || obj->IsAreaTrigger())
    {
        ASSERT(obj->IsStoredInWorldObjectGridContainer());
        obj->RemoveFromWorld();
        obj->ResetMap();
    }
}

for (uint32 cellX = 0; cellX < TOTAL_NUMBER_OF_CELLS_PER_MAP; cellX++)
{
    for (uint32 cellY = 0; cellY < TOTAL_NUMBER_OF_CELLS_PER_MAP; cellY++)
    {
        float x = (cellX + 0.5f - CENTER_GRID_CELL_ID) * SIZE_OF_GRID_CELL;
        float y = (cellY + 0.5f - CENTER_GRID_CELL_ID) * SIZE_OF_GRID_CELL;

        Cell cell{ x,y };

        NGridType* grid = getNGrid(cell.GridX(), cell.GridY());

        if (grid)
            LoadGridObjects(grid, cell);
    }
}

My main question is if I need wait a time or something to delete the previous objects and spawn the new ones.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant