//===== rAthena Script ======================================= //= Arrow Quivers //===== By: ================================================== //= Muad_Dib (Prometheus Project); L0ne_W0lf //===== Current Version: ===================================== //= 1.1 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= [Official Conversion] //= Turns arrows into Arrow Quivers. //= Breakdown of Subroutine "S_BuyQuiver" //= arg(0): Type of Arrow to be packaged (item ID). //= arg(1): How many of each 'getarg(0)' arrow per quiver. //= arg(2): The cost of making a 'getarg(0)' quiver. //= arg(3): The quiver given by the NPC (item ID). //===== Additional Comments: ================================= //= 1.0 Added Mora NPC. [Euphy] //= 1.1 Updated to match the official scripts. [Euphy] //= 1.2 Update regarding the Barter Shop [JohnnyPlayy, Capuche] //============================================================ // Mora :: ep14_1_tre //============================================================ mora,106,117,3 script Quiver Maker#mora 4_M_RAFLE_GR,{ if (checkweight(1201,1) == 0) { mes "[Quiver Maker]"; mes "You have too many things with you."; mes "Make some space in your inventory and come back. I'll tell you something interesting."; close; } if (MaxWeight - Weight < 2000) { mes "[Quiver Maker]"; mes "You seem worn out with all that stuff."; mes "Make some space in your inventory and come back. I'll tell you something interesting."; close; } mes "[Quiver Maker]"; mes "Mora villagers ask what good quivers are. They just don't know how the world works."; mes "No wonder they don't know a thing about quivers - spreading jam over leaves all day long."; next; if (getbattleflag("feature.barter")) { .@menu$ = "I want arrows"; } switch( select("Please make me a quiver.", .@menu$, "What's a quiver?") ) { case 1: if (getbattleflag("feature.barter")) { mes "[Quiver Maker]"; mes "Finally, someone has appeared who knows the true value of a quiver. I will do it for those who know its worth."; close2; callshop "Quiver_Archer", 1; end; } mes "[Quiver Maker]"; mes "At last someone appreciates a quiver!"; mes "I can make Elven Quivers and Hunting Quivers."; mes "Which do you need?"; next; switch(select("An Elven Quiver:A Hunting Quiver:I don't need a quiver.")) { case 1: callsub S_BuyQuiver,1773,500,500,12575; //Arrow_Of_Elf_Cntr case 2: callsub S_BuyQuiver,1774,500,500,12576; //Hunting_Arrow_Cntr case 3: mes "[Quiver Maker]"; mes "You can buy arrows off the tool merchant next to me."; close; } end; case 2: if (getbattleflag("feature.barter")) { mes "[Quiver Maker]"; mes "I don't sell ordinary arrows. These are artisan arrows that can only be purchased here. Would you really recognize its worth, right?"; close2; callshop "Catch_Arrows", 1; } end; case 3: mes "[Quiver Maker]"; mes "An arrow may be thin and light, but carrying hundreds and thousands of arrows is like carrying a whole log."; next; mes "[Quiver Maker]"; mes "But when you have quivers, you can put arrows in them and save weight and space."; mes "If you're interested in one, I'll stitch one up for you."; close; } end; S_BuyQuiver: .@item_req = getarg(0); .@req_amount = getarg(1); if (countitem(getarg(0)) < .@req_amount) { mes "[Quiver Maker]"; mes "Bring more than "+ .@req_amount +" "+ getitemname(.@item_req) +" and I'll make you a quiver."; close; } mes "[Quiver Maker]"; mes "Oh, I see you have "+ getitemname(.@item_req) +" in your hand!"; mes "Are you interested in using a quiver? It's really convenient!"; mes "If you're interested, I can trade "+ .@req_amount +" of those arrows for one of these quivers for ^FF3131"+getarg(2)+" zeny^000000."; next; switch(select("Trade all the arrows you have:Get only one quiver:Don't trade")) { case 1: set .@arrows, countitem(.@item_req); set .@quiver, .@arrows / .@req_amount; set .@arrows_used, .@quiver * .@req_amount; set .@arrow_zeny01, .@quiver * getarg(2); mes "The number of arrows you have : ^3131FF"+.@arrows+"^000000"; mes "The number of quivers available : ^3131FF"+.@quiver+"^000000"; mes "Zeny needed for trade : ^3131FF"+.@arrow_zeny01+" zeny^000000"; next; mes "Trade?"; next; if(select("Trade:Don't trade") == 2) { mes "[Quiver Maker]"; mes "Hey, you don't doubt my skills, do you?"; close; } break; case 2: set .@quiver, 1; set .@arrows_used, .@req_amount; set .@arrow_zeny01, getarg(2); set .@zeny_mes,1; break; case 3: mes "[Quiver Maker]"; mes "Hey, you don't doubt my skills, do you?"; close; } if (Zeny < .@arrow_zeny01) { mes "[Quiver Maker]"; if (.@zeny_mes == 1) mes "I said I'd accept human coins just for you, and you still don't want to spend the money?"; else mes "You really don't expect to get your hands on a masterpiece for nothing, do you?"; close; } mes "[Quiver Maker]"; mes "Hey, here you are."; mes "There is ^3131FFsomething you need to know^000000 - try to remember it."; mes "^FF0000You can't use quivers when your encumbrance is over 70%.^000000"; mes "You'd better keep that in mind, or you might be in trouble later."; set Zeny, Zeny-.@arrow_zeny01; delitem .@item_req,.@arrows_used; getitem getarg(3),.@quiver; close; } //= Basic Shops //============================================================ //= Arrows - marketshop Catch_Arrows HIDDEN_NPC,1773:5:-1,1774:5:-1