- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NOTE: This file contains the script-changes done from UOX3 v0.70.03.24b to 0.95.00,
but additional changes have been implemented in more recent UOX3 versions,
and those are not listed here.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

skills.scp

[ORE_LIST]
{
Iron
Valorite
}

[Iron]
{
COLOUR=0001
FOREIGN=0
MAKEMENU=1234
MINSKILL=500
MINAMOUNT=3	// minimum amount to make anything
NAME=Iron	// optional, as this will be picked up by section name
}

[Valorite]
{
...
}

regions.scp

Added tags

APPEARANCE=blah		// blah == Spring, Summer, Autumn, Winter, Desolation
COLOURMINSKILL=1234	// min skill required to make colour
CHANCEFORBIGORE=1234	// chance of finding big ore
CHANCEFORCOLOUR=1234	// chance for finding coloured ore
DUNGEON=1		// 0 == no, all else == yes
OREPREF=Iron [%chance]	// Uses ore name here, %chance is optional, defaults to 1 / num ores.  One of these for each ore wanted in region
RACE=#			// Race region belongs to

items.scp

[SHOPLIST #]
{
RSHOPITEM=value		// same as npc stuff
SELLITEM=value
SHOPITEM=value
VALUE=value
}

main entries
AC=#	// AC is similar to race entry, bit selected. 0 == all
RACE=#	// race entry it does double damage to

tags needing to be added

SCRIPT=#	// script number mapping

LIGHT=#		| If # is not 0, then the item is an elemental weapon of this type
RAIN=#		|
SNOW=#		|
LIGHTNING=#	|
HEAT=#		|
COLD=#		|


npc.scp

SHOPLIST=value

weatherab.scp

LIGHTMIN=value
LIGHTMAX=value

commands.scp

[COMMANDLEVELS]
{
GM 10
Counselor 5
Player 0
}

[GM]
{
NICKCOLOUR=0000		// colour of person's nick (hex)
DEFAULTPRIV=0000 	// default privs assigned (hex)
BODYID=0x0190		// default body ID assigned
ALLSKILL=0000		// value that all skills are set to... value of 0 == no change
BODYCOLOUR=0000		// colour of body person turns

races.scp

[RACE #]
{
ARMORREST=#		// tag.. 0 == all, bit shift stuff.  So setting bit 2 and 4 indicates able to use AC 2 and 4
BEARDMIN=#
BEARDMAX=#		// come in pairs, indiciates a hex pair of valid beard colour ranges.  NOTE: Can have multiple pairs of this!
COLDAFFECT		// presence == true
COLDDAMAGE=#		// amount of damage to sustain from the cold
COLDSECS=#		// # secs between cold affects
DEXCAP=#		// dexterity cap
GENDER=value		// value == MALE or FEMALE, leave out for no restriction
HAIRMIN=#
HAIRMAX=#		// same as beard pairing, but for hair colours
HEATAFFECT 		// presence == true
HEATDAMAGE=#		// damage to sustain from heat
HEATSECS=#		// time between heat damage
INTCAP=#		// intelligence cap
LIGHTAFFECT		// presence == true
LIGHTDAMAGE=#		// amount of damage to sustain
LIGHTLEVEL=#		// light level required to sustain damage
LIGHTSECS=#		// number of secs between light damage
LIGHTNINGAFFECT		// presence == true
LIGHTNINGDAMAGE=#	// amt of damage to sustain
LIGHTNINGSECS=#		// time between damage
LANGUAGEMIN=#		// min level of spirit speak required to understand
MAGICRESISTANCE=#	// # is a FLOAT, between 0.0 and 100.0.  % of magic damage resistance
NAME=value		// race name
NOBEARD			// presence == true
NIGHTVIS=#		// light bonus (night vision capable races)
PARENTRACE=#		// grabs all the details of that parent race and applies to current race
PLAYERRACE=#		// 0 == no, else yes
POISONRESISTANCE=#	// float, between 0.0 and 100.0.  % poison damage resistance
REQUIREBEARD		// presence == true
RAINAFFECT		// presence == true
RAINDAMAGE=#		// amt of damage to sustain from rain
RAINSECS=#		// time between damage
RACERELATION=trgRace value	// trgRace == another race name, value == -100 -> 100.  0 == neutral, < 0 == enemy, > 0 == ally
RACIALENEMY=trgRace	// becomes racial enemy, minimum level (ie -1)
RACIALAID=trgRace	// becomes racial ally, minimum level (ie 1)
STRCAP=#		// strength cap
SKINMIN=#		
SKINMAX=#		// same as other colour pairs, but for skin values
SNOWAFFECT		// presence == true
SNOWDAMAGE=#		// amount of damage sustained
SNOWSECS=#		// time between snow damage
VISRANGE=#		// visibility range, defaults to 18
SKILLNAMEG=#		// SKILLNAME == name of skill, gain
SKILLNAMEL=#		// SKILLNAME == name of skill, loss
}

// Dictionary format, used for translation.  Most probably will have multiple dictionaries (per language)
SECTION DICTIONARY CLIENTMSG
{
0=This item is out of charges.
...
}

spells.scp

ACTION=#	// action to perform
ASH=#		// num ash required
CIRCLE=#	// circle it belongs to
DELAY=#		// delay (10 == 1 sec, 20 == 2 sec)
DRAKE=#		// drake required
ENABLE		// presence == true
FLAGS=#		// well.. flags... ;)
GARLIC=#	// garlic required
GINSING=#	// ginsing required
HISKILL=#	// hi skill level
HEALTH=#	// health required
LOSKILL=#	// lo skill level
MANA=#		// mana level required
MANTRA=value	// speech to say
MOSS=#		// moss required
MOVEFX=aa bb cc dd ee	// hex flags, moving effects (if any)
PEARL=#		// pearl required
SHADE=#		// shade required
SILK=#		// silk required
SOUNDFX=aa bb	// hex sound played
STATFX=aa bb cc dd // hex flags, static effect
SCLO=#		// low level scroll requirement
SCHI=#		// high level scroll requirement
STAMINA=#	// stamina required
TARG=#		// what said when target pops up

// FLAGS for flag, add them as required to get what you need.
	// 0x01 - requireTarget
	// 0x02 - reqItemTarget
	// 0x04 - reqLocTarget
	// 0x08 - reqCharTarget
	// 0x10 - travelSpell
	// 0x20 - fieldSpell
	// 0x40 - spellReflectable
	// 0x80 - aggressiveSpell
	// 0x0100 - resistable (unused)

create.scp

[SUBMENU #]
{
MENU #		// sub menus that are displayed, in create.scp.  Points to a MENUENTRY
ITEM #		// item that it is possible to make, in create.scp
}

[ITEM #]
{
COLOUR=#	// hex colour value to display
ID=#		// hex ID value to display
MINRANK=#	// minimum rank value
MAXRANK=#	// maximum rank value
NAME=#		// item name
SOUND=#		// sound to play when made
ADDITEM=#	// item to actually ADD
DELAY=#		// amount of delay, in hundredths of a second (100 = 1 second)
RESOURCE=itemID amtNeeded colour	// multiple entries will work, colour and amtNeeded are optional (if colour specified, so must amtNeeded be)
SKILL=skillNum minSkill maxSkill	// minSkill / maxSkill optional.  Multiple entries allowed
}

[MENUENTRY #]
{
ID #		// hex id
COLOUR #	// hex colour
NAME #		// name
SUBMENU #	// submenu entry
}


scptrig.scp

SECTION SCRIPT_LIST
{
1=filename.js	// script # -> filename mapping

}

spawn.scp

REGION spawns MUST conform to the following format

[REGIONSPAWN]
{

}

server.scp

SECTION GUMPS
{
TITLECOLOUR #	// hex colour
LEFTTEXTCOLOUR #	// hex colour
RIGHTTEXTCOLOUR #	// hex colour
BUTTONCANCEL #		// gump ID for cancel button
BUTTONLEFT #		// gump ID for left button
BUTTONRIGHT #		// gump ID for right button
BACKGROUNDPIC #		// gump ID for background pic
}
SECTION TOWNS
{
POLLTIME #		// time that polls are open for (seconds)
MAYORTIME #		// time that person is mayor for (seconds)
TAXPERIOD #		// num seconds between tax periods
GUARDSPAID #		// amount of resources that the guards are paid
}

titles.scp

[MURDERER]
{
loThreshold value
loThreshold value
}

eg
[MURDERER]
{
5 The Murderer
10 The Serial Killer
20 The Nazi
50 The Hitler
100 The Mass Murderer
}