Skip to content

Locking

rmx edited this page May 30, 2016 · 1 revision

What is locking?

We want to be able to reliably replay any game. To do that we need to know the exact scripts that were used by the game. So we need to lock the scripts and other assets down and prevent any future modifications to them.

How is it implemented?

Every time a designer releases a revision, all assets (spells, auras, terrains, tiles, sounds etc) that the revision uses are locked.

If a designer wants to do a modification to a locked asset, he needs to duplicate it and modify the new version. However, duplicating should only be used to make the script compatible with newer script API versions. It should not be used to add new features or behaviors.

Each version has a pointer to the succeeding version. This is to allow designers to easily upgrade their encounters to make them compatible with newer versions of the engine and script API.

Locking and duplicating in the editor

Locked assets are indicated by a small lock icon next to their name. Even though you can edit them, your changes will not be saved to the database.

The button to duplicate the asset is only present in some categories (achievements, auras, behaviors, roles and spells).

Forking

Forking is creating a new version which is different from the original (eg. a Heal spell which uses slightly different modifiers). Sometimes it's difficult or impossible to tell from which asset another was forked, for example if a spell combines features from multiple other spells.

The editor doesn't have explicit support for forking. To fork an asset, you have to create a new one and manually copy over the contents (icon, description, script, model etc).

Clone this wiki locally