TibiaWiki:Standards/NPC

Parameter spacing
In the source, it is harder to edit if parameters are not aligned correctly.
 * Parameters should have 1 padding space left and right of the parameters.
 * Additional padding to the left should be applied to align them with the longest parameter.
 * At the present, the implemented parameter is the longest (11 characters). All parameters should be 13 characters in length (including the left and right padding), or 14 including the bar ( | ).
 * "Meta" parameters should not be padded. Meta parameters tell the template how to deal with the data, these parameters are:
 * List
 * GetValue
 * All meta parameters should be declared on the first line with the template call. The "template call" line should look like this:
 * {{Infobox_NPC|List={{{1|}}}|GetValue={{{GetValue|}}}

Name

 * Name must be the same as the which should be the same as the NPC's in-game name.
 * The name cannot have any of these characters: |, ;

Job (jobn)
(Parameter is self explanatory ... any specific rules we need for this ? we don't seem to have a list of supported jobs anywhere)

Location

 * Location must be a string
 * Location should not contain a comma or any clause connector, including the parentheses (-, ; ).
 * If you need to use a comma, it's probably not as concise as it can be. Eliminate the commas by rewording the sentence to a single clause. Examples:
 * Gruffy:
 * Location: Carlin, Winterberry Cellar, here.
 * Location: Carlin Winterberry Cellar [126.86, 124.50].

Before: [Note: this NPC actually has his location in the notes ... but it doesn't belong there.] On Mondays you can find him in Svargrond, in Dankwart's tavern, south of the temple. On Tuesdays you can find him in Liberty Bay, in Lyonel's tavern, west of the depot. On Wednesdays you can find him in Port Hope, in Clyde's tavern, north of the ship. On Thursdays you can find him in Ankrahmun, in Arito's tavern, above the post office. On Fridays you can find him in Darashia, in Miraia's tavern, south of the guildhalls. On Saturdays you can find him in Edron, in Mirabell's tavern, above the depot. On Sundays you can find him in Carlin depot, one floor above.
 * Rashid:
 * Travels around between Carlin and various Premium cities.

After:
 * Svargrond tavern on Monday [125.208, 121.180], Liberty Bay tavern on Tuesday [126.47, 128.70], Port Hope tavern on Wednesday [127.67, 127.242], Ankrahmun tavern on Thursday [129.43-128.111], Darashia tavern on Friday [129.209, 126.224], Edron tavern on Saturday [129.147, 124.64], Carlin depot on Sunday [126.71, 124.38].


 * Mapper links should exist where appropriate.
 * Mapper links should contain their coordinates inside square brackets. Previously it was customary to write the link's alt text as 'here', this practice makes raw text viewing difficult. Although usually the coordinates don't help viewers much, it makes it more clear that a link points to the mapper.
 * If the NPC exists in more than one location (Captain Max, Rashid), then the locations should be separated by commas.

City

 * City should be the closest city to an NPC. It should not take more than one value.

Implemented
(TODO: copy from TibiaWIki:Standards/Items)

Sounds

 * Sounds are the words spoken by an NPC even when not talked to.
 * Sounds should exist verbatim from the game. Do not fix typos, case errors, factual errors or anything else. (If you believe it is a bug, report it to a tutor and when it is fixed in-game it can be updated.)
 * Sounds should NOT contain text spoken upon spoken with. They are transcripts and belong on the NPC's /Transcripts subpage.
 * All sounds should be enclosed within apostrophes.
 * Sounds should be split with a comma . It is common to find semicolons. This should be changed to commas.
 * Sounds should not terminate with any character; omit the "." in the list.

Buysell

 * "yes" if the NPC buys or sells items. "no" otherwise.
 * Use lowercase and omit the "." at the end.

Buys
ItemName: ItemValue: ItemNoteID
 * Buys is the parameter for trades in which the NPC takes an item off the player's hands.
 * Omit if |buysell = no
 * Use Template:Price to Sell. Here's what one might look like:
 * The format for this is:
 * The format for this is:
 * The ItemName should be the name of an item. Exact name, not an alias (Mastermind Shield, not MMS, even if a redirect exists at MMS).
 * The ItemValue should be omitted if the item is bought for the highest value of that item. In this example, Axe, Battle Axe and Sword are sold for the highest value to an NPC.
 * The ItemValue can only take a number (or it will bug the table sort, sorting by string instead of number).
 * The ItemNoteID should be omitted if the item has no requirements to sell it.
 * The ItemNoteID takes an ID which describes the requirement.
 * If the requirement applies to the entire NPC, it should be listed on the template, not in the trades.
 * If the requirement applies to a few items, give those items an ID and associate the ID with descriptive text on Template:NPC Trades/Notes.

Sells
See above, only:
 * Instead of selling to the NPC, you buy from the NPC.
 * Instead of considering highest price to sell, consider lowest price to sell.

Examples

 * Note: trades list will be shortened because they can get very long.