dba/doc/
dba/doc/old/MPDocs/
dba/src/old_files/
 /***************************************************************************
 *  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,        *
 *  Michael Seifert, Hans Henrik Strfeldt, Tom Madsen, and Katja Nyboe.    *
 *                                                                         *
 *  Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael          *
 *  Chastain, Michael Quan, and Mitchell Tse.                              *
 *                                                                         *
 *  In order to use any part of this Merc Diku Mud, you must comply with   *
 *  both the original Diku license in 'license.doc' as well the Merc       *
 *  license in 'license.txt'.  In particular, you may not remove either of *
 *  these copyright notices.                                               *
 *                                                                         *
 *  Much time and thought has gone into this software and you are          *
 *  benefitting.  We hope that you share your changes too.  What goes      *
 *  around, comes around.                                                  *
 **************************************************************************/

/***************************************************************************
 *   ROM 2.4 is copyright 1993-1998 Russ Taylor                            *
 *   ROM has been brought to you by the ROM consortium                     *
 *       Russ Taylor (rtaylor@hypercube.org)                               *
 *       Gabrielle Taylor (gtaylor@hypercube.org)                          *
 *       Brian Moore (zump@rom.org)                                        *
 *   By using this code, you have agreed to follow the terms of the        *
 *   ROM license, in the file Rom24/doc/rom.license                        *
 **************************************************************************/

#if defined(macintosh)
#include <types.h>
#else
#include <sys/types.h>
#endif
#include <stdio.h>
#include <time.h>
#include "merc.h"
#include "interp.h"


/* item type list */
const struct item_type item_table[] = {
    {ITEM_LIGHT, "light"},
    {ITEM_SCROLL, "scroll"},
    {ITEM_WAND, "wand"},
    {ITEM_STAFF, "staff"},
    {ITEM_WEAPON, "weapon"},
    {ITEM_TREASURE, "treasure"},
    {ITEM_ARMOR, "armor"},
    {ITEM_POTION, "potion"},
    {ITEM_CLOTHING, "clothing"},
    {ITEM_FURNITURE, "furniture"},
    {ITEM_TRASH, "trash"},
    {ITEM_CONTAINER, "container"},
    {ITEM_DRINK_CON, "drink"},
    {ITEM_KEY, "key"},
    {ITEM_FOOD, "food"},
    {ITEM_MONEY, "money"},
    {ITEM_BOAT, "boat"},
    {ITEM_CORPSE_NPC, "npc_corpse"},
    {ITEM_CORPSE_PC, "pc_corpse"},
    {ITEM_FOUNTAIN, "fountain"},
    {ITEM_PILL, "pill"},
    {ITEM_PROTECT, "protect"},
    {ITEM_MAP, "map"},
    {ITEM_PORTAL, "portal"},
    {ITEM_WARP_STONE, "warp_stone"},
    {ITEM_ROOM_KEY, "room_key"},
    {ITEM_GEM, "gem"},
    {ITEM_JEWELRY, "jewelry"},
    {ITEM_JUKEBOX, "jukebox"},
    {0, NULL}
};


/* weapon selection table */
const struct weapon_type weapon_table[] = {
    {"sword", OBJ_VNUM_SCHOOL_SWORD, WEAPON_SWORD, &gsn_sword},
    {"mace", OBJ_VNUM_SCHOOL_MACE, WEAPON_MACE, &gsn_mace},
    {"dagger", OBJ_VNUM_SCHOOL_DAGGER, WEAPON_DAGGER, &gsn_dagger},
    {"axe", OBJ_VNUM_SCHOOL_AXE, WEAPON_AXE, &gsn_axe},
    {"staff", OBJ_VNUM_SCHOOL_STAFF, WEAPON_SPEAR, &gsn_spear},
    {"flail", OBJ_VNUM_SCHOOL_FLAIL, WEAPON_FLAIL, &gsn_flail},
    {"whip", OBJ_VNUM_SCHOOL_WHIP, WEAPON_WHIP, &gsn_whip},
    {"polearm", OBJ_VNUM_SCHOOL_POLEARM, WEAPON_POLEARM, &gsn_polearm},
    {NULL, 0, 0, NULL}
};



/* wiznet table and prototype for future flag setting */
const struct wiznet_type wiznet_table[] = {
    {"on", WIZ_ON, IM},
    {"prefix", WIZ_PREFIX, IM},
    {"ticks", WIZ_TICKS, IM},
    {"logins", WIZ_LOGINS, IM},
    {"sites", WIZ_SITES, L2},
    {"links", WIZ_LINKS, IM},
    {"newbies", WIZ_NEWBIE, IM},
    {"spam", WIZ_SPAM, IM},
    {"deaths", WIZ_DEATHS, IM},
    {"resets", WIZ_RESETS, L2},
    {"memcheck", WIZ_MEMCHECK, L1},
	{"mobdeaths", WIZ_MOBDEATHS, IM},
    {"flags", WIZ_FLAGS, IM},
    {"penalties", WIZ_PENALTIES, IM},
    {"saccing", WIZ_SACCING, IM},
    {"levels", WIZ_LEVELS, IM},
    {"load", WIZ_LOAD, L1},
    {"restore", WIZ_RESTORE, L1},
    {"snoops", WIZ_SNOOPS, L1},
    {"switches", WIZ_SWITCHES, L1},
    {"secure", WIZ_SECURE, L1},
    {NULL, 0, 0}
};

/* attack table  -- not very organized :( */
const struct attack_type attack_table[MAX_DAMAGE_MESSAGE] = {
    {"none",      "hit",           -1},          /*  0 */
    {"slice",     "slice",         DAM_SLASH},
    {"stab",      "stab",          DAM_PIERCE},
    {"slash",     "slash",         DAM_SLASH},
    {"whip",      "whip",          DAM_SLASH},
    {"claw",      "claw",          DAM_SLASH},   /*  5 */
    {"blast",     "blast",         DAM_BASH},
    {"pound",     "pound",         DAM_BASH},
    {"crush",     "crush",         DAM_BASH},
    {"grep",      "grep",          DAM_SLASH},
    {"bite",      "bite",          DAM_PIERCE},  /* 10 */
    {"pierce",    "pierce",        DAM_PIERCE},
    {"suction",   "suction",       DAM_BASH},
    {"beating",   "beating",       DAM_BASH},
    {"digestion", "digestion",     DAM_ACID},
    {"charge",    "charge",        DAM_BASH},    /* 15 */
    {"slap",      "slap",          DAM_BASH},
    {"punch",     "punch",         DAM_BASH},
    {"wrath",     "wrath",         DAM_ENERGY},
    {"magic",     "magic",         DAM_ENERGY},
    {"divine",    "divine power",  DAM_HOLY},    /* 20 */
    {"cleave",    "cleave",        DAM_SLASH},
    {"scratch",   "scratch",       DAM_PIERCE},
    {"peck",      "peck",          DAM_PIERCE},
    {"peckb",     "peck",          DAM_BASH},
    {"chop",      "chop",          DAM_SLASH},   /* 25 */
    {"sting",     "sting",         DAM_PIERCE},
    {"smash",     "smash",         DAM_BASH},
    {"shbite",    "shocking bite", DAM_LIGHTNING},
    {"flbite",    "flaming bite",  DAM_FIRE},
    {"frbite",    "freezing bite", DAM_COLD},    /* 30 */
    {"acbite",    "acidic bite",   DAM_ACID},
    {"chomp",     "chomp",         DAM_PIERCE},
    {"drain",     "life drain",    DAM_NEGATIVE},
    {"thrust",    "thrust",        DAM_PIERCE},
    {"slime",     "slime",         DAM_ACID},
    {"shock",     "shock",         DAM_LIGHTNING},
    {"thwack",    "thwack",        DAM_BASH},
    {"flame",     "flame",         DAM_FIRE},
    {"chill",     "chill",         DAM_COLD},
    {NULL,        NULL,            0}
};

/* race table */
const struct race_type race_table[] = {
/*
    {
    name,        pc_race?,
    act bits,    aff_by bits,    off bits,
    imm,        res,        vuln,
    form,        parts 
    },
*/
    {"unique", FALSE, 0, 0, 0, 0, 0, 0, 0, 0, FALSE},

    {
     "human", TRUE,
     0, 0, 0,
     0, 0, 0,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, TRUE},

    {
     "saiya-jin", TRUE,
     0, 0, 0,
     0, 0, 0,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, TRUE},
     
    {
     "namek", TRUE,
     0, 0, 0,
     0, 0, 0,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, TRUE},
    
    {
     "half-breed", TRUE,
     0, 0, 0,
     0, 0, 0,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, TRUE},

    {
     "icer", TRUE,
     0, 0, 0,
     0, 0, 0,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, TRUE},
     
    {
     "majin", TRUE,
     0, 0, 0,
     0, 0, 0,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, FALSE},
     
    {
     "android", TRUE,
     0, 0, 0,
     0, 0, 0,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, TRUE},
     
    {
     "bio-android", TRUE,
     0, 0, 0,
     0, 0, 0,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, TRUE},
     
    {
     "elf", FALSE,
     0, AFF_INFRARED, 0,
     0, RES_CHARM, VULN_IRON,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, FALSE},

    {
     "dwarf", FALSE,
     0, AFF_INFRARED, 0,
     0, RES_POISON | RES_DISEASE, VULN_DROWNING,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, FALSE},

    {
     "giant", FALSE,
     0, 0, 0,
     0, RES_FIRE | RES_COLD, VULN_MENTAL | VULN_LIGHTNING,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, FALSE},

    {
     "bat", FALSE,
     0, AFF_FLYING | AFF_DARK_VISION, OFF_DODGE | OFF_FAST,
     0, 0, VULN_LIGHT,
     A | G | V, A | C | D | E | F | H | J | K | P, FALSE},

    {
     "bear", FALSE,
     0, 0, OFF_CRUSH | OFF_DISARM | OFF_BERSERK,
     0, RES_BASH | RES_COLD, 0,
     A | G | V, A | B | C | D | E | F | H | J | K | U | V, FALSE},

    {
     "cat", FALSE,
     0, AFF_DARK_VISION, OFF_FAST | OFF_DODGE,
     0, 0, 0,
     A | G | V, A | C | D | E | F | H | J | K | Q | U | V, FALSE},

    {
     "centipede", FALSE,
     0, AFF_DARK_VISION, 0,
     0, RES_PIERCE | RES_COLD, VULN_BASH,
     A | B | G | O, A | C | K, FALSE},

    {
     "dog", FALSE,
     0, 0, OFF_FAST,
     0, 0, 0,
     A | G | V, A | C | D | E | F | H | J | K | U | V, FALSE},

    {
     "doll", FALSE,
     0, 0, 0,
     IMM_COLD | IMM_POISON | IMM_HOLY | IMM_NEGATIVE | IMM_MENTAL |
     IMM_DISEASE | IMM_DROWNING, RES_BASH | RES_LIGHT,
     VULN_SLASH | VULN_FIRE | VULN_ACID | VULN_LIGHTNING | VULN_ENERGY,
     E | J | M | cc, A | B | C | G | H | K, FALSE},

    {"dragon", FALSE,
     0, AFF_INFRARED | AFF_FLYING, 0,
     0, RES_FIRE | RES_BASH | RES_CHARM,
     VULN_PIERCE | VULN_COLD,
     A | H | Z, A | C | D | E | F | G | H | I | J | K | P | Q | U | V | X, FALSE},

    {
     "fido", FALSE,
     0, 0, OFF_DODGE | ASSIST_RACE,
     0, 0, VULN_MAGIC,
     A | B | G | V, A | C | D | E | F | H | J | K | Q | V, FALSE},

    {
     "fox", FALSE,
     0, AFF_DARK_VISION, OFF_FAST | OFF_DODGE,
     0, 0, 0,
     A | G | V, A | C | D | E | F | H | J | K | Q | V, FALSE},

    {
     "goblin", FALSE,
     0, AFF_INFRARED, 0,
     0, RES_DISEASE, VULN_MAGIC,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, FALSE},

    {
     "hobgoblin", FALSE,
     0, AFF_INFRARED, 0,
     0, RES_DISEASE | RES_POISON, 0,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K | Y, FALSE},

    {
     "kobold", FALSE,
     0, AFF_INFRARED, 0,
     0, RES_POISON, VULN_MAGIC,
     A | B | H | M | V, A | B | C | D | E | F | G | H | I | J | K | Q, FALSE},

    {
     "lizard", FALSE,
     0, 0, 0,
     0, RES_POISON, VULN_COLD,
     A | G | X | cc, A | C | D | E | F | H | K | Q | V, FALSE},

    {
     "modron", FALSE,
     0, AFF_INFRARED, ASSIST_RACE | ASSIST_ALIGN,
     IMM_CHARM | IMM_DISEASE | IMM_MENTAL | IMM_HOLY | IMM_NEGATIVE,
     RES_FIRE | RES_COLD | RES_ACID, 0,
     H, A | B | C | G | H | J | K, FALSE},

    {
     "orc", FALSE,
     0, AFF_INFRARED, 0,
     0, RES_DISEASE, VULN_LIGHT,
     A | H | M | V, A | B | C | D | E | F | G | H | I | J | K, FALSE},

    {
     "pig", FALSE,
     0, 0, 0,
     0, 0, 0,
     A | G | V, A | C | D | E | F | H | J | K, FALSE},

    {
     "rabbit", FALSE,
     0, 0, OFF_DODGE | OFF_FAST,
     0, 0, 0,
     A | G | V, A | C | D | E | F | H | J | K, FALSE},

    {
     "school monster", FALSE,
     ACT_NOALIGN, 0, 0,
     IMM_CHARM | IMM_SUMMON, 0, VULN_MAGIC,
     A | M | V, A | B | C | D | E | F | H | J | K | Q | U, FALSE},

    {
     "snake", FALSE,
     0, 0, 0,
     0, RES_POISON, VULN_COLD,
     A | G | X | Y | cc, A | D | E | F | K | L | Q | V | X, FALSE},

    {
     "song bird", FALSE,
     0, AFF_FLYING, OFF_FAST | OFF_DODGE,
     0, 0, 0,
     A | G | W, A | C | D | E | F | H | K | P, FALSE},

    {
     "troll", FALSE,
     0, AFF_REGENERATION | AFF_INFRARED | AFF_DETECT_HIDDEN,
     OFF_BERSERK,
     0, RES_CHARM | RES_BASH, VULN_FIRE | VULN_ACID,
     A | B | H | M | V, A | B | C | D | E | F | G | H | I | J | K | U | V, FALSE},

    {
     "water fowl", FALSE,
     0, AFF_SWIM | AFF_FLYING, 0,
     0, RES_DROWNING, 0,
     A | G | W, A | C | D | E | F | H | K | P, FALSE},

    {
     "wolf", FALSE,
     0, AFF_DARK_VISION, OFF_FAST | OFF_DODGE,
     0, 0, 0,
     A | G | V, A | C | D | E | F | J | K | Q | V, FALSE},

    {
     "wyvern", FALSE,
     0, AFF_FLYING | AFF_DETECT_INVIS | AFF_DETECT_HIDDEN,
     OFF_BASH | OFF_FAST | OFF_DODGE,
     IMM_POISON, 0, VULN_LIGHT,
     A | B | G | Z, A | C | D | E | F | H | J | K | Q | V | X, FALSE},

    {
     "unique", FALSE,
     0, 0, 0,
     0, 0, 0,
     0, 0, FALSE},


    {
     NULL, 0, 0, 0, 0, 0, 0, FALSE}
};

const struct pc_race_type pc_race_table[] = {
    {"null race", "",
     {""}, {13, 13, 13, 13, 13}, {18, 18, 18, 18, 18}, {10,10,10,10,10}, 0},

/*
    {
    "race name",     short name,
    { bonus skills },
    { base stats },        { max stats },  { stat train cost },      size
    },
*/
    {
     "human", "Human",
     {""},
     {10, 10, 10, 10, 10}, {180, 180, 180, 180, 180}, {6,6,6,6,6}, SIZE_MEDIUM},

    {
     "saiya-jin", "Saiya",
     {""},
     {12, 8, 8, 12, 10}, {160, 200, 180, 210, 150}, {5,7,7,5,6}, SIZE_MEDIUM},

    {
     "namek", "Namek",
     {"fast healing", ""},
     {8, 10, 10, 10, 12}, {160, 200, 180, 210, 150}, {7,6,6,6,5}, SIZE_MEDIUM},

    {
     "half-breed", "Halfb",
     {""},
     {11, 9, 9, 11, 10}, {160, 200, 180, 210, 150}, {5,7,7,5,6}, SIZE_MEDIUM},

    {
     "icer", "Icer",
     {""},
     {12, 10, 10, 8, 10}, {160, 200, 180, 210, 150}, {5,6,6,7,6}, SIZE_MEDIUM},

    {
     "majin", "Majin",
     {""},
     {12, 14, 13, 15, 11}, {160, 200, 180, 210, 150}, {4,4,4,4,4}, SIZE_MEDIUM},

    {
     "android", "Droid",
     {"fast healing", ""},
     {11, 8, 10, 10, 11}, {160, 200, 180, 210, 150}, {5,7,6,6,5}, SIZE_MEDIUM},

    {
     "bio-android", "Bio",
     {"fast healing", ""},
     {12, 6, 10, 10, 12}, {160, 200, 180, 210, 150}, {5,8,6,6,5}, SIZE_MEDIUM},

};



/*
 * Titles.
 */
char *const title_table[MAX_LEVEL + 1][2] = {
     {"Man", "Woman"},
     {"Player", "Player"},
     {"Hero", "Hero"},
     {"Builder", "Builder"},
     {"Head Builder", "Head Builder"},
     {"Coder", "Coder"},
     {"Implementor", "Implementor"}
};

// Names of the transformations
char *const trans_table[MAX_TRANS] = {
     "not transformed",
     "Super Saiya-Jin Level 1",
     "Super Saiya-Jin Level 2",
     "Super Saiya-Jin Level 3",
     "Super Saiya-Jin Level 4",
     "Super Saiya-Jin Level 5",
     "Mystic",
     "Super Human",
     "Hyper Namek",
     "Super Namek",
     "Android Level 1",
     "Android Level 2",
     "Android Level 3",
     "Self-Fused Android",
     "Icer Form 2",
     "Icer Form 3",
     "Icer Form 4",
     "Icer Form 5",
     "Imperfect Bio-Android",
     "Semi-Perfect Bio-Android",
     "Perfect Bio-Android",
     "Ultra-Perfect Bio-Android"
};

// Stances
char *const stance_table[] = {
    "normal",
    "offensive",
    "defensive",
    "kamikaze",
    NULL
};


/*
 * Liquid properties.
 * Used in world.obj.
 */
/* Liquid Affects:
#define COND_DRUNK   0
#define COND_FULL    1
#define COND_THIRST  2
#define COND_HUNGER  3
*/
const struct liq_type liq_table[] = {
/*                                (drunk)                 (amount       */
/*                                                      drank per use)  */
/*    name			   color        proof,full,thirst,hunger,ssize, regen*/
    {"water",			"clear",			{  0,	1,	 10,    0,    16,     0}},
    {"beer",			"amber",			{ 12,	1,	  8,    1,    12,     0}},
    {"red wine",		"burgundy",			{ 30,	1,	  8,    1,     5,     0}},
    {"ale",			"brown",			{ 15,	1, 	  8,    1,    12,     0}},
    {"dark ale",		"dark",				{ 16,	1, 	  8,    1,    12,     0}},

    {"whisky",			"golden",			{120,	1,	  5,    0,     2,     0}},
    {"lemonade",		"pink",				{  0,	1,	  9,    2,    12,     0}},
    {"firebreather",	"boiling",			{190,	0,	  4,    0,     2,     0}},
    {"local specialty",	"clear",			{151,	1,	  3,    0,     2,     0}},
    {"slime mold juice","green",			{  0,	2,	 -8,    1,     2,     0}},

    {"milk",			"white",			{  0,	2,	  9,    3,    12,     0}},
    {"tea",			"tan",				{  0,	1,	  8,    0,     6,     0}},
    {"coffee",			"black",			{  0,	1,	  8,    0,     6,     0}},
    {"blood",			"red",				{  0,	2,	 -1,    2,     6,     0}},
    {"salt water",		"clear",			{  0,	1,	 -2,    0,     1,     0}},

    {"coke",			"brown",			{  0,	2,	  9,    2,    12,     0}},
    {"root beer",		"brown",			{  0,	2,	  9,    2,    12,     0}},
    {"elvish wine",		"green",			{ 35,	2,	  8,    1,     5,     0}},
    {"white wine",		"golden",			{ 28,	1,    8,    1,     5,     0}},
    {"champagne",		"golden",			{ 32,	1,	  8,    1,     5,     0}},

    {"mead",			"honey-colored",	{ 34,	2,	  8,    2,    12,     0}},
    {"rose wine",		"pink",				{ 26,	1,	  8,    1,     5,     0}},
    {"benedictine wine","burgundy",			{ 40,	1,	  8,    1,     5,     0}},
    {"vodka",			"clear",			{130,	1,	  5,    0,     2,     0}},
    {"cranberry juice", "red",				{  0,	1,	  9,    2,    12,     0}},

    {"orange juice",	"orange",			{  0,	2,	  9,    3,    12,     0}},
    {"absinthe",		"green",			{200,	1,	  4,    0,     2,     0}},
    {"brandy",			"golden",			{ 80,	1,	  5,    0,     4,     0}},
    {"aquavit",			"clear",			{140,	1,	  5,    0,     2,     0}},
    {"schnapps",		"clear",			{ 90,	1,	  5,    0,     2,     0}},

    {"icewine",			"purple",			{ 50,	2,	  6,    1,     5,     0}},
    {"amontillado",		"burgundy",			{ 35,	2,	  8,    1,     5,     0}},
    {"sherry",			"red",				{ 38,	2,	  7,    1,     5,     0}},
    {"framboise",		"red",				{ 50,	1,	  7,    1,     5,     0}},
    {"rum",			"amber",			{151,	1,	  4,    0,     2,     0}},

    {"cordial",			"clear",			{100,	1,	  5,    0,     2,     0}},
    {NULL,			NULL,				{  0,	0,	  0,    0,     0,     0}}
};



/*
 * The skill and spell table.
 * Slot numbers must never be changed as they appear in #OBJECTS sections.
\ */
#define SLOT(n)    n

struct skill_type skill_table[MAX_SKILL] = {

/* combat and weapons skills */

/*struct:
 *	{	"name", &gsn_, skill_fun, command?,
 *		points, {"skillpre"}, {skill values}, {str,int,wis,dex,con}, pl_pre, {"race"},
 *		TAR_, POS_, ki, type (SKILL_IMM, SKILL_DELAY, SKILL_CHARGE), wait,
 *		"damage", "off", "obj off", "immediate 1", "imm 2", "delay 1", "delay 2" },
 */
/*
	{	"", &gsn_, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 15, 0, 0,
		"", "!error!", "", "", "",   },
 */
	{	"axe", "", &gsn_axe, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 10, SKILL_IMM, 5*PULSE_SECOND,
		"", "!error!", "", "", "", "", ""   },

	{	"dagger", "", &gsn_dagger, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 10, SKILL_IMM, 5*PULSE_SECOND,
		"", "!error!", "", "", "", "", ""   },

	{	"sword", "", &gsn_sword, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 12, SKILL_IMM, 5*PULSE_SECOND,
		"", "!error!", "", "", "", "", ""   },

	{	"flail", "", &gsn_flail, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 12, SKILL_IMM, 5*PULSE_SECOND,
		"", "!error!", "", "", "", "", ""  },

	{	"mace", "", &gsn_mace, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 12, SKILL_IMM, 5*PULSE_SECOND,
		"", "!error!", "", "", "", "", ""  },

    {	"polearm", "", &gsn_polearm, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 12, SKILL_IMM, 5*PULSE_SECOND,
		"", "!error!", "", "", "", "", ""  },

	{	"spear", "", &gsn_spear, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 12, SKILL_IMM, 5*PULSE_SECOND,
		"", "!error!", "", "", "", "", ""  },

	{	"whip", "", &gsn_whip, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 12, SKILL_IMM, 5*PULSE_SECOND,
		"", "!error!", "", "", "", "", ""  },

	{	"exotic", "", &gsn_exotic, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 12, SKILL_IMM, 5*PULSE_SECOND,
		"", "!error!", "", "", "", "", ""   },

	{	"hand to hand", "", &gsn_hand_to_hand, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 12, SKILL_IMM, 5*PULSE_SECOND,
		"", "!error!", "", "", "", "", ""  },

	{	"shield block", "", &gsn_shield_block, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 3, SKILL_NONE, 0,
		"", "!error!", "", "", "", "", ""  },

	{	"dodge", "", &gsn_dodge, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 3, SKILL_NONE, 0,
		"", "!error!", "", "", "", "", ""  },

	{	"parry", "", &gsn_parry, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 3, SKILL_NONE, 0,
		"", "!error!", "", "", "", "", ""  },

	{	"fast healing", "", &gsn_fast_healing, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_SLEEPING, 1, SKILL_NONE, 0,
		"", "!error!", "", "", "", "", ""  },

	{	"meditation", "", &gsn_meditation, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_SLEEPING, 1, SKILL_NONE, 0,
		"", "!error!", "", "", "", "", ""  },

// Not updated:

	{	"berserk", "", &gsn_berserk, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 5, SKILL_IMM, 24,
		"", "You feel your pulse slow down.", "", "", "", "", ""  },

	{	"disarm", "", &gsn_disarm, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 5, SKILL_IMM, 24,
		"", "!error!", "", "", "", "", ""  },

	{	"rescue", "", &gsn_rescue, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 1, SKILL_IMM, 12,
		"", "!error!", "", "", "", "", ""  },
/* non-combat skills */

	{	"haggle", "", &gsn_haggle, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_RESTING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

	{	"hide", "", &gsn_hide, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_RESTING, 1, SKILL_IMM, 12,
		"", "!error!", "", "", "", "", ""  },

	{	"lore", "", &gsn_lore, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 1, SKILL_IMM, 36,
		"", "!error!", "", "", "", "", ""  },

	{	"peek", "", &gsn_peek, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_FIGHTING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

	{	"pick lock", "", &gsn_pick_lock, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 12,
		"", "!error!", "", "", "", "", ""  },

	{	"sneak", "", &gsn_sneak, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 12,
		"", "You no longer feel stealthy.", "", "", "", "", ""  },

	{	"steal", "", &gsn_steal, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 24,
		"", "!error!", "", "", "", "", ""  },

	{	"scrolls", "", &gsn_scrolls, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 24,
		"", "!error!", "", "", "", "", ""  },

	{	"staves", "", &gsn_staves, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 12,
		"", "!error!", "", "", "", "", ""  },


	{	"wands", "", &gsn_wands, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 12,
		"", "!error!", "", "", "", "", ""  },


	{	"recall", "", &gsn_recall, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 12,
		"", "!error!", "", "", "", "", ""  },

//other new ones:
	{	"perception", "", &gsn_perception, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 12,
		"", "!error!", "", "", "", "", ""  },

	{	"defend", "", &gsn_defend, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

    {	"kamikaze", "", &gsn_kamikaze, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 100000, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

    {	"fusion", "", &gsn_fusion, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 1000000, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

    {	"kaioken", "", &gsn_kaioken, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 500000, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

    {	"droidrage", "", &gsn_droidrage, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 5000000, {"android", "bio-android"},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

    {	"fly", "", &gsn_fly, NULL, FALSE,
		0, {}, {}, {0,0,0,0,0}, 500000, {},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", "" },

// Transformations:
/*
    {	"super saiya-jin", "", &gsn_supersaiyan, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {"saiya-jin", "half-breed"},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

    {	"mystic", "", &gsn_mystic, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 2500000000, {"half-breed"},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

    {	"super human", "", &gsn_superhuman, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 50000000, {"human"},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

    {	"namek transform", "", &gsn_namektrans, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {"namek"},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

    {	"icer form", "", &gsn_icerform, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 0, {"icer"},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },

    {	"self-fuse", "", &gsn_selffuse, NULL, FALSE,
		0, {}, {0}, {0,0,0,0,0}, 2000000000, {"android"},
		TAR_IGNORE, POS_STANDING, 1, SKILL_IMM, 0,
		"", "!error!", "", "", "", "", ""  },
*/
// Updated:
	{	"bash", "", &gsn_bash, skill_bash, TRUE,
        0, {"hand to hand"}, {3}, {0,0,0,15,0}, 10000, {},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 24, SKILL_IMM, 5*PULSE_SECOND,
		"bash", "!error!", "", "", "", "", ""  },

	{	"kick", "", &gsn_kick, skill_kick, TRUE,
		0, {}, {0}, {0,0,0,0,0}, 0, {},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 15, SKILL_IMM, 5*PULSE_SECOND,
		"kick", "!error!", "", "", "", "", ""  },

	{	"sweep", "", &gsn_sweep, skill_sweep, TRUE,
		0, {"kick"}, {0}, {0,0,0,15,0}, 10000, {},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 12, SKILL_IMM, 3*PULSE_SECOND,
		"sweep", "!error!", "", "", "", "", ""  },

	{	"throat shot", "", &gsn_throat_shot, skill_throat_shot, TRUE,
		0, {"hand to hand"}, {5}, {0,0,0,0,0}, 50000, {},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 12, SKILL_IMM, 4*PULSE_SECOND,
		"throat shot", "!error!", "", "", "", "", ""  },

	{	"knee", "", &gsn_knee, skill_knee, TRUE,
		0, {"kick", "sweep"}, {3,3}, {15,0,0,20,0}, 20000, {},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 12, SKILL_IMM, 5*PULSE_SECOND,
		"knee", "!error!", "", "", "", "", ""  },

	{	"elbow", "", &gsn_elbow, skill_elbow, TRUE,
		0, {"hand to hand"}, {4}, {20,0,0,20,0}, 20000, {},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 9, SKILL_IMM, 2*PULSE_SECOND,
		"elbow", "!error!", "", "", "", "", ""  },

	{	"eye gouge", "", &gsn_eye_gouge, skill_eye_gouge, TRUE,
		0, {"hand to hand"}, {4}, {0,0,0,0,20}, 25000, {},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 10, SKILL_IMM, 5*PULSE_SECOND,
		"eye gouge", "Your eyes no longer hurt, and you can see!", "", "", "", "", ""  },

	{	"heart shot", "", &gsn_heart_shot, skill_heart_shot, TRUE,
		0, {"hand to hand"}, {5}, {20,0,0,0,0}, 50000, {},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 24, SKILL_IMM, 5*PULSE_SECOND,
		"heart shot", "!error!", "", "", "", "", ""  },

/* DBZ abilites */

// HACK:
// Kamehameha must be the first ki skill in the table, and all the ki skills
// must come at the end of the table! Search for FIRST_KI_SN for references.
// Basically, FIRST_KI_SN lets us determine which skills
// are ki skills or not (every sn >= FIRST_KI_SN is a ki skill) (FIRST_KI_SN = gsn_kamehameha)
	{	"kamehameha", "", &gsn_kamehameha, skill_kamehameha, TRUE,
		0, {"energy beam"}, {3}, {0,0,15,0,0}, 2000000, {"human", "saiya-jin", "bio-android", "half-breed"},
		TAR_HYBRID6, POS_FIGHTING, 3, SKILL_CHARGE, 10*PULSE_SECOND,
		"blast", "!error!", "", "You place your palms together and begin to create a ball of energy.", "$n places $s palms together and begins to create a ball of energy.", "You release a massive energy beam!", "$n releases a massive energy beam!" },

	{	"scattershot", "", &gsn_scattershot, skill_scattershot, TRUE,
		0, {"energy ball"}, {3}, {0,0,15,0,20}, 500000, {"namek", "bio-android", "android", "human", "saiya-jin", "half-breed"},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 4, SKILL_DELAY, 8*PULSE_SECOND,
		"ball", "!error!", "", "You concentrate and point your fingers at your target.", "$n concentrates and points $s fingers at $s target.", "You release a stream of energy balls!", "$n releases a stream of energy balls!" },

	{	"timestop", "", &gsn_timestop, skill_timestop, TRUE,
		0, {}, {0}, {0,0,0,0,0}, 50000000000000, {},
		TAR_AREA_OFF, POS_FIGHTING, 2, SKILL_CHARGE, 20*PULSE_SECOND,
		"!error!", "!error!", "", "You concentrate.", "$n concentrates.", "You finish and time seems to  s l ow   d  o  w   n.", "$n finishes and time seems to  s l ow   d  o  w   n." },

	{	"energy ball", "ball", &gsn_energy_ball, skill_energy_ball, TRUE,
		0, {}, {0}, {0,0,0,0,0}, 5000, {},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 3, SKILL_CHARGE, 6*PULSE_SECOND,
		"energy ball", "!error!", "", "Placing your palms together, you begin to generate a small ball of energy.", "Placing $s palms together, $n begin to generate a small ball of energy.", "You throw a small ball of energy!", "$n throws a small ball of energy!" },

	{	"energy beam", "beam", &gsn_energy_beam, skill_energy_beam, TRUE,
		0, {}, {0}, {0,0,0,0,0}, 5000, {},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 3, SKILL_CHARGE, 6*PULSE_SECOND,
		"energy beam", "!error!", "", "A point of light begins to grow between your palms.", "A point of light begins grow between $n's palms.", "You release a beam of energy!", "$n releases a beam of energy!" },

	{	"final flash", "", &gsn_finalflash, skill_finalflash, TRUE,
		0, {"energy beam"}, {7}, {0,0,25,0,30}, 50000000, {"android", "saiya-jin", "half-breed"},
        	TAR_HYBRID6, POS_FIGHTING, 3, SKILL_CHARGE, 10*PULSE_SECOND,
		"final flash", "!error!", "", "You stretch your arms out and build up energy in either palm.", "$n stretches $s arms out and builds up energy in either palm.", "With an amazing flash, you throw your arms forward and release!", "With an amazing flash, $n throws $s arms forward and releases!" },

	{	"special beam cannon", "sbc", &gsn_specialbeam, skill_specialbeam, TRUE,
		0, {"energy beam"}, {4}, {0,0,15,0,0}, 2000000, {"namek", "bio-android"},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 3, SKILL_CHARGE, 10*PULSE_SECOND,
		"special beam", "!error!", "", "You concentrate and point your fingers at your target.", "$n concentrates and points $s fingers at $s target.", "A yellow beam, rotating around a thin ray, ignites from your fingers!", "A green beam, rotating around a thin ray, ignites from $n's fingers!" },

	{	"solar flare", "", &gsn_solarflare, skill_solarflare, TRUE,
		0, {"energy ball", "energy beam"}, {3,3}, {0,0,15,0,15}, 250000, {"human", "namek", "saiya-jin", "half-breed", "bio-android"},
		TAR_AREA_OFF, POS_FIGHTING, 100, SKILL_CHARGE, 6*PULSE_SECOND,
		"!error!", "The blinding light resides, and you can once again see.", "", "You put your hands to your forehead and start to create a bright light.", "$n puts $s hands to $s forehead and starts to creates a bright light.", "A blinding light erupts from you!", "A blinding light erupts from $n!" },

	{	"destructo disk", "", &gsn_destructo_disk, skill_destructo_disk, TRUE,
		0, {"energy ball"}, {5}, {0,0,15,0,20}, 4000000, {"human", "bio-android", "icer"},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 3, SKILL_CHARGE, 10*PULSE_SECOND,
		"destructo disk", "!error!", "", "Placing your hands at your sides, energy begins to build in your palms.", "Placing $s hands at $s sides, energy begins to build in $n's palms.", "You launch your destructo disk spinning towards your foe!", "$n launches $s destructo disk spinning towards $s foe!" },

	{	"masenko", "", &gsn_masenko, skill_masenko, TRUE,
		0, {"energy beam"}, {7}, {0,0,25,0,0}, 25000000, {"namek", "half-breed"},
		TAR_HYBRID6, POS_FIGHTING, 3, SKILL_CHARGE, 10*PULSE_SECOND,
		"energy ball", "!error!", "", "With your hands behind your head, you begin to weave a ball of energy into existence.", "With $s hands behind $s head, $n begins to weave a ball of energy into existence.", "You throw your ball of energy forward, sending it exploding in a giant splash!", "$n throws $s ball of energy forward, sending it exploding in a giant splash!" },

	{	"eye beam", "eyebeam", &gsn_eyebeam, skill_eyebeam, TRUE,
		0, {"energy beam"}, {2}, {0,0,0,0,0}, 100000, {"namek", "icer", "android"},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 3, SKILL_CHARGE, 10*PULSE_SECOND,
		"eye beam", "!error!", "", "You stare at your target.", "$n begins to stare at $s target.", "A beam erupts from your eyes!", "A beam erupts from $n's eyes!" },

	{	"mouth beam", "", &gsn_mouthbeam, skill_mouthbeam, TRUE,
		0, {"energy beam"}, {3}, {0,0,0,0,0}, 500000, {"majin", "namek"},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 3, SKILL_CHARGE, 10*PULSE_SECOND,
		"mouth beam", "!error!", "", "Your mouth slowly opens.", "$n's mouth slowly opens.", "A beam erupts from your mouth!", "A beam erupts from $n's mouth!"},

	{	"finger beam", "", &gsn_fingerbeam, skill_fingerbeam, TRUE,
		0, {"energy beam"}, {4}, {0,0,20,0,0}, 1000000, {"icer", "bio-android"},
		TAR_CHAR_OFFENSIVE, POS_FIGHTING, 3, SKILL_CHARGE, 20*PULSE_SECOND,
		"finger beam", "!error!", "", "You point at your target.", "$n points at $s target.", "A beam erupts from your finger!", "A beam erupts from $n's finger!" },

	{	"spirit bomb", "", &gsn_spirit_bomb, skill_spirit_bomb, TRUE,
		0, {"energy ball", "kamehameha"}, {6,3}, {0,0,0,0,100}, 20000000, {"saiya-jin", "human", "half-breed"},
		TAR_AREA_OFF, POS_FIGHTING, 1, SKILL_CHARGE, 120*PULSE_SECOND,
		"spirit bomb", "!error!", "", "You begin to charge an enormous ball of energy.", "$n begins to charge an enormous ball of energy.", "You release a massive ball of energy!", "$n relases a massive ball of energy!" },

	{	"power bomb", "powerbomb", &gsn_power_bomb, skill_power_bomb, TRUE,
		0, {}, {0}, {0,0,0,0,0}, 500000000, {"majin"},
		TAR_AREA_OFF, POS_FIGHTING, 2, SKILL_CHARGE, 40*PULSE_SECOND,
		"power bomb", "!error!", "", "You begin to charge an enormous ball of energy.", "$n begins to charge an enormous ball of energy.", "You release a massive ball of energy!", "$n relases a massive ball of energy!" },

	{	"death ball", "", &gsn_death_ball, skill_death_ball, TRUE,
		0, {"finger beam"}, {5}, {0,0,0,0,0}, 500000000, {"icer"},
		TAR_AREA_OFF, POS_FIGHTING, 1, SKILL_CHARGE, 60*PULSE_SECOND,
		"death ball", "!error!", "", "You point your finger out, creating a swirling red ball of energy at the tip.", "$n points $s finger out, creating a swirling red ball of energy at the tip.", "With a flick of the finger, you throw your planet-sized ball of coalescing, red energy!", "With a flick of the finger, $n throws $s planet-sized ball of coalescing, red energy!" },

        {       "galicgun", "", &gsn_galic_gun, skill_galic_gun, TRUE,
                0, {"energy beam"}, {3}, {0,0,15,0,0}, 2000000, {"saiya-jin", "bio-android", "half-breed"},
                TAR_HYBRID6, POS_FIGHTING, 3, SKILL_CHARGE, 10*PULSE_SECOND,
                "galic gun", "!error!", "", "You drop to one knee and place your palms together and begin to create a ball of energy.", "$n drops to one knee and places $s palms together and begins to create a ball of energy.", "You release a massive energy beam!", "$n releases a massive energy beam!" },

        {       "bigbang", "", &gsn_bigbang, skill_bigbang, TRUE,
                0, {"energy ball"}, {4}, {0,0,15,0,0}, 2000000, {"saiya-jin", "bio-android", "half-breed"},
                TAR_HYBRID6, POS_FIGHTING, 3, SKILL_CHARGE, 10*PULSE_SECOND,
                "big bang", "!error!", "", "You extend your hand to your opponent, with your thumb bent towards the center of your palm.", "$n extends $s hand to $s opponent, with $s thumb bent towards the center of $s palm. ", "You fire a HUGE energy ball at your opponent!!", "$n fires a HUGE energy ball at $s opponent!!" },

        {       "bigbangkamehameha", "", &gsn_bbkame, skill_bbkame, TRUE,
                0, {"energy beam", "kamehameha", "big bang"}, {8, 5, 5}, {50,50,50,50,50}, 600000000, {"saiya-jin", "bio-android", "half-breed"},
                TAR_HYBRID6, POS_FIGHTING, 3, SKILL_CHARGE, 10*PULSE_SECOND,
                "big bang kamehameha", "!error!", "", "You close your eyes, and concentrate.  Then a small ball forms infront of your chest.", "$n closes $s eyes and concentrates.  Then, a small ball forms in front of $s chest.", "You scream out as you release the big bang kamehameha from your body!!", "$n screams out as $e releases the big bang kamehameha from $s body!!" },

        {       "makumsame", "", &gsn_makumsame, skill_makumsame, TRUE,
                0, {"energy ball"}, {7}, {0,0,0,0,0}, 500000000, {"icer"},
                TAR_CHAR_OFFENSIVE, POS_FIGHTING, 3, SKILL_CHARGE, 7*PULSE_SECOND,
                "makumsame", "!error!", "", "You raise your right hand to your opponent, and grab your right forearm with your left hand, beginning to charge a ball.", "$n raises $s right hand to $s opponent, and grabs $s right forearm with $s left hand, beginning to charge a ball.", "In a quick jerk, the huge ball flies at your opponent, and envelops $m!", "In a quick jerk, $n's huge ball flies at $s opponent, and envelops him!" },
	
	{	"heal", "", &gsn_heal, skill_heal, TRUE,
		0, {}, {}, {25,25,25,25,25}, 25000000, {"namek"},
		TAR_CHAR_DEFENSIVE, POS_FIGHTING, 4, SKILL_CHARGE, 10*PULSE_SECOND,
		"!error!", "!error!", "", "You begin to utter some words.", "$n begins to utters some words.", "You finish your littany!", "$n finishes $s littany!" },

	{	"revive", "", &gsn_revive, skill_revive, TRUE,
		0, {}, {}, {25,50,50,50,25}, 500000000, {"namek"},
		TAR_CHAR_DEFENSIVE, POS_FIGHTING, 1000, SKILL_DELAY, 60*PULSE_SECOND,
		"!error!", "!error!", "", "You begin to shout some words.", "$n begins to shout some words.", "You finish your shout!", "$n finishes $s shout!" },

	{	"regeneration", "", &gsn_regen, skill_regen, TRUE,
		0, {}, {}, {0,0,0,0,0}, 500000000, {"namek"},
		TAR_CHAR_DEFENSIVE, POS_FIGHTING, 4, SKILL_DELAY, 40*PULSE_SECOND,
		"!error!", "Your stamina suddenly weakens.", "", "You begin to utter some words.", "$n begins to utters some words.", "You finish your littany!", "$n finishes $s littany!" },

	{	"cure vision", "vision", &gsn_cure_vision, skill_cure_vision, TRUE,
		0, {}, {}, {25,50,50,50,25}, 50000000, {"namek"},
		TAR_CHAR_DEFENSIVE, POS_FIGHTING, 1000, SKILL_DELAY, 15*PULSE_SECOND,
		"!error!", "!error!", "", "You begin to chant some words.", "$n begins to chant some words.", "You finish your chant!", "$n finishes $s chant!" }

};