summaryrefslogtreecommitdiff
path: root/npc/custom/item_signer.txt
blob: 98e7cf2c82b9f658e471d7381b9978764bdb8a12 (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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
//===== rAthena Script =======================================
//= Sign Your Items
//===== By: ==================================================
//= Lupus
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= Write you name on your rare equipment or weapon ^_-
//= Original X-Mas mini-quest(could be used as a permanent one)
//===== Additional Comments: =================================
//= 
//============================================================

prt_in,24,61,7	script	Perchik	47,{
	mes "[Perchik]";
	if(BaseJob==Job_Novice || BaseLevel<50) {
		mes "Sorry, I don't help newbies. Go kill more Porings.";
		emotion e_sry;
		close;
	}
	mes "Hi, I can ^000090sign your name^000000 on almost any rare item you can hold.";
	next;
	menu "Tell me more...",-, "Sign my items, please",M_DO;

	mes "[Perchik]";
	mes "I can put your name on any slotless equipment or weapon.";
	emotion e_ic;
	next;
	mes "[Perchik]";
	mes "A week ago, my BOSS told me to send away newbies. I dunno why.";
	next;
	mes "[Perchik]";
	mes "For my work I accept ^0000803 Gift Box^000000es (gray one)";
	mes "plus ^FF00005000z^000000 per each refine of your item.";
	next;
	emotion e_cry;
	mes "[Perchik]";
	mes "Alas, I have 12 hungry children";
	mes "and a very angry wife.";
	next;
	mes "[Perchik]";
	mes "Or it was... 12 angry children";
	mes "and a very hungry wife...";
	emotion e_hmm;
	close;

M_DO:
	mes "[Perchik]";
	mes "Show me your items to sign...";
M_MENU:
	next;
	menu getequipname(1),M_PART1,getequipname(9),M_PART9,getequipname(10),M_PART10,getequipname(2),M_PART2,getequipname(4),M_PART4,
	getequipname(3),M_PART3,getequipname(5),M_PART5,getequipname(6),M_PART6,getequipname(7),M_PART7,getequipname(8),M_PART8;

	//Head Gear
M_PART1:
	set @part,1;
	if (getequipisequiped(1)) goto L_CHECK1;
	mes "[Perchik]";
	mes "A bald head under a cheap wig... There's nothing worthy to sign.";
	emotion 6;
	goto M_MENU;
M_PART9:
	set @part,9;
	if (getequipisequiped(9)) goto L_CHECK1;
	mes "[Perchik]";
	mes "Glasses... I can't see any glasses...";
	emotion 20;
	goto M_MENU;
M_PART10:
	set @part,10;
	if (getequipisequiped(10)) goto L_CHECK1;
	mes "[Perchik]";
	mes "I don't see any mask here.";
	emotion 20;
	goto M_MENU;
	//Armor
M_PART2:
	set @part,2;
	if (getequipisequiped(2)) goto L_CHECK1;
	mes "[Perchik]";
	mes "Your belly...? Yes, it's rather fat.";
	emotion 6;
	goto M_MENU;
	//Left Hand
M_PART3:
	set @part,3;
	if (getequipisequiped(3)) goto L_CHECK1;
	mes "[Perchik]";
	mes "Sign your left hand? I'm not a celebrity, you know...";
	emotion 4;
	goto M_MENU;
	//Right Hand
M_PART4:
	set @part,4;
	if (getequipisequiped(4)) goto L_CHECK1;
	mes "[Perchik]";
	mes "It isn't an armor... It's a mud!!! Wash your hands more often.";
	emotion 4;
	goto M_MENU;
	//Garment
M_PART5:
	set @part,5;
	if (getequipisequiped(5)) goto L_CHECK1;
	mes "[Perchik]";
	mes "Look... It's empty...";
	goto M_MENU;
	//Foot Gear
M_PART6:
	set @part,6;
	if (getequipisequiped(6)) goto L_CHECK1;
	mes "[Perchik]";
	mes "Aw!! I don't like stinky feet.";
	emotion 16;
	goto M_MENU;
	//Accessory1
M_PART7:
	set @part,7;
	if (getequipisequiped(7)) goto L_CHECK1;
	mes "[Perchik]";
	mes "Yep... a pocket with a huge hole...";
	emotion 20;
	goto M_MENU;
	//Accessory2
M_PART8:
	set @part,8;
	if (getequipisequiped(8)) goto L_CHECK1;
	mes "[Perchik]";
	mes "I see your fat belly...";
	emotion 20;
	goto M_MENU;

L_CHECK1:
	set @ref,0;
	set @id,getequipid(@part);
	if(getequipisidentify(@part)) goto L_CHECK2;
	mes "[Perchik]";
	mes "How could you equip such unknown item?";
	npctalk "What a sneaky cheater!";
	emotion e_wah;
	close;

L_CHECK2:
	set @ref,getequiprefinerycnt(@part);
	mes "[Perchik]";
	mes "You want me to sign your "+getitemname(@id)+"...";
	if(BaseJob==Job_Novice) {
		mes "But you're a Novice. My BOSS told me to send such weaklings away.";
		emotion e_sry;
		goto M_MENU;
	}
	set @slot0,getequipcardid(@part,0);
	set @slot1,getequipcardid(@part,1);
	set @slot2,getequipcardid(@part,2);
	set @slot3,getequipcardid(@part,3);

	if(@slot0==255 || @slot0==254 || @slot0<0) {
		mes "Alas, this item's already signed.";
		mes "I would never touch masters work.";
		emotion e_hmm;
		goto M_MENU;
	}
	if(@slot0>4000 && @slot0<5000) {
		mes "A card? Here?!";
		mes "As I said before, I don't sign items with cards.";
		emotion e_hmm;
		goto M_MENU;
	}
	if(getiteminfo(@id,10)) {
		mes "Sorry. I don't sign slotted items.";
		emotion e_sry;
		goto M_MENU;
	}
	getinventorylist;
	for (set .@i,0; .@i < @inventorylist_count; set .@i,.@i+1){
		if(@inventorylist_expire[.@i] != 0) {
			mes "Sorry, I don't sign rental items!";
			emotion e_hmm;
			goto M_MENU;
		}
	}

	if(@ref)mes "It has been refined "+@ref+" times... Adding ^FF00005000z^000000 per time.";
	mes "Give me ^0000803 gray Gift Boxes^000000";
	if(@ref)mes "and ^FF0000"+(5000*@ref)+"z^000000.";
	next;
	menu "Ok!",-, "Leave",M_END;
	if(Zeny>=(5000*@ref) && countitem(644)>=3) {
		delitem 644,3;
		set Zeny,Zeny-(5000*@ref);
		goto L_MAKE;
	}
	mes "[Perchik]";
	mes "I don't work for 'thanks'.";
	emotion e_sry;
	close;

L_MAKE:
	if(countitem2(@id,1,@ref,0,@slot0,@slot1,@slot2,@slot3)==0) {
		mes "[Perchik]";
		mes "Where is... "+getitemname(@id)+"?";
		npctalk "You're a snoozy cheater!";
		logmes "CHEATER: Tried to sign an item not having it: "+getitemname(@id);
		emotion e_wah;
		close;
	}
	delitem2 @id,1,1,@ref,0,@slot0,@slot1,@slot2,@slot3;

	mes "[Perchik]";
	mes "Done!";
	emotion e_proud;

	getitem2 @id,1,1,@ref,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
	close;

M_END:
	mes "[Perchik]";
	mes "See you...";
	emotion e_yawn;
	close;
}