summaryrefslogtreecommitdiff
path: root/npc/merchants/ammo_dealer.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/merchants/ammo_dealer.txt')
-rw-r--r--npc/merchants/ammo_dealer.txt125
1 files changed, 125 insertions, 0 deletions
diff --git a/npc/merchants/ammo_dealer.txt b/npc/merchants/ammo_dealer.txt
new file mode 100644
index 000000000..71f189c6e
--- /dev/null
+++ b/npc/merchants/ammo_dealer.txt
@@ -0,0 +1,125 @@
+//===== rAthena Script =======================================
+//= Bullet Dealer Tony
+//===== By ===================================================
+//= Playtester, Paradox924X
+//===== Version ==============================================
+//= 1.5
+//===== Compatible With ======================================
+//= rAthena SVN
+//===== Description ==========================================
+//= Bullet trader.
+//===== Comments =============================================
+//= 1.0 First version [Playtester]
+//= 1.1 Converted from Aegis [Paradox924X]
+//= 1.2 More optimized conversion [Legionaire]
+//= 1.2a Removed .GATs [Lupus]
+//= 1.3 Fixed [Playtester] Optimized. Got rid of @vars [Lupus]
+//= 1.4 Updated to match AEGIS script. [Kisuka]
+//= 1.5 Updated to match AEGIS script again. [Masao]
+//= 1.6 Moved Izlude duplicate to pre-re/re paths. [Euphy]
+//============================================================
+
+alberta,118,160,3 script Bullet Dealer Tony#alb::bdt 86,{
+ if (BaseJob == Job_Gunslinger) {
+ mes "[Tony]";
+ mes "I'm Tony, the Bullet Dealer.";
+ mes "Come to me whenever you're";
+ mes "short on ammo. Just bring me";
+ mes "the materials, and I'll make";
+ mes "you the bullets you need.";
+ next;
+ switch(select("Poison Sphere:Flare Sphere:Lighting Sphere:Blind Sphere:Freezing Sphere:Cancel")) {
+ case 1: callfunc "Bullet_Trade",937,10,13205; break;
+ case 2: callfunc "Bullet_Trade",7097,2,13203; break;
+ case 3: callfunc "Bullet_Trade",7053,3,13204; break;
+ case 4: callfunc "Bullet_Trade",1024,5,13206; break;
+ case 5: callfunc "Bullet_Trade",7054,2,13207; break;
+ case 6:
+ mes "[Tony]";
+ mes "Changed your mind?";
+ mes "Well, if you ever need";
+ mes "any bullets, I'll be right";
+ mes "here. Come back whenever";
+ mes "you think you'll need more";
+ mes "ammunition, Gunslinger.";
+ close;
+ }
+ }
+ mes "[Tony]";
+ mes "Hey, I'm Tony. I'm in";
+ mes "charge of distributing";
+ mes "and making bullets for";
+ mes "Gunslingers. It's just";
+ mes "how our guild likes";
+ mes "to do things.";
+ next;
+ mes "[Tony]";
+ mes "I'm sorry if you came";
+ mes "here to buy some bullets.";
+ mes "I can only do business with";
+ mes "fully fledged Gunslingers.";
+ close;
+}
+
+function script Bullet_Trade {
+ mes "[Tony]";
+ mes "For every set of";
+ mes "30 "+getitemname(getarg(2))+"s,";
+ mes "you must give me";
+ mes "1 Emveretarcon,";
+ mes "1 Phracon, and";
+ mes ""+getarg(1)+" "+getitemname(getarg(0))+".";
+ next;
+ mes "[Tony]";
+ mes "Remember that I can give";
+ mes "a maximum of 500 sets of";
+ mes "30 bullets at a time. Please";
+ mes "enter the number of bullet sets";
+ mes "that you'd like. If you want to";
+ mes "cancel, then just enter ''0.''";
+ next;
+ input .@amount;
+ if (.@amount < 1 || .@amount > 500) {
+ mes "[Tony]";
+ mes "Hey, I can't give you";
+ mes "that many bullets. Don't";
+ mes "forget to enter a number";
+ mes "that's no higher than 500";
+ mes "if you want to trade your";
+ mes "items for some bullets.";
+ close;
+ }
+ if (countitem(1010) >= .@amount && countitem(1011) >= .@amount && countitem(getarg(0)) >= (.@amount*getarg(1))) {
+ if (checkweight(getarg(2),.@amount * 30) == 0) {
+ mes "[Tony]";
+ mes "Eh? Your Inventory doesn't";
+ mes "have enough space for this";
+ mes "many bullets. Come back later";
+ mes "after you make more space";
+ mes "available. Try putting some of";
+ mes "your things into Kafra Storage.";
+ close;
+ }else{
+ mes "[Tony]";
+ mes "Great, everything seems";
+ mes "to be in order. Let me take";
+ mes "these materials, and here are";
+ mes "your bullets. It's a pleasure";
+ mes "to do business with you~";
+ delitem 1010,.@amount;
+ delitem 1011,.@amount;
+ delitem getarg(0),.@amount * getarg(1);
+ getitem getarg(2),.@amount * 30;
+ close;
+ }
+ }else{
+ mes "[Tony]";
+ mes "Huh. It looks like you";
+ mes "don't have enough materials";
+ mes "for that many bullets. Well,";
+ mes "it's no problem. Just come";
+ mes "back after gathering everything";
+ mes "that you need, okay?";
+ close;
+ }
+}