function Weapon( p_aParams )
{
	this.name = p_aParams["name"];
	this.category = ( p_aParams["category"] ? p_aParams["category"] : "one-handed" ); // light | one-handed | two-handed
	this.mode = ( p_aParams["mode"] ? p_aParams["mode"] : "melee" ); // melee | ranged
	this.addStrength = ( p_aParams["add strength"] ? p_aParams["add strength"] : ( this.mode == "melee" ) );
	this.damage = ( p_aParams["damage"] ? p_aParams["damage"] : 0 );
	this.critRange = ( p_aParams["crit range"] ? p_aParams["crit range"] : 1 );
	this.critBonus = ( p_aParams["crit bonus"] ? p_aParams["crit bonus"] : 3 );
	this.range = ( p_aParams["range"] ? p_aParams["range"] : 0 );
	this.weight = ( p_aParams["weight"] ? p_aParams["weight"] : 0 );
}

var Weapons = new Array();
var WeaponLists = new Array();

function fInitializeWeapons()
{
	Weapons["unarmed"] = new Weapon({ "name" : "(unarmed)", "category" : "light" });
	
	Weapons["assault rifle"] = new Weapon
	({
		"name" : "Assault Rifle",
		"category" : "two-handed",
		"mode" : "ranged",
		"damage" : 5,
		"range" : 50
	});
	Weapons["battleaxe"] = new Weapon
	({
		"name" : "Battleaxe",
		"damage" : 3,
		"crit bonus" : 4
	});
	Weapons["blaster pistol"] = new Weapon
	({
		"name" : "Blaster Pistol",
		"category" : "light",
		"mode" : "ranged",
		"damage" : 5,
		"range" : 50
	});
	Weapons["blaster rifle"] = new Weapon
	({
		"name" : "Blaster Rifle",
		"mode" : "ranged",
		"damage" : 8,
		"range" : 80
	});
	Weapons["bolo"] = new Weapon
	({
		"name" : "Bolo",
		"category" : "light",
		"mode" : "ranged",
		"range" : 40
	});
	Weapons["boomerang"] = new Weapon
	({
		"name" : "Boomerang",
		"category" : "light",
		"mode" : "ranged",
		"damage" : 2,
		"crit bonus" : 4,
		"range" : 20
	});
	Weapons["bow"] = new Weapon
	({
		"name" : "Bow",
		"category" : "two-handed",
		"mode" : "ranged",
		"add strength" : true,
		"damage" : 3,
		"crit bonus" : 4,
		"range" : 40
	});
	Weapons["brass knuckles"] = new Weapon
	({
		"name" : "Brass Knuckles",
		"category" : "light",
		"damage" : 1
	});
	Weapons["chain"] = new Weapon
	({
		"name" : "Chain",
		"category" : "two-handed",
		"damage" : 2,
		"range" : 10
	});
	Weapons["chainsaw"] = new Weapon
	({
		"name" : "Chainsaw",
		"category" : "two-handed",
		"damage" : 6,
		"crit bonus" : 4
	});
	Weapons["club"] = new Weapon
	({
		"name" : "Club",
		"damage" : 2,
		"range" : 10
	});
	Weapons["crossbow"] = new Weapon
	({
		"name" : "Crossbow",
		"category" : "one-handed",
		"mode" : "ranged",
		"damage" : 3,
		"crit range" : 2,
		"range" : 40
	});
	Weapons["flamethrower"] = new Weapon
	({
		"name" : "Flamethrower",
		"category" : "two-handed",
		"mode" : "ranged",
		"damage" : 6,
		"crit range" : 0,
		"crit bonus" : 0
	});
	Weapons["grenade launcher"] = new Weapon
	({
		"name" : "Grenade Launcher",
		"category" : "two-handed",
		"mode" : "ranged",
		"damage" : 5,
		"range" : 70,
		"crit range" : 0,
		"crit bonus" : 0
	});
	Weapons["heavy pistol"] = new Weapon
	({
		"name" : "Heavy Pistol",
		"mode" : "ranged",
		"damage" : 4,
		"range" : 40
	});
	Weapons["hold-out pistol"] = new Weapon
	({
		"name" : "Hold-Out Pistol",
		"category" : "light",
		"mode" : "ranged",
		"damage" : 2,
		"range" : 20
	});
	Weapons["javelin"] = new Weapon
	({
		"name" : "Javelin",
		"category" : "one-handed",
		"mode" : "ranged",
		"add strength" : true,
		"damage" : 2,
		"range" : 30
	});
	Weapons["knife"] = new Weapon
	({
		"name" : "Knife",
		"category" : "light",
		"damage" : 1,
		"crit range" : 2,
		"range" : 10
	});
	Weapons["light pistol"] = new Weapon
	({
		"name" : "Light Pistol",
		"category" : "light",
		"mode" : "ranged",
		"damage" : 3,
		"range" : 30
	});
	Weapons["machine pistol"] = new Weapon
	({
		"name" : "Machine Pistol",
		"mode" : "ranged",
		"damage" : 3,
		"range" : 30
	});
	Weapons["nunchaku"] = new Weapon
	({
		"name" : "Nunchaku",
		"category" : "light",
		"damage" : 2
	});
	Weapons["pepper spray"] = new Weapon
	({
		"name" : "Pepper Spray",
		"category" : "light",
		"damage" : 0,
		"crit range" : 0,
		"crit bonus" : 0
	});
	Weapons["quarterstaff"] = new Weapon
	({
		"name" : "Quarterstaff",
		"category" : "two-handed",
		"damage" : 2,
		"range" : 10
	});
	Weapons["rocket launcher"] = new Weapon
	({
		"name" : "Rocket Launcher",
		"category" : "two-handed",
		"mode" : "ranged",
		"damage" : 10,
		"range" : 150,
		"crit range" : 0,
		"crit bonus" : 0
	});
	Weapons["sap"] = new Weapon
	({
		"name" : "Sap",
		"category" : "light",
		"damage" : 2
	});
	Weapons["shuriken"] = new Weapon
	({
		"name" : "Shuriken",
		"category" : "light",
		"mode" : "ranged",
		"damage" : 1,
		"range" : 10
	});
	Weapons["spear"] = new Weapon
	({
		"name" : "Spear",
		"category" : "two-handed",
		"damage" : 3,
		"crit range" : 2,
		"crit bonus" : 4,
		"range" : 20
	});
	Weapons["submachine gun"] = new Weapon
	({
		"name" : "Submachine Gun",
		"mode" : "ranged",
		"damage" : 4,
		"range" : 40
	});
	Weapons["shotgun"] = new Weapon
	({
		"name" : "Shotgun",
		"category" : "two-handed",
		"mode" : "ranged",
		"damage" : 5,
		"range" : 40
	});
	Weapons["sniper rifle"] = new Weapon
	({
		"name" : "Sniper Rifle",
		"category" : "two-handed",
		"mode" : "ranged",
		"damage" : 5,
		"crit range" : 2,
		"crit bonus" : 4,
		"range" : 250
	});
	Weapons["sword"] = new Weapon
	({
		"name" : "Sword",
		"damage" : 3,
		"crit range" : 2
	});
	Weapons["stun gun"] = new Weapon
	({
		"name" : "Stun Gun",
		"category" : "light",
		"damage" : 0,
		"crit range" : 0,
		"crit bonus" : 0
	});
	Weapons["taser"] = new Weapon
	({
		"name" : "Taser",
		"category" : "light",
		"mode" : "ranged",
		"range" : 5
	});
	Weapons["tonfa"] = new Weapon
	({
		"name" : "Tonfa",
		"category" : "light",
		"damage" : 1
	});
	Weapons["warhammer"] = new Weapon
	({
		"name" : "Warhammer",
		"damage" : 3,
		"crit bonus" : 4,
		"range" : 10
	});
	Weapons["whip"] = new Weapon
	({
		"name" : "Whip",
		"damage" : 0,
		"range" : 15
	});
	
	WeaponLists["simple"] = new Array
	(
		"unarmed",
		"brass knuckles",
		"club",
		"crossbow",
		"javelin",
		"knife",
		"pepper spray",
		"quarterstaff",
		"sap",
		"stun gun",
		"taser",
		"tonfa"
	);
	WeaponLists["martial"] = new Array
	(
		"battleaxe",
		"bow",
		"shuriken",
		"spear",
		"sword",
		"warhammer"
	);
	WeaponLists["firearms"] = new Array
	(
		"assault rifle",
		"blaster pistole",
		"blaster rifle",
		"heavy pistol",
		"hold-out pistol",
		"light pistol",
		"machine pistol",
		"shotgun",
		"sniper rifle",
		"submachine gun"
	);
	WeaponLists["exotic"] = new Array
	(
		"bolo",
		"boomerang",
		"chain",
		"chainsaw",
		"flamethrower",
		"grenade launcher",
		"nunchaku",
		"rocket launcher",
		"whip"
	);
}

