No categories assigned

DBEditor:Spells

Revision as of 09:04, 20 November 2013 by John adams (talk | contribs)

The Spells Editor needed to be redesigned due to the 48,000 or so spells+tiers we're trying to manage, the old filters weren't displaying enough data, and were confusing. In this revamp, I've basically broken down the spells into "filters" based on SOE's types and classifications system.

Filter: Lookup

There are two ways to get at the spell data now... one is the Filters listed below, the other is a direct query of the Spell Names via a "Google-like" search suggestion script.

SpellEditor10.jpg

Simply type a few letters of the spell name into the Lookup field, and see the suggestions that are presented.

 NOTE: You do not HAVE to use the Suggestions... you can type "Heal" into the box and just press Enter, 
 and all *Heal* related spell names will be displayed.


Filter: Type

The second option is to Filter the data using Type, Classification and Class. When you first select Spells from the menu, you now must pick a "Type" - that being Spell, Art, Ability, Tradeskill or PC Innate --

SpellEditor1.jpg

Once you pick a Type, the Classifications option will appear, for further filtering. Note you do not have to filter further, all data should be available in the Types grid.


Spell Selection Grid

SpellEditor2.jpg

Take note of the information on the Spell Selection Grid:

 Spell ID - this is EQ2Emulator's internal ID for the spell
 The [S] and [W] icons are shortcuts to SOE Data and Wikia for the given data row
 Name - the name of the dataset
 Description - I thought it might be helpful to see the full description of the spell, since many are named the same
 Type - this should be the type you selected
 Classification - More details below about what a Classification is
 AA - is this entry considered Alternate Advancement?
 Level - the character level required to use the spell/ability
 Active - is the spell available to players? Note: Inactive spells will not load at world start time!
 Last Auto Update - This is the last time we sync'd the entry with soe.data.com

You can begin to edit the spell data by clicking the Spell ID value on the left-most column.


Filter: Classification

SpellEditor3.jpg

Classifications are what we're calling the "given_by" data from soe.data.com. This is how the player acquires the spell, so it seemed a fitting category for limiting result sets. The list of Classifications are --

 "alternateadvancement"
 "charactertrait"
 "class"
 "classtraining"
 "race"
 "racialinnate"
 "racialtradition"
 "spellscroll"
 "tradeskillclass"
 "warderspell"

Picking a Classification will limit the results even further. In this example, I will pick "race" classification to limit my result set.

SpellEditor4.jpg

As you see, a much more manageable list.


Filter: Class

Not to be confused with classification, Class is the actual player class itself -- Guardian, Templar, etc.

Note: When you select ALL types and ALL Classifications, you MUST pick a Class to filter the data in at least some way.

SpellEditor6.jpg

Observe that this list of Classes also include the Archetype, Class and Subclass options. This is so we can reduce the number of Spells entries in our database if more than 1 class of an Archetype or Class can use the spell. In the above screenshot, you can see the following:

 1. The Fighter archetype, which includes 3 classes and 6 subclasses
 2. The Warrior class, which includes only the 2 classes of warriors: Guardian and Berserker
 3. And finally, the individual player class (subclass) itself

There is one special Class: All. This is a filter to show you all the spells/arts that ALL classes can utilize - and in our EQ2Emulator database, that is signified by the `spell_classes`.`adventure_class_id` = 255, for all classes. This is not a list of ALL spells, so do not be alarmed when you do not see many records. Another term for these might be "Commoner" abilities.

New Spell Editor Layout

I have cleaned up the layout of the Spells Editor tabs, making them actual tabs finally (after 5 years emoticon). To enter the Spell Editor screen, click the link on the left-most column which is the EQ2Emulator Spell ID column - in the above example, that would be the number 8018.

SpellEditor5.jpg

You'll see a relatively familiar layout, only the Tabs have changed, and I have re-grouped the data more logically. A brief description of the screen areas --

 1. Section Title bar, with shortcuts to SOE and Wikia, and Info and Links field set of read-only data
 2. Editable items related to spell "text"
 3. Other settings, mostly comboboxes relating to type and skills
 4. The same old Appearances section
 5. The same old Toggles section, only with added options - is_aa, is_deity, and moved is_active into the toggles
 6. Save button
 7. If the SOE data has changed, we can re-sync the spell/tier data directly with their list
 8. NEW Re-Indexing (see below)
 9. NEW Insert a spell or make a clone of an existing one (currently disabled)
 10. NEW Delete a spell record that is no longer needed


Spell Re-Indexing

The last thing I will cover for now is the Re-Indexing feature, as this will likely be used a lot. It is new, since the SOE data is not always forthcoming with accurate information on classes (they hook spells to player classes differently than we do), I had to come up with a way for you to "move" a spell from one range of ID's to another.

Example would be to move this Fighter spell to a common Abilities type because you realized it's actually a spell EVERYONE can use. So you select Pick destination range --

SpellEditor7.jpg


An ajax lookup is performed to fetch the next-highest spell_id in the "Abilities" range - which is 8000-8999. In this case, it is 8490.

SpellEditor8.jpg


OR, if you discover a spell that is under Fighter that should be Guardian-specific, you can move it to the Class by chosing Pick destination class --

SpellEditor9.jpg

Since Guardians are Class ID 3, and the spell range is thus 3 * 10,000, or 30,000 - 39,999, the ajax lookup finds the next highest spell ID to be 30276.


You then click the "Re-Index" button and the script moves the spell, cleaning up the player and other associated tables to the new ID, then drops you in the editor at the new spell_id.

Conclusion

I'm hoping to make the editor handle more tasks automatically in the future, so we're not doing so much work manually. This is the first step. Also, at the time of this writing, the Spells tab is the only one re-designed - the other tabs still function as they did before.

Happy Spell Writing emoticon