summaryrefslogblamecommitdiff
path: root/npc/merchants/ammo_boxes.txt
blob: 2d30e81de68cd6676c107387a6e9700148fcce22 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                              
                    
                                                              
                    
                                                              
       
                                                              
                                       
                                                              

                                                                   
                                                     
                                                         
                                               
                                                    
                                                          

                                                              
                                                                        

                                        















                                                                                                                                                                               
                                      






                                                         
         
                      





                                              
             
                      



                                         

              
 
                                         
                      
                                 

                                                                          

                                          
             
                      

                                                                            
             
                      




                                                                             
             
                       

                                             




                                            

                      
                                                     

                                                                   
                                              







                                                                  
                                              




                                                                
                                                    



                                                               

                                      







                                                      

                              





                                                  

                      
 
//===== Hercules Script ======================================
//= Magazine Dealers
//===== By: ==================================================
//= rAthena Dev Team
//===== Current Version: =====================================
//= 1.5
//===== Description: =========================================
//= Turns bullets into magazines/packs.
//===== Additional Comments: =================================
//= 1.0 First version. [SinSloth]
//= 1.1 Optimized version - Reduced to only one function [SinSloth]
//= 1.2 Optimized^2, corrected npc's name [ultramage]
//= 1.2a Optimized. Please, ommit extra NPC names [Lupus]
//= 1.3 Updated to match AEGIS script. [Kisuka]
//= 1.4 Updated to match AEGIS script again. [Masao]
//= 1.5 Moved Izlude duplicate to pre-re/re paths. [Euphy]
//============================================================

alberta,118,157,3	script	Magazine Dealer Kenny::mdk	4_M_01,{
	if (BaseJob == Job_Gunslinger) {
		mes "[Kenny]";
		mes "Welcome to my Magazine Shop.";
		mes "As you may know, large numbers";
		mes "of bullets can be carried more";
		mes "easily when they're in Magazines. Now, can I interest you in";
		mes "anything in particular?";
		next;
		switch(select("Wind Sphere Pack:Shadow Sphere Pack:Poison Sphere Pack:Water Sphere Pack:Fire Sphere Pack:Cartridge:Blood Cartridge:Silver Cartridge:Cancel")) {
		case 1: callfunc "Func_Casing",13204,12144; break;
		case 2: callfunc "Func_Casing",13206,12145; break;
		case 3: callfunc "Func_Casing",13205,12146; break;
		case 4: callfunc "Func_Casing",13207,12147; break;
		case 5: callfunc "Func_Casing",13203,12148; break;
		case 6: callfunc "Func_Casing",13200,12149; break;
		case 7: callfunc "Func_Casing",13202,12150; break;
		case 8: callfunc "Func_Casing",13201,12151; break;
		case 9:
			mes "[Kenny]";
			mes "Well, if you ever find";
			mes "that you have too many";
			mes "bullets, come and see me.";
			mes "It's a smart idea to store";
			mes "bullets with my Magazines.";
			close;
		}
	}
	mes "[Kenny]";
	mes "Welcome to my shop.";
	mes "Here, I provide Magazines";
	mes "and Cartridges for Gunslingers.";
	mes "Sorry, but it doesn't look like";
	mes "my services would be of any";
	mes "use to you, adventurer.";
	next;
	mes "[Kenny]";
	mes "Eh, but if you happen to";
	mes "know any Gunslingers, send";
	mes "them my way. You can never";
	mes "have too many bullets.";
	close;
}

function	script	Func_Casing	{
	mes "[Kenny]";
	mes "Now, you can trade";
	mes "500 "+getitemname(getarg(0))+"s";
	mes "and 500 zeny for 1 "+getitemname(getarg(1))+", so make sure";
	mes "you have sufficient bullets";
	mes "and zeny for this exchange.";
	next;
	mes "[Kenny]";
	mes "You can exchange 500 "+getitemname(getarg(0))+"s and 500 zeny";
	mes "with 1 "+getitemname(getarg(1))+".";
	next;
	mes "[Kenny]";
	mes "Remember that I can't give";
	mes "you more than 50 Magazines";
	mes "at a time. Now please enter";
	mes "the number of Magazines you";
	mes "want to receive. If you want to cancel, then just enter ''0.''";
	next;
	input .@amount;
	if (.@amount > 50 || .@amount == 0) {
		mes "[Kenny]";
		mes "Hey, I can't give you";
		mes "that many Magazines.";
		mes "Please try again, and";
		mes "enter a number no";
		mes "greater than 50.";
		close;
	}
	if (countitem(getarg(0)) >= (500*.@amount)) {
		if (Zeny >= (500*.@amount)) {
			if (checkweight(getarg(1),.@amount) == 0) {
				mes "[Kenny]";
				mes "Hey, you've got a lot";
				mes "of junk crammed in your";
				mes "Inventory. Free up some";
				mes "space, and then come back";
				mes "and trade your bullets for";
				mes "some Magazines later, okay?";
				close;
			}else{
				mes "[Kenny]";
				mes "Alright, here are";
				mes "your Magazines. Thanks";
				mes "for visiting my shop, and";
				mes "I hope that you use all";
				mes "of your ammo wisely.";
				Zeny -=500*.@amount;
				delitem getarg(0),500*.@amount;
				getitem getarg(1),.@amount;
				close;
			}
		} else {
			mes "[Kenny]";
			mes "Sorry, but you don't";
			mes "have enough zeny for";
			mes "this Magazine exchange.";
			mes "Come back to my shop";
			mes "after you've saved up";
			mes "some more money.";
			close;
		}
	} else {
		mes "[Kenny]";
		mes "Sorry, but you don't";
		mes "have enough bullets for";
		mes "this Magazine exchange.";
		mes "Maybe you should double";
		mes "check your Inventory, and";
		mes "then come back to me later.";
		close;
	}
}