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