summaryrefslogtreecommitdiff
path: root/npc/merchants/kunai_maker.txt
blob: 97bc89f1243ed41b25fbf679a2f289a90d5c6a20 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
//===== rAthena Script =======================================
//= Kunai Merchant Kashin
//===== By: ==================================================
//= rAthena dev team
//===== Current Version: =====================================
//= 1.3a
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= Trades a few shurikens + ninja stones for elemental kunai.
//===== Additional Comments: =================================
//= 1.0 Added the npc. It uses a function that sends the item 
//=	  id of the 2 required items plus the amount. Can trade
//= 	  up to 500 units (5,000 kunais) at once. [erKURITA]
//= 1.1 Officialized script [Playtester]
//= 1.2a Optimized/cleaned up a bit [ultramage]
//= 1.3 Updated to match AEGIS script. [Kisuka]
//= 1.3a Kagerou/Oboro support (BaseJob -> BaseClass) [Euphy]
//============================================================

que_ng,72,29,3	script	Kunai Merchant Kashin	83,{
	if(BaseClass == Job_Ninja) {
		mes "[Kashin]";
		mes "I am Kashin, distributor";
		mes "of Kunai for Ninjas. Take";
		mes "a look around and let me";
		mes "know if you're interested";
		mes "in any of my wares.";
		next;
		switch(select("10 Fell Poison Kunai:10 Icicle Kunai:10 High Wind Kunai:10 Black Earth Kunai:10 Heat Wave Kunai:Cancel")) {
		case 1: callfunc "Kunai_Trade",13250,20,7524,1,13259; break;
		case 2: callfunc "Kunai_Trade",13251,8,7522,2,13255; break;
		case 3: callfunc "Kunai_Trade",13252,4,7523,2,13257; break;
		case 4: callfunc "Kunai_Trade",13253,2,7524,1,13256; break;
		case 5: callfunc "Kunai_Trade",13254,1,7521,2,13258; break;
		case 6:
			mes "[Kashin]";
			mes "Well then, thank you";
			mes "for visiting my shop.";
			mes "Please come to me when";
			mes "you need to buy some";
			mes "Kunais. Goodbye for now~";
			close;
		}
	}
	mes "[Kashin]";
	mes "I am Kashin, distributor";
	mes "of Kunai for Ninjas. If you";
	mes "have any friends that are";
	mes "Ninjas, then you might";
	mes "want to tell them about me.";
	close;
}

function	script	Kunai_Trade	{
	mes "[Kashin]";
	mes "You can exchange";
	mes ""+getarg(1)+" "+getitemname(getarg(0))+" and";
	mes ""+getarg(3)+" "+getitemname(getarg(2))+" for every";
	mes "set of 10 "+getitemname(getarg(4))+".";
	next;
	mes "[Kashin]";
	mes "I can only give you a maximum of 500 sets of Kunais at a time.";
	mes "If you want to cancel the trade, then please enter ''0.'' How many";
	mes "Kunai sets would you like?";
	next;
	input .@amount;
	if(.@amount < 1 || .@amount > 500) {
		mes "[Kashin]";
		mes "Eh? I'm sorry, but";
		mes "I can't give you that";
		mes "many Kunai sets. Please";
		mes "enter a value less than 500.";
		close;
	}
	if(countitem(getarg(0)) < .@amount*getarg(1) || countitem(getarg(2)) < .@amount*getarg(3)) {
		mes "[Kashin]";
		mes "Hmm, you don't have";
		mes "enough items for this";
		mes "Kunai exchange. Please";
		mes "check your items again.";
		close;
 	}
	if(checkweight(getarg(4), .@amount*10) == 0) {
		mes "[Kashin]";
		mes "Hmm, it seems like your";
		mes "Inventory doesn't have";
		mes "enough space to store";
		mes "more items. You better";
		mes "free up some space first.";
		close;
	}
	mes "[Kashin]";
	mes "Great, everything is in";
	mes "order, so let's go ahead";
	mes "and complete this trade.";
	mes "I'm sure that you'll be";
	mes "quite satisfied with";
	mes "these Kunais.";
	delitem getarg(0),getarg(1)*.@amount;
	delitem getarg(2),getarg(3)*.@amount;
	getitem getarg(4),10*.@amount;
	close;
}