Community Edition “New breath for an old well.”

Items and Spells

Items

One row of +ITEMS per item, numbered 1 to 5119; row 0 is a price template, not an item. An item has a name, a class that says what kind of thing it is, a picture on an art sheet, a price, the level and token a hero needs to use it, a spell it can carry, an element, the attack and defence it adds, the HP and MP it restores or adds, ability points, how often monsters drop it, a description, a sound and an attack effect. Fifteen columns are required; the rest are optional.

Classes and slots

Worn items fill one of fourteen equipment slots: helmet, armor, eight weapon hands, boots, shield, ring and amulet. The class is the slot plus ten, so helmets are class 10, armor 11, swords (hand 0) 12 and so on to amulets at 23. The +EQUIP table can rename the slots; hands take their names from +HANDS.

ClassKind of item
0Potion: restores HP and MP and is used up.
1Antidote.
4Travel ticket: carries a destination map and link in its class field (4.mode.map.link.dropIn).
10, 11Helmet, armor.
12 to 19Weapons for hands 0 to 7 (sword, staff, bow, music, fist, dart, book, spirit by default).
20 to 23Boots, shield, ring, amulet.
100 to 104Seeds that raise one ability (strength, wisdom, stamina, agility, dexterity) up to the class cap.
105A seed that opens the ability-point window.
200A pet: giving it to a hero hatches the pet instead of adding an item.
201A web page: using it opens the page named in the sound column.

Pictures

Each class draws its icons from a sheet in art/ (helmets, armor, swords, boots, shields, rings, amulets, the general items sheet). The game looks in the world's art/ first and then in its own, so a world can ship a sheet with its own pictures without touching the game's. The picture column is the cell number, and a suffix picks an alternate sheet (7.2 is cell 7 of the sheet's second extension).

Trophy gates

The requirements column packs level.token.flags.maxCount.trophyUsed.trophyMade.countUsed.countMade: an item can need a trophy to be used (and consume some of it) and can produce a trophy when used. That is how ammunition, crafting and keys are done. See Trophies.

Shops

The script opens a shop with OFFER (a list of item numbers) or OFFER2 (every item between two levels, optionally of one class). Items with no price or no find chance are never stocked. Prices are scaled by item 0's price column, so a whole world's economy can be nudged from one row.

Spells

One row of +SPELLS per spell, numbered 1 to 767; row 0 is the cost template. A spell has a name, the training points it costs to learn, an element, its damage, the MP it costs to cast, its level, then the look of the casting: a flight path, a row on the effects sheet, how many sparkles, how fast, a packed gravity / effects / weather number, a loop style, three sounds and an icon. Seven columns are required.

Leave the cost, damage and MP at zero and the game derives them from the level and scales them by row 0. Add 100 to the level to make a spell hit every target. The level column also packs the token and trophy gates, exactly as for items. A damage column of 0.40 summons monster 40 instead of hurting anyone.

The packed column is either one number, weather times a million plus effect times a thousand plus gravity, or the dotted form gravity.effect.weather. /coverage lists which effects a world actually uses, and /fail prints how often the spell you have selected fizzles.

Handing things out

In the script, GIVE I12.3 gives three of item 12 and GIVE S5 teaches spell 5; the same codes work from the chat line as /give when you are testing. The Quest Script lists every letter.