diff options
Diffstat (limited to 'npc/custom/etc/penal_servitude.txt')
-rw-r--r-- | npc/custom/etc/penal_servitude.txt | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/npc/custom/etc/penal_servitude.txt b/npc/custom/etc/penal_servitude.txt new file mode 100644 index 000000000..bfbd39c63 --- /dev/null +++ b/npc/custom/etc/penal_servitude.txt @@ -0,0 +1,193 @@ +//===== rAthena Script ======================================= +//= Penal Servitude +//===== By: ================================================== +//= Lupus +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== 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 105,{ + 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; + set Zeny,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() || checkriding()){ + emotion e_hmm; + mes "I'm sorry, you should release your Cart, PecoPeco 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 708,{ + mes "[Oliver]"; + + delitem 4002,countitem(4002);//Items: Fabre_Card, + delitem 4009,countitem(4009);//Items: Chonchon_Card, + delitem 4022,countitem(4022);//Items: Spore_Card, + delitem 4048,countitem(4048);//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(1069)<PRISON_Q ) close;//Items: Orange_Net_Mushroom, + mes "OK... hand me all the shrooms..."; + mes "Let me see... "+countitem(1069)+" of almost eadible ones...";//Items: Orange_Net_Mushroom, + mes "And "+countitem(1070)+" useless deadly ones.";//Items: Orange_Gooey_Mushroom_, + next; + mes "[Oliver]"; + mes "Thank you. You are free!"; + set PRISON_Q,0; + delitem 1069,countitem(1069);//Items: Orange_Net_Mushroom, + delitem 1070,countitem(1070);//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(1069) || countitem(1070) ) mes "Drop these mushrooms!! They are poisonous!";//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_, + delitem 1069,countitem(1069);//Items: Orange_Net_Mushroom, + delitem 1070,countitem(1070);//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 |