//===== rAthena Script =======================================
//= Sample: Getiteminfo
//===== Description ==========================================
//= A sample script that explains how to use the getiteminfo script command.
//===== Additional Comments: ================================= 
//= 1.0 Initial version [Lupus]
//= 1.1 Enhanced the script generally by displaying the constants,
//=     for the command and output. [llchrisll]
//============================================================

prontera,156,179,6	script	test_getiteminfo	117,{
	switch( select( "item ID", "aegis item name", "english item name" ) ) {
	case 1:
		mes "Please enter an item ID.";
		input .@value;
		// This line uses an INTERNAL function of your client to show item name by its ID!
		// ^nItemID^XXXX -> Item Name
		mes "Item ID: " + .@value + " ^nItemID^" + .@value;
		// Check if the item ID is valid
		.@value = getiteminfo(.@value,ITEMINFO_ID);
		break;
	case 2:
		mes "Please enter an english item name.";
		input .@value$;
		.@value = getiteminfo(.@value$,ITEMINFO_ID);
		mes "english item name: " + .@value$;
		break;
	case 3:
		mes "Please enter an aegis item name.";
		input .@value$;
		.@value = getiteminfo(.@value$,ITEMINFO_ID);
		mes "aegis item name: " + .@value$;
		break;
	}
	if(.@value == -1) {
		mes "Unknown Item, please input an existing item.";
		close;
	}
	
	mes "Current item info:";
	mes "ITEMINFO_BUY = " + getiteminfo(.@value,ITEMINFO_BUY);
	mes "ITEMINFO_SELL = " + getiteminfo(.@value,ITEMINFO_SELL);
	mes "ITEMINFO_TYPE = " + getiteminfo(.@value,ITEMINFO_TYPE);
	switch(getiteminfo(.@value,ITEMINFO_TYPE)) {
		case IT_HEALING: mes ">  IT_HEALING"; break;
		case IT_USABLE: mes ">  IT_USABLE"; break;
		case IT_ETC: mes ">  IT_ETC"; break;
		case IT_ARMOR: mes ">  IT_ARMOR"; break;
		case IT_WEAPON: mes ">  IT_WEAPON"; break;
		case IT_CARD: mes ">  IT_CARD"; break;
		case IT_PETEGG: mes ">  IT_PETEGG"; break;
		case IT_PETARMOR: mes ">  IT_PETARMOR"; break;
		case IT_AMMO: mes ">  IT_AMMO"; break;
		case IT_DELAYCONSUME: mes ">  IT_DELAYCONSUME"; break;
		case IT_SHADOWGEAR: mes ">  IT_SHADOWGEAR"; break;
		case IT_CASH: mes ">  IT_CASH"; break;
		default: mes "Unknown item type"; break;
	}
	mes "ITEMINFO_MAXCHANCE = " + getiteminfo(.@value,ITEMINFO_MAXCHANCE);
	mes "ITEMINFO_GENDER = " + getiteminfo(.@value,ITEMINFO_GENDER);
	switch(getiteminfo(.@value,ITEMINFO_GENDER)) {
		case SEX_FEMALE: mes ">  Female only"; break;
		case SEX_MALE: mes ">  Male only"; break;
		case SEX_BOTH: mes ">  Both Genders"; break;
		default: mes "Unknown gender"; break;
	}
	mes "ITEMINFO_LOCATIONS = " + getiteminfo(.@value,ITEMINFO_LOCATIONS);
	.@loc = getiteminfo(.@value,ITEMINFO_LOCATIONS);
	if(.@loc&EQP_HEAD_LOW) mes ">  EQP_HEAD_LOW";
	if(.@loc&EQP_HEAD_MID) mes ">  EQP_HEAD_MID";
	if(.@loc&EQP_HEAD_TOP) mes ">  EQP_HEAD_TOP";
	if(.@loc&EQP_HAND_R) mes ">  EQP_HAND_R";
	if(.@loc&EQP_HAND_L) mes ">  EQP_HAND_L";
	if(.@loc&EQP_ARMOR) mes ">  EQP_ARMOR";
	if(.@loc&EQP_SHOES) mes ">  EQP_SHOES";
	if(.@loc&EQP_GARMENT) mes ">  EQP_GARMENT";
	if(.@loc&EQP_ACC_R) mes ">  EQP_ACC_R";
	if(.@loc&EQP_ACC_L) mes ">  EQP_ACC_L";
	if(.@loc&EQP_COSTUME_HEAD_TOP) mes ">  EQP_COSTUME_HEAD_TOP";
	if(.@loc&EQP_COSTUME_HEAD_MID) mes ">  EQP_COSTUME_HEAD_MID";
	if(.@loc&EQP_COSTUME_HEAD_LOW) mes ">  EQP_COSTUME_HEAD_LOW";
	if(.@loc&EQP_COSTUME_GARMENT) mes ">  EQP_COSTUME_GARMENT";
	if(.@loc&EQP_AMMO) mes ">  EQP_AMMO";
	if(.@loc&EQP_SHADOW_ARMOR) mes ">  EQP_SHADOW_ARMOR";
	if(.@loc&EQP_SHADOW_WEAPON) mes ">  EQP_SHADOW_WEAPON";
	if(.@loc&EQP_SHADOW_SHIELD) mes ">  EQP_SHADOW_SHIELD";
	if(.@loc&EQP_SHADOW_SHOES) mes ">  EQP_SHADOW_SHOES";
	if(.@loc&EQP_SHADOW_ACC_R) mes ">  EQP_SHADOW_ACC_R";
	if(.@loc&EQP_SHADOW_ACC_L) mes ">  EQP_SHADOW_ACC_L";
	if(.@loc&EQP_ACC_RL) mes ">  EQP_ACC_RL";
	if(.@loc&EQP_SHADOW_ACC_RL) mes ">  EQP_SHADOW_ACC_RL";
	mes "ITEMINFO_WEIGHT = " + getiteminfo(.@value,ITEMINFO_WEIGHT);
	mes "ITEMINFO_ATTACK = " + getiteminfo(.@value,ITEMINFO_ATTACK);
	mes "ITEMINFO_DEFENSE = " + getiteminfo(.@value,ITEMINFO_DEFENSE);
	mes "ITEMINFO_RANGE = " + getiteminfo(.@value,ITEMINFO_RANGE);
	mes "ITEMINFO_SLOT = " + getiteminfo(.@value,ITEMINFO_SLOT);
	mes "ITEMINFO_VIEW = " + getiteminfo(.@value,ITEMINFO_VIEW);
	mes "ITEMINFO_EQUIPLEVELMIN = " + getiteminfo(.@value,ITEMINFO_EQUIPLEVELMIN);
	mes "ITEMINFO_WEAPONLEVEL = " + getiteminfo(.@value,ITEMINFO_WEAPONLEVEL);
	mes "ITEMINFO_ALIASNAME = " + getiteminfo(.@value,ITEMINFO_ALIASNAME);
	mes "ITEMINFO_EQUIPLEVELMAX = " + getiteminfo(.@value,ITEMINFO_EQUIPLEVELMAX);
	mes "ITEMINFO_MAGICATTACK = " + getiteminfo(.@value,ITEMINFO_MAGICATTACK);
	mes "ITEMINFO_ID = " + getiteminfo(.@value,ITEMINFO_ID);
	mes "ITEMINFO_AEGISNAME = " + getiteminfo(.@value,ITEMINFO_AEGISNAME);
	mes "ITEMINFO_ARMORLEVEL = " + getiteminfo(.@value,ITEMINFO_ARMORLEVEL);
	mes "ITEMINFO_SUBTYPE = " + getiteminfo(.@value,ITEMINFO_SUBTYPE);
	if(getiteminfo(.@value,ITEMINFO_TYPE) == IT_WEAPON) {
		switch(getiteminfo(.@value,ITEMINFO_SUBTYPE)) {
			case W_FIST: mes ">  W_FIST"; break;
			case W_DAGGER: mes ">  W_DAGGER"; break;
			case W_1HSWORD: mes ">  W_1HSWORD"; break;
			case W_2HSWORD: mes ">  W_2HSWORD"; break;
			case W_1HSPEAR: mes ">  W_1HSPEAR"; break;
			case W_2HSPEAR: mes ">  W_2HSPEAR"; break;
			case W_1HAXE: mes ">  W_1HAXE"; break;
			case W_2HAXE: mes ">  W_2HAXE"; break;
			case W_MACE: mes ">  W_MACE"; break;
			case W_2HMACE: mes ">  W_2HMACE"; break;
			case W_STAFF: mes ">  W_STAFF"; break;
			case W_BOW: mes ">  W_BOW"; break;
			case W_KNUCKLE: mes ">  W_KNUCKLE"; break;
			case W_MUSICAL: mes ">  W_MUSICAL"; break;
			case W_WHIP: mes ">  W_WHIP"; break;
			case W_BOOK: mes ">  W_BOOK"; break;
			case W_KATAR: mes ">  W_KATAR"; break;
			case W_REVOLVER: mes ">  W_REVOLVER"; break;
			case W_RIFLE: mes ">  W_RIFLE"; break;
			case W_GATLING: mes ">  W_GATLING"; break;
			case W_SHOTGUN: mes ">  W_SHOTGUN"; break;
			case W_GRENADE: mes ">  W_GRENADE"; break;
			case W_HUUMA: mes ">  W_HUUMA"; break;
			case W_2HSTAFF: mes ">  W_2HSTAFF"; break;
			case W_DOUBLE_DD: mes ">  W_DOUBLE_DD"; break; // 2 daggers
			case W_DOUBLE_SS: mes ">  W_DOUBLE_SS"; break; // 2 swords
			case W_DOUBLE_AA: mes ">  W_DOUBLE_AA"; break; // 2 axes
			case W_DOUBLE_DS: mes ">  W_DOUBLE_DS"; break; // dagger + sword
			case W_DOUBLE_DA: mes ">  W_DOUBLE_DA"; break; // dagger + axe
			case W_DOUBLE_SA: mes ">  W_DOUBLE_SA"; break; // sword + axe
			default: mes "Unknown subtype of weapon"; break;
		}
	} else if(getiteminfo(.@value,ITEMINFO_TYPE) == IT_AMMO) {
		switch(getiteminfo(.@value,ITEMINFO_SUBTYPE)) {
			case AMMO_ARROW: mes ">  AMMO_ARROW"; break;
			case AMMO_DAGGER: mes ">  AMMO_DAGGER"; break;
			case AMMO_BULLET: mes ">  AMMO_BULLET"; break;
			case AMMO_SHELL: mes ">  AMMO_SHELL"; break;
			case AMMO_GRENADE: mes ">  AMMO_GRENADE"; break;
			case AMMO_SHURIKEN: mes ">  AMMO_SHURIKEN"; break;
			case AMMO_KUNAI: mes ">  AMMO_KUNAI"; break;
			case AMMO_CANNONBALL: mes ">  AMMO_CANNONBALL"; break;
			case AMMO_THROWWEAPON: mes ">  AMMO_THROWWEAPON"; break;
			default: mes "Unknow subtype of ammo"; break;
		}
	}
	close;

}