summaryrefslogtreecommitdiff
path: root/npc/custom/etc/penal_servitude.txt
blob: 8566fb8715e1d29c6162f18d3590257c3e609f4e (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
//===== Hercules Script ======================================
//= Penal Servitude
//===== By: ==================================================
//= Lupus
//===== Current Version: =====================================
//= 1.2
//===== Description: =========================================
//= A simple Penal Servitude Script.
//= It could cheer up your prisoners a bit.
//===== Additional Comments: =================================
// This script uses CHEQUES of the 2nd KAFRA_BANK.TXT
// var PRISON - it counts number of your imprisonments.
// 1.1 English translation
// 1.2 Stricted the conditions a bit
//============================================================

sec_pri,36,58,1	script	Chief Warder	8W_SOLDIER,{
	mes "[Saddeus]";
	emotion 1;
	if(Sex) {
		mes "Mr. Prisoner #"+BaseLevel+JobLevel+",";
	} else {
		mes "Ms. Prisoner #"+BaseLevel+JobLevel+",";
	}
	mes "what's the noise over there?";
	next;
	menu "Let me free, I'll pay!",-, "Let me to work off my freedom!",M_Q1, "Nothing",M_NO_THANKS;

M_PAY:
	mes "[Saddeus]";
	set @MUSTPAY,(PRISON+1)*1000000;
	if (@MUSTPAY<1000000) set @MUSTPAY,1000000;
	if (@MUSTPAY>100000000) set @MUSTPAY,100000000;
	if (PRISON==1) mes "I can't remember you. Is it your 1st time?";
	if (PRISON>1) mes "You again? Sombody hasn't grown wiser from the very first visit...";
	mes "OK, we could release you for ^FF0000"+@MUSTPAY+"z^000000.";
	next;
	menu "I pay cash!",M_PAYCASH,"Do you accept cheques?",M_PAYBANK,"I've changed my mind.",-;

	mes "[Saddeus]";
	mes "You've got some time to think about...";
	close;

M_PAYCASH:
	if (@MUSTPAY>Zeny) goto L_NOCASH;
	Zeny -= @MUSTPAY;
	mes "[Saddeus]";
	mes "OK, sing here and there.";
	goto L_RELEASE;

L_NOCASH:
	mes "[Saddeus]";
	mes "What's this? It's not enough!";
	close;

M_PAYBANK:
	if (@MUSTPAY>#kafrabank) goto L_NOBANK;
	set #kafrabank,#kafrabank-@MUSTPAY;
	mes "[Saddeus]";
	mes "OK, sign your cheque. And put down your name in my book.";
	goto L_RELEASE;

L_NOBANK:
	mes "[Saddeus]";
	if (#kafrabank==0) mes "Your case says nothing about your bank accounts.";
	if (#kafrabank!=0) mes "Alas, there's your bank account info... ^FF0000"+#kafrabank+"z^000000... in the case. It's not enough.";
	mes "Stop your silly games now!";
	close;

L_RELEASE:
	set PRISON,PRISON+1;
	next;
	mes "[Saddeus]";
	mes "You are free now!";
	next;
	savepoint "izlude",105,112;
	warp "izlude",105,112;
	close;

M_Q1:
	mes "[Saddeus]";
	mes "Our stocks are short of toadstools.  Remember your morning's skilly?  What about some work at our sponsored mushroom farm?";
	next;
	menu "OK, I'll work off!",-, "I love this prison!",M_NO_THANKS;

	mes "[Saddeus]";
	if(checkcart() || checkfalcon() || checkmount()){
		emotion e_hmm;
		mes "I'm sorry, you should release your Cart, Mount or Falcon!";
		close;
	}
	mes "Talk to our overseer, Oliver.";
	next;

	nude;

	set @rw,rand(1,4);
	if (@rw==2) goto L_W2;
	if (@rw==3) goto L_W3;
	if (@rw==4) goto L_W4;

L_W1:
	savepoint "sec_in02",179,76;
	warp "sec_in02",179,76;
	close;

L_W2:
	savepoint "sec_in02",139,32;
	warp "sec_in02",139,32;
	close;

L_W3:
	savepoint "sec_in02",100,28;
	warp "sec_in02",100,28;
	close;

L_W4:
	savepoint "sec_in02",107,75;
	warp "sec_in02",107,75;
	close;

M_NO_THANKS:
	mes "[Saddeus]";
	if (rand(2)) mes "Is today X-Mas time, huh?";
	mes "Now shut up and back off!";
	if (rand(2)) emotion 23;
	close;
}

sec_in02,137,57,1	script	Overseer	4_M_PAY_SOLDIER,{
	mes "[Oliver]";

	delitem Fabre_Card,countitem(Fabre_Card);//Items: Fabre_Card,
	delitem Chonchon_Card,countitem(Chonchon_Card);//Items: Chonchon_Card,
	delitem Spore_Card,countitem(Spore_Card);//Items: Spore_Card,
	delitem Poison_Spore_Card,countitem(Poison_Spore_Card);//Items: Poison_Spore_Card,

	if (PRISON_Q <= 0 ) goto L_GET_Q;

	mes "I want you to gather ^FF0000"+PRISON_Q+" Orange Net Mushroom^000000.";
	if ( countitem(Mushroom_Of_Thief_1)<PRISON_Q ) close;//Items: Orange_Net_Mushroom,
	mes "OK... hand me all the shrooms...";
	mes "Let me see... "+countitem(Mushroom_Of_Thief_1)+" of almost eadible ones...";//Items: Orange_Net_Mushroom,
	mes "And "+countitem(Mushroom_Of_Thief_2)+" useless deadly ones.";//Items: Orange_Gooey_Mushroom_,
	next;
	mes "[Oliver]";
	mes "Thank you. You are free!";
	set PRISON_Q,0;
	delitem Mushroom_Of_Thief_1,countitem(Mushroom_Of_Thief_1);//Items: Orange_Net_Mushroom,
	delitem Mushroom_Of_Thief_2,countitem(Mushroom_Of_Thief_2);//Items: Orange_Gooey_Mushroom_,
	next;
	savepoint "izlude",105,112;
	warp "izlude",105,112;
	close;

L_GET_Q:
	set PRISON,PRISON+1;
	if (PRISON > 1) mes "Hmm... You've been here already... Well-well...";

	if ( countitem(Mushroom_Of_Thief_1) || countitem(Mushroom_Of_Thief_2) ) mes "Drop these mushrooms!! They are poisonous!";//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
	delitem Mushroom_Of_Thief_1,countitem(Mushroom_Of_Thief_1);//Items: Orange_Net_Mushroom,
	delitem Mushroom_Of_Thief_2,countitem(Mushroom_Of_Thief_2);//Items: Orange_Gooey_Mushroom_,

	set PRISON_Q, PRISON*3 + BaseLevel/3;
	set PRISON_Q, PRISON_Q * (readparam(bAspd)/55 + 1);
	set PRISON_Q, PRISON_Q+rand(50,60);
	mes "OK, you must bring me ^FF0000"+PRISON_Q+"^000000 edible ^FF0000Orange Net Mushroom^000000 toadstoo.. shrooms.";
	if(readparam(bAspd)>=100) mes "You're a fast fella! You'll have to get more shrooms, then.";
	if (rand(10)<4) mes "And you may eat the deadly ones for breakfast.";
	close;
}

sec_in02	mapflag	nomemo
sec_in02	mapflag	nosave	SavePoint
sec_in02	mapflag	noteleport
sec_in02	mapflag	nobranch
sec_in02	mapflag	nowarp
sec_in02	mapflag	nowarpto
sec_in02	mapflag	noexp
sec_in02	mapflag	noskill
//sec_in02	mapflag	pvp
//sec_in02	mapflag	pvp_noparty
//sec_in02	mapflag	gvg
sec_in02	mapflag	pvp_nightmaredrop	random,all,300

sec_in02,138,55,100,100	monster	Toadstool	1182,30,10000,10000,1
sec_in02,138,55,100,100	monster	Fabre	1184,10,20000,20000
sec_in02,138,55,100,100	monster	Chonchon	1183,11,20000,20000
sec_in02,138,55,100,100	monster	Spore	1014,12,20000,20000
sec_in02,138,55,100,100	monster	Poison Spore	1077,3,20000,20000