summaryrefslogblamecommitdiff
path: root/npc/battleground/kvm/kvm_item_pay.txt
blob: 2217e3f772e60dd6e4c3b318528b00ca1acea02f (plain) (tree)


























                                                                           
                                        
                                                                           
                                                         






                                                                           
 
                                                                         

                                                     
                                           
                                           







                                                                                               
                                        














                                                       
                                 








                                                                                                                                                  
                                 




















                                                                                                                                                                 
                                                                                         












































































































































































































                                                                                                                                                                               
                                                         
























                                                                                                                                                                        
//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015  Hercules Dev Team
//= Copyright (C)  L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program.  If not, see <http://www.gnu.org/licenses/>.
//=========================================================================
// BattleGround System - KvM Item Dealer
//================= Description ===========================================
//= Kreiger Von Midgard Battleground Point redemption NPC
//================= Current Version =======================================
//= 1.0
//================= Additional Comments ===================================
//= KvM Does NOT use items, but a character variable to keep track of
//= points. This NPC when talked to will convert already-given tokens and
//= convert them to points under the player variable kvm_point.
//=========================================================================

bat_room,151,144,3	script	KVM Logistic Officer#a	4_M_JOB_KNIGHT2,{
	if (countitem(War_Badge)) {
		.@pointstoadd = countitem(War_Badge);
		delitem 7773,.@pointstoadd;
		kvm_point += .@pointstoadd;
		mes "[Logistics]";
		mes "Are those "+getitemname(7773)+"s I see?";
		mes "We no longer accept that currency,";
		mes "but I can exchange those for you,";
		mes "So you have "+.@pointstoadd+" "+getitemname(7773)+"s?";
		mes "Alright, all set, you now have ^580080"+ kvm_point +"^000000 KVM Points.";
		next;
	}
	if (checkweight(Knife,1) == 0) {
		mes "- Wait a minute !! -";
		mes "- Currently you're carrying -";
		mes "- too many items with you. -";
		mes "- Please try again -";
		mes "- after you loose some weight. -";
		close;
	}
	mes "[Logistics]";
	mes "Hello?";
	mes "I am in charge of distributing";
	mes "reward items for KVM points. Any";
	mes "wrong selection of items will not";
	mes "be reversed. Please be carefull.";
	mes "Select the next step please.";
	next;
	.@name$ = strcharinfo(0);
	switch(select("Read the KVM Catalogue.:Purchase KVM Items.:Confirm KVM Points.:Explanation of KVM Rewards.:Explanation of KVM Points.")) {
	case 1:
		mes "[Logistics]";
		mes "Here is the catalogue of KVM items.";
		mes "Each weapon requires 2,000 points";
		mes "and each armor from 10 to 1,200";
		mes "points. So, be carefull when";
		mes "selecting a reward.";
		close2;
		readbook 11017,1;
		end;
	case 2:
		mes "[Logistics]";
		mes "Wich items do you want to see? As";
		mes "for the detailed specification of";
		mes "the items, please refer to the";
		mes "^3131FFCatalogue^000000.";
		next;
		switch(select("Weapon:Armor/Accessory:Mass-Production Armor/Accessory:Popularized Armor/Accessory")) {
		case 1:
			mes "[Logistics]";
			mes "You have selected the Weapon Category.";
			mes "Please select a sub-category.";
			next;
			switch(select("Dagger/Sword/Spear:Staff/Mace/Axe/Shuriken:Bow/Katar/Instrument/Whip:Book/Knuckle:Revolver/Rifle/Gun/Grenade Launcher")) {
			case 1:
				mes "[Logistics]";
				mes "You have selected the Dagger/Sword/Spear category.";
				mes "Please select a sub-category.";
				next;
				switch(select("Dagger:One-handed Sword:Two-handed Sword:One-handed Spear:Two-handed Spear")) {
				case 1: callsub PurchaseItem,13042,0,1; //Krieger_Dagger1
				case 2:
					mes "[Logistics]";
					mes "You have selected the 'One-handed Sword' category.";
					mes "There are 3 One-handed Swords: Glorious Flamberge, Glorious Rapier and Glorious Holy Avenger.";
					mes "If you want their details, please refer to the KVM Catalogue.";
					mes "Please select one of them.";
					next;
					switch(select("Glorious Flamberge:Glorious Rapier:Glorious Holy Avenger")) {
					case 1: callsub PurchaseItem,13416,0,0; //Krieger_Onehand_Sword1
					case 2: callsub PurchaseItem,13417,0,0; //Krieger_Onehand_Sword2
					case 3: callsub PurchaseItem,13418,0,0; //Krieger_Onehand_Sword3
					}
				case 3: callsub PurchaseItem,1187,0,1; //Krieger_Twohand_Sword1
				case 4: callsub PurchaseItem,1426,0,1; //Krieger_Onehand_Spear1
				case 5: callsub PurchaseItem,1486,0,1; //Krieger_Twohand_Spear1
				}
			case 2:
				mes "[Logistics]";
				mes "You have selected the 'Staff/Mace/Axe/Shuriken' category.";
				mes "Please select a sub-category.";
				next;
				switch(select("Staff:Mace:One-handed Axe:Two-handed Axe:Shuriken")) {
				case 1:
					mes "[Logistics]";
					mes "You have selected the 'Staff' category.";
					mes "There are 3 Staffs: a Two-handed Weapon Glorious Destruction Staff, a One-handed Glorious Arc Wand and a Glorious Healing Staff.";
					mes "If you want their details, please refer to the KVM Catalogue.";
					mes "Please select one of them.";
					next;
					switch(select("Glorious Destruction Staff:Glorious Arc Wand:Glorious Healing Staff")) {
					case 1: callsub PurchaseItem,2002,0,0; //Krieger_Twohand_Staff1
					case 2: callsub PurchaseItem,1640,0,0; //Krieger_Onehand_Staff1
					case 3: callsub PurchaseItem,1641,0,0; //Krieger_Onehand_Staff2
					}
				case 2: callsub PurchaseItem,1546,0,1; //Krieger_Onehand_Mace1
				case 3: callsub PurchaseItem,1310,0,1; //Krieger_Onehand_Axe1
				case 4: callsub PurchaseItem,1382,0,1; //Krieger_Twohand_Axe1
				case 5: callsub PurchaseItem,13307,0,1; //Krieger_Huuma_Shuriken1
				}
			case 3:
				mes "[Logistics]";
				mes "You have selected the Bow/Katar/Instrument/Whip category.";
				mes "Please select a sub-category.";
				next;
				switch(select("Bow:Katar:Instrument:Whip")) {
				case 1: callsub PurchaseItem,1743,0,1; //Krieger_Bow1
				case 2:
					mes "[Logistics]";
					mes "You have selected the 'Katar' category.";
					mes "There are 2 Katars: Glorious Bloody Roar and Glorious Jamadhar.";
					mes "If you want their details, please refer to the KVM Catalogue.";
					mes "Please select one of them.";
					next;
					switch(select("Glorious Bloody Roar:Glorious Jamadhar")) {
					case 1: callsub PurchaseItem,1281,0,0; //Krieger_Katar1
					case 2: callsub PurchaseItem,1282,0,0; //Krieger_Katar2
					}
				case 3: callsub PurchaseItem,1927,0,1; //Krieger_Instrument1
				case 4: callsub PurchaseItem,1981,0,1; //Krieger_Whip1
				}
			case 4:
				mes "[Logistics]";
				mes "You have selected the Book/Knuckle category.";
				mes "Please select a sub-category.";
				next;
				switch(select("Book:Knuckle")) {
				case 1:
					mes "[Logistics]";
					mes "You have selected 'Book'.";
					mes "There are 2 Books: Glorious Tablet and Glorious Apocalypse.";
					mes "If you want their details, please refer to the KVM Catalogue.";
					mes "Please select one of them.";
					next;
					switch(select("Glorious Tablet:Glorious Apocalypse")) {
					case 1: callsub PurchaseItem,1576,0,0; //Krieger_Book1
					case 2: callsub PurchaseItem,1577,0,0; //Krieger_Book2
					}
				case 2:
					mes "[Logistics]";
					mes "You have selected the 'Knuckle' category.";
					mes "There are 2 Knuckles: Glorious Claw and Glorious Fist.";
					mes "If you want their details, please refer to the KVM Catalogue.";
					mes "Please select one of them.";
					next;
					switch(select("Glorious Claw:Glorious Fist")) {
					case 1: callsub PurchaseItem,1826,0,0; //Krieger_Knuckle1
					case 2: callsub PurchaseItem,1827,0,0; //Krieger_Knuckle2
					}
				}
			case 5:
				mes "[Logistics]";
				mes "You have selected the 'Revolver/Rifle/Gun/Grenade Launcher' category.";
				mes "Please select a sub-category.";
				next;
				switch(select("Revolver:Rifle:Gatling Gun:Shotgun:Grenade Launcher")) {
				case 1: callsub PurchaseItem,13110,0,1; //Krieger_Pistol1
				case 2: callsub PurchaseItem,13176,0,1; //Krieger_Rifle1
				case 3: callsub PurchaseItem,13177,0,1; //Krieger_Gatling1
				case 4: callsub PurchaseItem,13178,0,1; //Krieger_Shotgun1
				case 5: callsub PurchaseItem,13179,0,1; //Krieger_Launcher1
				}
			}
		case 2:
			mes "[Logistics]";
			mes "You have selected the 'Armor/Accessory' category.";
			mes "Please select a sub-category.";
			next;
			switch(select("Armor:Cloak:Shoes:Accessory")) {
			case 1: callsub PurchaseItem,2394,1,2; //Krieger_Suit1
			case 2: callsub PurchaseItem,2549,2,2; //Krieger_Muffler1
			case 3: callsub PurchaseItem,2444,3,2; //Krieger_Shoes1
			case 4: callsub PurchaseItem,2772,4,2; //Krieger_Ring1
			}
		case 3:
			mes "[Logistics]";
			mes "You have selected the 'Mass-Production Armor/Accessory' category.";
			mes "Please select a sub-category.";
			next;
			switch(select("Mass-Production Armor:Mass-Production Shoes:Mass-Production Accessory")) {
			case 1: callsub PurchaseItem,2395,5,3; //Krieger_Suit2
			case 2: callsub PurchaseItem,2445,6,3; //Krieger_Shoes2
			case 3: callsub PurchaseItem,2773,7,3; //Krieger_Ring2
			}
		case 4:
			mes "[Logistics]";
			mes "You have selected the 'Popularized Armor/Accessory' category.";
			mes "Please select a sub-category.";
			next;
			switch(select("Popularized Armor:Popularized Shoes:Popularized Accessory")) {
			case 1: callsub PurchaseItem,2396,8,4; //Krieger_Suit3
			case 2: callsub PurchaseItem,2446,9,4; //Krieger_Shoes3
			case 3: callsub PurchaseItem,2774,10,4; //Krieger_Ring3
			}
		}
	case 3:
		mes "[Logistics]";
		mes ""+ .@name$ +", your current points are ^580080"+ kvm_point +"^000000 KVM Points.";
		close;
	case 4:
		mes "[Logistics]";
		mes "There are 3 categories in KVM Rewards: Weapon/Armor.Accessory.";
		next;
		mes "[Logistics]";
		mes "Weapon rewards require 2,000 KVM points for each.";
		mes "There are 3 types of Armor rewards and they require 840/630/580 KVM points fo each.";
		mes "Accessory rewards require 1,200 KVM points for each.";
		next;
		mes "[Logistics]";
		mes "Kreiger Weapons are LV 4 Weapons, they can be upgraded and will have special effects: Slaughter, Destruction and Blessing.";
		next;
		mes "[Logistics]";
		mes "When you can wear all 3 armors, you can have a special set of options.";
		mes "Also, when Kreiger Accessory rewards are worn with medalsm it will bring you special set rewards.";
		next;
		mes "[Logistics]";
		mes "Finally, there are Mass-Production Armor and Accessory rewards.";
		mes "Players whose Lvl is higher than 60 can equip Mass-Production Armors and there is a Lvl limit for Popularized Armor as well.";
		close;
	case 5:
		mes "[Logistics]";
		mes "KVM Points are rewarded when you win, lose or draw in Kreiger Von Midgard (KVM).";
		mes "You can have special Rewards by using these points.";
		close;
	}

PurchaseItem:
	// Pricing for Weapon, Suit1, Muffler1, Shoes1, Ring1m Suit2, Shoes2, Ring2, Suit3, Shoes3, Ring3
	setarray .@prices[0],2000,840,630,580,1200,120,70,200,15,10,30;

	mes "[Logistics]";

	if (!getarg(2))
		mes "You have selected ^ff0000"+getitemname(getarg(0))+"^000000.";
	else if (getarg(2) == 1)
		mes "There is only one "+callfunc("F_GetWeaponType",getarg(0))+": "+getitemname(getarg(0))+".";
	else if (getarg(2) == 2) {
		mes "You have selected '"+callfunc("F_GetArmorType",getarg(0))+"'.";
		mes "The armor for one whose Lvl is more than 80 is: ^ff0000"+getitemname(getarg(0))+"^000000.";
	}
	else if (getarg(2) == 3) {
		mes "You have selected 'Mass-Production "+callfunc("F_GetArmorType",getarg(0))+"'.";
		mes "There is only one Mass-Production "+callfunc("F_GetArmorType",getarg(0))+": ^ff0000"+getitemname(getarg(0))+"^000000.";
	}
	else if (getarg(2) == 4) {
		mes "You have selected 'Popularized "+callfunc("F_GetArmorType",getarg(0))+"'.";
		mes "There is only one Popularized "+callfunc("F_GetArmorType",getarg(0))+": ^ff0000"+getitemname(getarg(0))+"^000000.";
	}

	if (!getarg(1))
		mes "It requires ^0000ff2,000^000000 KVM Points, and "+ .@name$ +", your points are: ^580080"+ kvm_point +"^000000.";
	else if (getarg(1) == 4)
		mes "It requires ^0000ff1,200^000000 KVM Points, and "+ .@name$ +", your points are: ^580080"+ kvm_point +"^000000.";
	else
		mes "It requires ^0000ff"+.@prices[getarg(1)]+"^000000 KVM Points, and "+ .@name$ +", your points are: ^580080"+ kvm_point +"^000000.";

	mes "Are you sure you want this item?";
	next;
	switch(select("No, I won't purchase it.:Yes, I will purchase it.")) {
	case 1:
		mes "[Logistics]";
		mes "You have selected 'I won't purchase it'.";
		mes "When purchasing an item, please be careful there are no refunds.";
		break;
	case 2:
		if (kvm_point >= .@prices[getarg(1)]) {
			kvm_point -= .@prices[getarg(1)];
			getitem getarg(0),1;
			mes "[Logistics]";
			mes "You have purchased a "+getitemname(getarg(0))+".";
			if (!getarg(1))
				mes "Your KVM Points are reduced by ^0000ff"+getarg(1)+"^000000 points, your KVM Points are now ^580080"+kvm_point+"^000000.";
			if (getarg(1) == 4)
				mes "Your KVM Points are reduced by ^0000ff1,200^000000 points, your KVM Points are now ^580080"+kvm_point+"^000000.";
			else
				mes "Your KVM Points are reduced by ^0000ff"+.@prices[getarg(1)]+"^000000 points, your KVM Points are now ^580080"+kvm_point+"^000000.";
		}
		else {
			mes "[Logistics]";
			if (!getarg(1))
				mes "You need ^0000ff2,000^000000 KVM Points to purchase this item.";
			else if (getarg(1) == 4)
				mes "You need ^0000ff1,200^000000 KVM Points to purchase this item.";
			else
				mes "You need ^0000ff"+.@prices[getarg(1)]+"^000000 KVM Points to purchase this item.";
			mes "However, your KVM Points are now ^580080"+ kvm_point +"^000000.";
			mes "Which are not enough to buy it.";
			mes "When you get enough points, please come back again.";
		}
	}
	close;
}