;
; SPELLS
;
;
;-------------------
; Spells used in the game.  Each line describes one spell
;
; Mandatory arguments are:
;
; 	//	arg0	ID# (1-767)			// unique ID number of spell
;
;		* ID #
;
;		Each spell must have a unique ID number between 1 and 767 (which is a strange value, I know
;		but it has historical significance :-)
;
;  		Spell 0 is a very special entry in the table which is actually a set of algorithm tweaks.
;		Read monsters.txt for more details about algorithm tweaks.
;
;	//	arg1	name[MAX_SPELL_NAME_LEN];  // name of spell, as it appears on screen. 
;
;	//	arg2	ppCost;				// Play Points (Whack Points) required to learn spell 
;									//  -1  means "spell cannot be learned" (can be given as a quest reward only)
;									//   0  means "cost determined automatically from spell's level"
;									//  n>0 Means "cost is n PP" 
;									// An "unlearnable" spell simply doesn't appear in the Learn Spells dialog.
;
;	//	arg3	element;			// Spells element ID#: 0-255.  
;									// A spell will be most effective when cast against the opposing
;									// element.  Actual element definitions are in the ELEMENTS table.
;									// Special Element IDs are:
;									//   0 - HEAL spell (cannot be used to cause damage)
;									//   4 - DEATH spell (affects all elements equally)
;									//  8-255  CHAOS elements (use DEATH element training for effectiveness)
;									// Chaos elements are intended to let you have more variety in monsters, such
;									// that some spells are only cast by one or two monsters.
;									// Chaos spells cannot be learned.  They can only be assigned by table, or
;									// given as quest prizes (and it's a bad idea to give chaos spells to players
;									// since they have no explicit chaos selector on the SPELLs panel.)
;									// In fact, it is ILLEGAL for a human to know a chaos spell.  period
;
;	//	arg4	damage.monsterID		// pure attack strength (before defense filtering)
;									// damage determins nature of spell
;									// optional monsterID is used by SUMMON_SPECIFIC 
;
;					The damage argument is also used to specify certain special effect spells
;					which do not cause regular damage or do one-of-a-kind things
;					Generall, a negative value indicates a specialty spell.  These are
;					called 'diseases' just to give them a general name.
;
;					Damage			// Specialty
;
;						 0			damage computed automatically from level (preferred value if not HEAL spell)
;
;						-1			RESURRECTION		(brings dead to life, with 1 HP)
;
;						-2			DISEASE_POISON		(Makes HP restores ineffective)		
;						-3			DISEASE_SAP			(Makes Spells cost more MP to cast)		
;						-4			DISEASE_STUN		(cannot move, or attack)
;						-5			DISEASE_GAG			(cannot case spells)(* wears off)		
;						-6			DISEASE_NUMB		(cannot use right-hand)(* wears off)
;						-7			DISEASE_SLEEP		(cannot move, or attack)(* wears off)	
;						-8			DISEASE_CONFUSE		(attacks may hit friends)(* wears off)	
;						-9			DISEASE_CHARM		(once charmed, monster fights for you)	
;						-10			DISEASE_TAME		(taming a charmed monster makes it a pet)(NOT IMPLEMENTED YET)	
;						-11			DISEASE_FREEZE		(cannot move)
;						-20			DISEASE_STRENGTH	(lowers strenth til end of scene) (cure raises it)
;						-21			DISEASE_WISDOM		(lowers wisdom til end of scene) (cure raises it)	
;						-22			DISEASE_STAMINA		(lowers stamina til end of scene) (cure raises it)	
;						-23			DISEASE_AGILITY		(lowers agility til end of scene) (cure raises it)
;						-24			DISEASE_DEXTERITY	(lowers dexterity til end of scene) (cure raises it)	
;						-200		SUMMON_SAME			Summon a monster of same type as caster
;						-201		SUMMON_SAME_ELEMENT	Summon a monster of the same element as caster
;						-202		SUMMON_RANDOM		Summon a random monster at or below level of caster (within 10 levels)
;						-203		SUMMON_SPECIFIC		Summon a specific monster (monster id in optional dotted arg)
;						-300		SUMMON_ITEM			Summon an item to be used on the target (item id in dotteg arg)
;
;					Most 'diseases' wear off when you leave the scene, however each disease can be 'cured'
;					by a spell whose 'damage' argument is the disease damage plus -100.  For
;					example, "-102" would cure poisoning (-2), and "-107" would cure sleep (-7)
;					Not all diseases have a logical cure (for example, there is no cure for 
;					resurrection (-1)
;
;					Some diseases(*) wear off after awhile, even if you don't leave the scene.
;
;					The 5 ability diseases are a little different as they lower (or raise, if a cure)
;					your ability a certain percentage with each use.  Hence repeated lowerings has
;					an larger effect.
;
;					Note, except for specialty spells (negative damage value) and LIFE spells, this
;					field is now ignored as regular damage is computed automatically
;	//  arg5	price;				// mp required to cast
;									//  0 = determined automatically, based on spell level
;									// this is now determined automatically and this entry is ignored
;
;	//	arg6	reqLevel+All.flags.minPlayerLevel.tokenNeeded	// minimum required elemental affinity (0-9) to cast it.
;									// [optional]add 100 if it affects ALL enemies
;											105  = level 5 required, and affects all on same team as target
;											(note this means you cannot make a spell require player level 100)
;									// [optional]add a decimal point followed by a spell FLAG
;											5.1	 = level 5 required, and is controlled by flag '1'
;											5.3  = level 5 required, flags 1 AND 2 (1+2 = 3)
;									// SPELL FLAGS: (add together all you want)
;											0 = no flags (in case you want to use minPLayerLevel option)
;											1 = monsters/pets cannot use this spell
;											2 = humans are not offered this spell on LEARN SPELL dialog
;											4 = this spell can only be used on yourself
;									// minPlayerLevel (assumed 0 unless you specify) character must be this level in class (or above)
;											5.0.12  = level 5 element training, no flags, level 12 character required
;									// tokenNeeded (assumed 0, which means no special token needed.  Otherwise spell is only in
;													the learn Spells list if the player has the specified token
;											5.0.0.7  = requires token 7 before it appears in list.
;
;				so... for example, a value of "107.1" would mean:
;
;						* element training level 7 or higher required to cast this spell
;						* when cast, it affects ALL members of the targeted team (following the same leader)
;						* monster/pets cannot learn/use this spell. (but humans can)
;
; the rest are optional and control the 'look' of the effect
;
;	//	arg7	path;				// path style (9 digit decimal number AAABBBCDD)
;
;					DD	'cloud' shape of magic in motion
;					00 - tight random cloud
;					01	- looser random cloud
;					02 - loose random cloud
;					03 - single circle
;					04 - two circles
;
;					C	Accumulation of magic around caster, before it 'launches'
;					0	- accumulate over caster
;					1	- accumulate within caster
;					2	- accumulate under caster
;		
;					BBB Travel Path
;					000 - straight line
;					001 - looser line
;					002 - looser line
;					003 - loose line
;					004 - slow wavy
;					005 - medium wavy
;					006 - faster wavy
;					007 - fast wavy
;					008 - spiral
;					009 - spiral
;					010 - spiral
;					011 - spiral
;					012 - column at foot of target
;					013 - column at head of target
;					014 - column at top of screen (use gravity)
;					015 - column at bottom of screen (use gravity)
;					016 - column at random between foot and head
;					017 - column at random between foot and top of screen
;
;					AAA Attack Path
;					000 - random cloud
;					001	- looser random cloud
;					002 - loose random cloud
;					003 - single circle
;					004 - two circles
;
; For example:   
;
;		004(2circ) + 011(spiral) + 2(under) + 04(2circ) 
;
; would be written:  004011204, or just 4011204
;
;	//	arg8	row; (0-199)		// row of effects table to use
;									// Magical effects are animated from a film-strip of up to 16
;									// images which are played from left to right.  Up to 200 such
;									// film-strips may be defined by the world designer.  Rather than
;									// cram all 200 filmstrips into a single file, they are broken
;									// into groups of ten and placed in files with the name:
;									// "EffectsNN.bmp" where NN runs from 00 to 19 and represents the
;									// first two digits of the effect 'row number' (000-199)
;									// For example, row 45 would be at offset 5 in the file "Effects04.bmp"
;									// Effects files 00 through 09 are stored in the evergreen ART folder
;									// and are reserved for the use of synthetic-reality (feel free to submit
;									// cool effects to be added).  World designers should put their custom
;									// effects into the files "effects10.bmp" through "effects19.bmp" and
;									// place them in the world's private ART folder (this means world designers
;									// control rows 100-199).
; 
;									// effects are 16x16 graphical glyphs stored in a separate
;									// row within the file. Columns represent individual images
;									// of the animation and are generally shown left to right.
;									// It would probably be most useful to open art\effects00.bmp and
;									// look at it for illumination.
;
;	//	arg9	maxCols; (1-31)		// # of columns to use (of the selected row in effects.bmp)
;	//	arg10	maxFx;	(0 - 100)	// # of trails to remember (increases the 'amount' of sparkles)
;	//	arg11	tixPerCol;			// step time between columns (in msec)
;									// controls the speed of the animation through the current row.
;	//	arg12	gravity;			<gravity>.<effects>.<weather>
;									Three 'dotted arguments' specifyng the gravity, special effects, and
;									weather present while the spell is being cast.  The format has changed,
;									but the values are the same as the old style:
;
;									// OLD STYLE ARG12 (pre-A57) was a 9 digit number AAABBBCCC
;									// gravity style controls 'dripping' behaviour(0 is none)
;
;					CCC
;					000	- no gravity
;					001	- magic falls slowly
;					002	- falls faster
;					003	- falls very fast
;					004   - falls way too fast
;					005	- magic RISEs slowly
;					006	- rises faster
;					007	- rises very fast
;					008	- rises way too fast
;
;					BBB
;					xxx	- FX modifier
;		
;					AAA
;					xxx - weather modifier
;			
;	//	arg13	loop;				// loop style (0 is none)
;
; these optional parameters control the SOUND of the spell
;
;	//  arg 14	sfxSummon[80];		// sound of spell being summoned	"summon.wav"
;	//  arg 15	sfxTravel[80];		// sound of spell traveling			"travel.wav"
;	//  arg 16	sfxStrike[80];		// sound of spell striking target	"strike,wav"
;
; SPELL ZERO
;
; There is no real spell zero, this line just sets some percentage tweaks which can be used to adjust the 
; algorithmically derived values.
;
; You can adjust: PP Cost, Damage (painful spells only), and MP Cost
;
;arg0	arg1				
;0,	"Medic"		
;1,	"Water"			
;2,	"Shield"			
;3,	"Earth"			
;4,	"Death"		
;5,	"Fire"		
;6,	"Wind"		
;7,	"Shock"		
;0	1			2	3	4	5	6		7     		8        	9	10	11	12	13	14			15			16
;ID	Name			PP	ELE	DAM	MP	LEV		PTH 		ROW 	COL 	*s	ms	GRV	LOOP	summon.wav		travel.wav		strike.wav
	0,	"Algorithm Scale %",150,0,	100,	100,0,		,		,	,	,	,		,		,		,			,			,			
;MEDIC
	1,	"Homing Torpedo",	0,	1,	0,		10,		3.2,	004006100,190,	8,	20,	100,	000,	0,		summon1.wav,BoomerAttack.wav,boom2.wav,	
	2,	"Magnet Mines",		0,	7,	0,		10,		5.2,	004006100,191,	8,	20,	100,	000,	0,		summon1.wav,ChameleonAttack.wav,boom2.wav,	
	3,	"Power Bomb",		0,	4,	0,		10,		7.2,	004006100,192,	8,	20,	100,	000,	0,		summon1.wav,MandrillPain.wav,MandrillAttack.wav,
	4,	"Ground Hunter",		0,	3,	0,		10,		8.2,	004006100,193,	8,	20,	100,	000,	0,		summon1.wav,OctopusAttack.wav,boom2.wav,	
	5,	"Life Seeker",		0,	5,	0,		10,		9.2,	004006100,194,	8,	20,	100,	000,	0,		summon1.wav,BoomerAttack.wav,NEUTRON.WAV,
	89,	"Minor Repairs",		0,	0,	50,	 	2,		0.0,	004000100,195,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,EnergyUp.wav,
	90,	"Enhance Dexterity",0,	0,	-124,	5,		1.0,	004001101,196,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,MagicUp.wav,
	91,	"Enhance Agility",	0,	0,	-123,	5,		2.0,	003002102,196,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,MagicUp.wav,
	92, "Normal Repairs",	0,	0,	100, 	5,		3.0,	003003103,195,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,EnergyUp.wav,
	93,	"Enhance Stamina",	0,	0,	-122,	5,		3.0,	002004104,196,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,MagicUp.wav,
	94, "Repair All",		0,	0,	 500,	15,		105.0,	002005100,195,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,EnergyUp.wav,
	95,	"Enhance Strength",	0,	0,	-120,	5,		6.0,	001006101,196,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,MagicUp.wav,
	96, "Full Repairs",		0,	0,	3000,	15,		7.1,	001007102,195,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,EnergyUp.wav,		
	97,	"Enhance Wisdom",	0,	0,	-121,	5,		8.0,	000008103,196,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,MagicUp.wav,
	98, "Rebuild",			0,	0,	-1,		15,		8.0,	000009104,195,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,EnergyUp.wav,
	99, "Full Repair All",	0,	0,	3000,	20,		109.1,	000010100,195,	8,	50,	100,	1000,	0,		summon1.wav,BoomerAttack.wav,EnergyUp.wav,			
;WATER
	100,"Stabbing Ice",		0,	1,	0,	10,	3.2,	004006100,13,	8,	20,	100,	000,	0,		summon1.wav,PenguinAttack.wav,magic7.wav,	
	101,"Bubble Shot",		0,	1,	0,	10,	5.2,	004006100,14,	8,	20,	100,	000,	0,		summon1.wav,summon8.wav,MandrillPain.wav,
	102,"Frost Stab",		0,	1,	0,	10,	7.2,	004006100,13,	8,	20,	100,	000,	0,		summon1.wav,PenguinAttack.wav,magic7.wav,
	103,"Frost Tear",		0,	1,	0,	10,	8.2,	004006100,14,	8,	20,	100,	000,	0,		summon1.wav,summon8.wav,MandrillPain.wav,
	104,"Frozen Hope",		0,	1,	0,	10,	9.2,	004006100,13,	8,	20,	100,	000,	0,		summon1.wav,PenguinAttack.wav,magic7.wav,
;SHIELD
	200,"Chaos Sting",		0,	2,	0,	10,	3.2,	004006100,18,	8,	20,	100,	000,	0,		,			,			,			
	201,"Crystal Heave",		0,	2,	0,	10,	5.2,	004006100,180,	8,	20,	100,	000,	0,		,			,			,			
	202,"Seize Blades",		0,	2,	0,	10,	7.2,	004006100,183,	8,	20,	100,	000,	0,		,			,			,			
	203,"Soul Body",			0,	2,	0,	10,	8.2,	004006100,182,	8,	20,	100,	000,	0,		,			,			,			
	204,"Hypno Press",		0,	2,	0,	10,	9.2,		004006100,	192,	8,	20,	100,	000,	0,		,			,			,	
;EARTH
	300,"Rolling Smash",		0,	3,	0,	10,	3.2,	004006100,182,	8,	20,	100,	000,	0,		,			,			,			
	301,"Metal Wheel",		0,	3,	0,	10,	5.2,	004006100,10,	8,	20,	100,	000,	0,		,			,			,			
	302,"Ray Smasher",		0,	3,	0,	10,	7.2,	004006100,2,	8,	20,	100,	000,	0,		,			,			,			
	303,"Aiming Laser",		0,	3,	0,	10,	8.2,	004006100,181,	8,	20,	100,	000,	0,		,			,			,			
	304,"Crush Hammer",		0,	3,	0,	10,	9.2,	004006100,192,	8,	20,	100,	000,	0,		,			,			,			
;DEATH
	400,"Boomerang Cutter",	0,	4,	0,	10,	3.2,	004006100,183,8,	20,	100,	000,	0,		,			,			,			
	401,"Sand Slicer",		0,	4,	0,	10,	5.2,	004006100,183,8,	20,	100,	000,	0,		,			,			,			
	402,"Gravity Blade",		0,	4,	0,	10,	7.2,	004006100,183,8,	20,	100,	000,	0,		,			,			,			
	403,"Tiger Slasher",		0,	4,	0,	10,	8.2,	004006100,183,8,	20,	100,	000,	0,		,			,			,			
	404,"Doom Chopper",		0,	4,	0,	10,	9.2,	004006100,183,8,	20,	100,	000,	0,		,			,			,			
;
	485,"Rust 1.8",			0,	4,	-2,		5,	1.1,	0,		76,	11,	 80,	100,	0,	0,		"",			"",			""
	486,"Waste 1.6",			0,	4,	-3,		5,	4.1,	203,	23,	11,	 80,	100,	0,	0,		"",			"",			""
	487,"Shutdown 2.0",		0,	4,	-4,		20,	7.1,	0,		23,	11,	 80,	100,	0,	0,		"",			"",			""
	488,"Degrade 1.2",		0,	4,	-5, 	15,	5.1,	0,		78,	11,	 80,	100,	5,	0,		"",			"",			""
	489,"Cripple 1.3",		0,	4,	-6,		15,	6.1,	0,		7,	11,	 80,	100,	0,	0,		"",			"",			""
	490,"Reboot 1.0",		0,	4,	-7,		10,	7.1,	0,		21,	11,	 80,	100,	0,	0,		,			,			,			
	491,"Berzerk 1.1",		0,	4,	-8,		15,	3.1,	0,		23,	11,	 80,	100,	5,	0,		,			,			,			
	492,"Overide 1.7",		0,	4,	-9,		20,	4.1,	0,		81,	11,	 80,	100,	5,	0,		,			,			,			
	493,"Reprogram 1.9",		0,	4,	-10,	20,	7.1,	0,		84,	11,	 80,	100,	5,	0,		,			,			,			
	494,"Seize 1.4",			0,	4,	-11,	15,	2.1,	0,		7,	11,	 80,	100,	0,	0,		"",			"",			""
	495,"Neutralize 1.0",	0,	4,	-21		10,	2.1,	0,		81,	11,	 80,	100,	5,	0,		"",			"",			""
	496,"Chaff 1.2",			0,	4,	-24,	10,	1.1,	5000,	81,	11,	 80,	100,	1,	0,		"",			"",			""
	497,"Demobilize 1.4",	0,	4,	-23,	10,	3.1,	5000,	1,	11,	 80,	100,	1,	0,		"",			"",			""
	498,"De-Armor 1.6",		0,	4,	-22,	10,	5.1,	5000,	81,	11,	 80,	100,	1,	0,		"",			"",			""
	499,"Disarm 1.8",		0,	4,	-20,	10,	7.1,	5000,	81,	11,	 80,	100,	1,	0,		"",			"",			""

;FIRE
	500,"Flame Wall",		0,	5,	0,	10,	3.2,	004006100,184,8,	20,	100,	000,	0,		,			,			,			
	501,"Torch Burner",		0,	5,	0,	10,	5.2,	004006100,	0,	8,	20,	100,	000,	0,		,			,			,			
	502,"Soul Fang",			0,	5,	0,	10,	7.2,	004006100,184,8,	20,	100,	000,	0,		,			,			,			
	503,"Rolling Fire",		0,	5,	0,	10,	8.2,	004006100,	0,	8,	20,	100,	000,	0,		,			,			,			
	504,"Death Inferno",		0,	5,	0,	10,	9.2,	004006100,184,	8,	20,	100,	000,	0,		,			,			,			
;WIND
	600,"Storm Twister",		0,	6,	0,	10,	3.2,	004006100,185,	8,	20,	100,	000,	0,		,			,			,			
	601,"Silk Shot",			0,	6,	0,	10,	5.2,	004006100,185,	8,	20,	100,	000,	0,		,			,			,			
	602,"Acid Blast",		0,	6,	0,	10,	7.2,	004006100,2,	8,	20,	100,	000,	0,		,			,			,			
	603,"Dual Cyclone",		0,	6,	0,	10,	8.2,	004006100,185,	8,	20,	100,	000,	0,		,			,			,			
	604,"Typhoon Blast",		0,	6,	0,	10,	9.2,	004006100,185,	8,	20,	100,	000,	0,		,			,			,			
	666,"Ultimate End",		0,	4,	2000,1,	101.3,	004006100,85,	8,	20,	100,	000,	0,		summon1.wav,RobowolfPain.wav,ArmadilloPain.wav,
;SHOCK
	700,"Electric Spark",	0,	7,	0,	10,	3.2,	004006100,2,	8,	20,	100,	000,	0,		,			,			,			
	701,"Shock Chain",		0,	7,	0,	10,	5.2,	004006100,2,	8,	20,	100,	000,	0,		,			,			,			
	702,"Bolt Triad",		0,	7,	0,	10,	7.2,	004006100,2,	8,	20,	100,	000,	0,		,			,			,			
	703,"Lightning Wave",	0,	7,	0,	10,	8.2,	004006100,2,	8,	20,	100,	000,	0,		,			,			,			
	704,"Massive Jolt",		0,	7,	0,	10,	9.2,	004006100,2,	8,	20,	100,	000,	0,		,			,			,			
;SPECIAL
	758, "Charge Shot Mk 1",		0,	4,	0,	5,	0.1,	000000102,	197,	11,	80,	100,	0,	0,		specialcharge.wav,special2.wav,ArmadilloPain.wav,
	759, "Charge Shot Mk 2",		0,	4,	0,	5,	101.1,	000000102,	197,	11,	80,	100,	0,	0,		specialcharge.wav,special2.wav,ArmadilloPain.wav,
	760, "Charge Shot Mk 3",		0,	4,	0,	5,	2.1,	000000102,	197,	11,	80,	100,	0,	0,		specialcharge.wav,special2.wav,ArmadilloPain.wav,
	761, "Charge Shot Mk 4",		0,	4,	0,	5,	103.1,	000000102,	197,	11,	80,	100,	0,	0,		specialcharge.wav,special2.wav,ArmadilloPain.wav,
	762, "Charge Shot Mk 5",		0,	4,	0,	5,	4.1,	000000102,	198,	11,	80,	100,	0,	0,		specialcharge.wav,special1.wav,ArmadilloPain.wav,
	763, "Charge Shot Mk 6",		0,	4,	0,	5,	105.1,	000000102,	198,	11,	80,	100,	0,	0,		specialcharge.wav,special1.wav,ArmadilloPain.wav,
	764, "Charge Shot Mk 7",		0,	4,	0,	5,	6.1,	000000102,	198,	11,	80,	100,	0,	0,		specialcharge.wav,special1.wav,ArmadilloPain.wav,
	765, "Charge Shot Mk 8",		0,	4,	0,	5,	107.1,	000000102,	198,	11,	80,	100,	0,	0,		specialcharge.wav,special1.wav,ArmadilloPain.wav,
	766, "Charge Shot Mk 9",		0,	4,	0,	5,	8.1,	000000102,	198,	11,	80,	100,	0,	0,		specialcharge.wav,special1.wav,ArmadilloPain.wav,
	767, "Charge Shot OMEGA",	0,	4,	0,	5,	109.1,	000000102,	199,	11,	80,	100,	0,	0,		specialcharge.wav,special1.wav,ArmadilloPain.wav,			
;