Crossfire Server, Trunk  1.75.0
Item Transformation

Through the 'use' command, it is possible to define complex item transformations.

'use' will work on 2 items, which will be called 'item1' and 'item2'.

Syntax for command is 'use item1 with item2'.

item2 is searched for a key/value of the form, in this order:

  • on_use_with_<item1's archetype name>
  • on_use_with_<item1's type>_<item1's subtype>
  • on_use_with_<item1's type>

If no key is found, use will simply not do anything.

If a key is found, it's processed to know what to do.

Syntax of the value is pretty simple:

  • add [number] archetype: will give the player [number] items of archetype specified
  • remove $1: will remove one item1
  • remove $2: will remove one item2

Note that remove can appear multiple times, but you can't specify a precise number to remove.


There is also an 'ITEM_TRANSFORMER' (163) item type.

Last update: 2005-07-19.

An item transformer is simply applied, after having marked a 'victim' item. If the victim is suitable, it will be transformed into something else.

To make an item transformable, you just have to fill the 'slaying' field. The syntax is: slaying slayer:[yield ]new_item[;slayer:[yield ]new_item]*

with [] denoting optional part, and * any number of preceding [].

Example, for object apple: slaying knife:2 half_apple

This means that, when applying a knife (non existing item with type of 163), one 'apple' will be transformed into 2 'half_apple'.

Pretty simple, hopefully.

Transformer uses food value to count how many times it can be used. 0 denotes unlimited uses.

The 'slaying' field of the 'transformer' is a verb used to construct a message.

More complex imaginary example: Object water slaying bowl:full_bowl;paper:wet_paper

if paper and bowl are 'transformer' items.