-
-
Notifications
You must be signed in to change notification settings - Fork 7
Creating mapping for a new Dungeon
- You have created a new Dungeon
- You have created a Mapping Version and understand how they work
Important
If the mapping already exists in MDT you MUST edit the mapping in MDT and NOT through Keystone.guru. See https://github.com/Wotuu/keystone.guru/wiki/Editing-an-existing-mapping-(through-MDT). This is done so that the community has one consistent mapping instead of two competing projects having their own (inconsistent) mapping. I have agreed with Nnoggie on this one and MDT's mapping format is leading. I have written importers and exporters to support this on my side.
Important
If you have a combat log of someone (or yourself) running the dungeon you can use it to generate an initial placement of enemies and their NPCs. This will cut down on the time required to create the mapping yourself. You will still need to go through and edit placements, add packs, add patrols etc. for which you can use the below instructions.
Important
To re-iterate, you only need these instructions if you're creating a new dungeon mapping from SCRATCH.
If you're editing the mapping you must do so in the special mapping environment found at https://mapping.keystone.guru/. Any mapping changes you make will be tracked and an automatic pull request will be created to offer your mapping changes for review in the Github repository of Keystone.guru.
You have to register a new Keystone.guru account on that subdomain (since it uses a completely separate database) and be made an admin before you have access to all relevant admin tools.
Note
If you edit the mapping on any other location of Keystone.guru (such as the main site or https://staging.keystone.guru/) the mapping will be lost eventually and will not be retrievable.
From the sidebar on the left, select "Enemy" (or use hotkey 3
). Your mouse cursor will change to an enemy which you can place on the map anywhere you want. Left click to place the enemy:
Once you've placed the enemy, you can edit it by click on it. A popup shows up.
- You must select the NPC that this enemy is.
- Most other options you don't need to touch for most enemies.
You can align an enemy with a certain faction. They will then only show up in the mapping when the route has a matching faction. This was used to fix Siege of Boralus which had a different mapping based on the faction of the player. Horde enemies were marked as "Alliance" and vice versa. That way if you were Alliance you had the Horde enemies show up.
Select an NPC that this enemy represents from the list. There's certain enemies which are available throughout all dungeons (think seasonal enemies). If you want to edit health values of NPCs you have to visit the page for that specific NPC and edit it there.
This is important since all enemies are tied to a pull by a combination of NPC ID + MDT ID. That is how routes can be made consistent when cycling through mapping versions (when there's an update to the mapping). Generally, the first enemy placed has MDT ID 1. Second enemy 2, etc. The IDs are NOT 0 based (because Lua). Usually you do not have to edit this number yourself but sometimes you do.
Mark an enemy as Teeming or not. No longer used since Teeming has been removed.
Sometimes there were exceptions for enemies where they didn't give the same enemy forces as their NPC would give them. This allows you to override the enemy forces for this specific enemy only. I have not used it in a long time so it's moved under Legacy.
Same as above, but then for Teeming. Not sure if I ever used this.
Used to differentiate between 10-man and 25-man versions of legacy raids. Used in Ulduar for now but pretty sure it'll be used for all WotLK-raids.
This allows you to mark an enemy with a seasonal "affliction" or affix such as Inspiring.
Certain seasonal affixes had iterations where there'd be for example 3 different presets of enemies. Take Awakened for example, the Awakened bosses were on a separate rotational cycle. You can mark an enemy with a seasonal index if you want them to show up for rotation 1, 2, 3, etc. This is also related to a Season's presets
column. Entering a number higher than the presets
count is going to render it always invisible.
This functionality is broken (see https://github.com/Wotuu/keystone.guru/issues/594) and I've kept it that way for a while. It was created for for example Kings' Rest where you had certain enemies that you MUST kill before you could continue with your route. You can mark enemies as required
and the mapping would not allow you to publish a route unless you actually went and killed those enemies. It'd also show a warning if you didn't kill all required
enemies yet.
For now I decided it was too confusing/limiting so I've kept it broken. But I may fix it later and re-enable it.
Very important feature which allows Live Sessions to work. If an enemy can be skipped by walking past it without Shroud/invisibility it should be marked as skippable
. That way the Live Sessions feature knows that this enemy may be skipped if the user accidentally overpulled enemies earlier in the route, in order to still reach 100% trash and not go 10% over.
Used for auto route generation tweaking. It will consider enemies with a higher priority over enemies with a lower priority when searching for enemies to match to an NPC + location in the combat log. Note, there's still an issue in the implementation: https://github.com/Wotuu/keystone.guru/issues/1958.
From the sidebar on the left, select "Enemy pack" (or use hotkey 2
). From that point on, clicking will allow you to draw a polygon by hand. Any enemies captured in the polygon will be marked as part of this enemy pack.
Creating a new enemy into your polygon will highlight the polygon to indicate that the enemy will be added to the pack.
You can always verify that an enemy is added to a pack by hoving over the enemy and viewing the Pack
property:
Similar to adding new packs, click the "Patrol" button on the left sidebar. This will allow you to draw a patrol route. You should always try to make a complete circle with patrols, even if an enemy patrols up and down the same hallway.
After creating your patrol, you can click on the patrol itself to edit it. Then, select Select enemies
. This will allow you to (surprise) select enemies to attach to the patrol:
Enemy attaching mode:
If you select an enemy part of a pack, it will attach the patrol to all enemies in said pack. I see that there's no cancel snackbar, but you can always press Escape
to exit this mode. Or when in doubt, F5 always works.
Click the "Floor" button on the left sidebar. Place the floor switcher where you want to. Then click the floor switcher and select the target floor. The floor switcher should update its icon to reflect the direction of the new floor.
Note
If the icon remains a question mark, you need to configure floor connections first.
Click the "Mountable area" button on the left sidebar. Place the mountable area as you would an enemy pack. This mountable area is used for generating SimulationCraft strings with more accuracy. You can adjust the mountable area's speed as well. For speed references, see config/keystoneguru.php:character
or https://wowpedia.fandom.com/wiki/Movement.
Click the "Edit" button in the left sidebar. This converts the map into Edit mode and allows you to drag any element around, add polygons to patrols/packs etc. When you're done, hit Save
and your changes will be committed.
Note
Drag enemies slowly - after an update of some Leaflet plugin, dragging enemies around quickly causes your cursor to lose the enemy you're dragging. It hasn't been that big of an issue for me to fix it yet but it's not you if you encounter this.
Similar to editing map elements, click the "Delete" button in the left sidebar. Then proceed to click on map elements you want to remove. You can also delete patrols and enemy packs by clicking on them. When you're done, hit Save
and your changes will be committed.
- Fundamentals
- Maintaining the server
- Maintaining Keystone.guru
- Creating a new Release
- Creating a new Expansion
- Creating a new Season
- Creating a new Affix
- Creating a new Dungeon
- Creating new map tiles
- Creating new NPC Portrait icons
- Creating a new Affix
- Creating mapping for a new Dungeon
- Editing an existing mapping (through MDT)
- Adding support for dungeon facades
- Technical debt