diff options
Diffstat (limited to 'npc/pre-re/merchants/clothes_dyer.txt')
-rw-r--r-- | npc/pre-re/merchants/clothes_dyer.txt | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/npc/pre-re/merchants/clothes_dyer.txt b/npc/pre-re/merchants/clothes_dyer.txt new file mode 100644 index 000000000..489194428 --- /dev/null +++ b/npc/pre-re/merchants/clothes_dyer.txt @@ -0,0 +1,144 @@ +//===== rAthena Script ======================================= +//= Clothes Dyer +//===== By: ================================================== +//= Usnul +//===== Current Version: ===================================== +//= 2.5 +//===== Compatible With: ===================================== +//= rAthena 1.0+ +//===== Description: ========================================= +//= Clothes dyer with standard palletes +//===== Additional Comments: ================================= +//= Fully working +//= 2.1 Shortened some labels to make this script loading, +//= Added Black+White Colors desc [Lupus] +//= 2.1a - added adv classes + baby class support [Lupus] +//= 2.2 - Spell checked. [Nexon] +//= 2.3 - Fixed dis $hit! [Poki#3] +//= 2.4 - Disabled cloth dyeing since it's not implemented +// on official servers and cause your client to crash +// [Playtester] +//= 2.5 - Optimized. [Euphy] +//============================================================ + +prt_in,284,168,2 script Dyer Ginedin Rephere 55,{ +function Dyes; + + set .@EnableDyes,1; // Disable (set to 0) if palettes cause errors [see note v2.4] + + set .n$,"[Dyer Ginedin Rephere]"; + mes .n$; + mes "11... 12... Mmm... good. I think I'll be able to finish before tonight's party. Oh! I didn't notice you were here!"; + while(1) { + next; + mes .n$; + mes "How may I assist you?"; + next; + switch(select("- Talk:- Dye Clothing:- Price List:- ^777777Cancel^000000")) { + case 1: + mes .n$; + mes "Life may have gotten a bit better, but when I look at all of the orders I've received... Whew!"; + mes "It seems that the young women of Rune Midgard must be very well off these days."; + next; + mes .n$; + mes "Not that I think that they are indulging in anything luxurious, mind you."; + mes "I don't think there is anything wrong with the pursuit of beauty and being fashionable."; + next; + mes .n$; + mes "For us humans, who have no colorful fur or decorative scales, clothes are one of the few ways we have to display our personality, style, and beauty."; + next; + mes .n$; + mes "Haha... When I think about it, I really feel that my job is worthwhile. I believe that I provide a service that the people desire."; + next; + mes .n$; + mes "Can you feel it too? The energy that is released when rough fabric and leather are brought to life with color?....."; + next; + mes .n$; + mes "Although the process is very tedious and time consuming, the joy and happiness I feel when a dress is finished more than makes up for all of the hard work!!"; + break; + case 2: + mes .n$; + if (!.@EnableDyes) { + mes "Sorry, I'm too busy with other jobs to dye your clothes."; break; } + mes "Oh... you need my work? Well... okay, sounds good."; + next; + mes .n$; + mes "Please choose a color"; + mes "that suits you."; + next; + set .@eac, eaclass(); + switch(roclass(eaclass()&EAJ_UPPERMASK)) { + + // Dyes(<color value>,<dye number>{,...}); + // Colors: [1]Orange, [2]Violet, [3]Red, [4]Black, [5]Green, [6]Blue, [7]White, [8]Yellow + + case Job_Novice: if (Sex) Dyes(4,1,6,2,5,3); else Dyes(6,1,3,2,5,3,4,4); + case Job_Swordman: if (Sex) Dyes(4,1,6,2,5,3); else Dyes(3,1,5,3,4,4); + case Job_Mage: if (Sex) Dyes(3,1,2,2,1,3,7,4); else Dyes(3,1,2,2,7,3,4,4); + case Job_Archer: if (Sex) Dyes(4,1,2,2,5,3); else Dyes(3,1,5,2,7,3,4,4); + case Job_Acolyte: if (Sex) Dyes(6,1,3,2,7,3,4,4); else Dyes(3,1,5,3,4,4); + case Job_Merchant: if (Sex) Dyes(4,1,6,2,5,3); else Dyes(2,1,5,3,4,4); + case Job_Thief: if (Sex) Dyes(5,1,3,2,7,4); else Dyes(3,1,7,3,4,4); + case Job_Knight: case Job_Crusader: if (Sex) Dyes(2,1,3,3,4,4); else Dyes(6,1,7,3,4,4); + case Job_Priest: case Job_Monk: if (Sex) Dyes(6,1,5,2,3,3,7,4); else Dyes(3,1,5,2,7,3,4,4); + case Job_Wizard: case Job_Sage: if (Sex) Dyes(6,1,5,3,4,4); else Dyes(3,1,6,2,7,3,5,4); + case Job_Blacksmith: case Job_Alchemist: if (Sex) Dyes(4,4,5,2,7,3); else Dyes(3,1,5,2,2,3,4,4); + case Job_Hunter: case Job_Bard: case Job_Dancer: if (Sex) Dyes(4,1,6,2,5,3); else Dyes(6,1,5,3,2,4); + case Job_Assassin: case Job_Rogue: if (Sex) Dyes(6,1); else Dyes(4,1,8,2,7,3); + case Job_SuperNovice: if (Sex) Dyes(2,1,6,2,5,3,4,4); else Dyes(6,1,3,2,5,3,4,4); + default: + mes "Wow, I've never seen clothes like that before! I'm sorry, but I don't think I can paint it."; + close; } + case 3: + mes .n$; + mes "Each color costs 10000z and 1 dye:"; + mes " "; + mes " - ^FF4422Red^000000: Scarlet Dyestuffs"; + mes " - ^D5A500Yellow^000000: Lemon Dyestuffs"; + mes " - ^AA00AAViolet^000000: Violet Dyestuffs"; + mes " - ^FF8800Orange^000000: Orange Dyestuffs"; + mes " - ^4422FFBlue^000000: CobaltBlue Dyestuffs"; + mes " - ^009500Green^000000: DarkGreen Dyestuffs"; + mes " - Black: Black Dyestuffs"; + mes " - White: White Dyestuffs"; + break; + case 4: + goto L_End; } } +L_End: + mes .n$; + mes "Make yourself at home. Even though I don't have time for you."; + close; + +function Dyes { + setarray .@DyeName$[0],"the default color","Orange","Violet","Red","Black","Green","Blue","White","Yellow"; + setarray .@DyeItems[0],0,980,981,975,983,979,978,982,976; + set .@menu$,"- Default:"; + for(set .@i,0; 1; set .@i,.@i+2) { + if (!getarg(.@i,0)) break; + set .@menu$, .@menu$+"- "+.@DyeName$[getarg(.@i)]+":"; } + set .@menu$, .@menu$+"- ^777777Cancel^000000"; + set .@s, select(.@menu$)-1; + if (.@s==.@i-2) goto L_End; + mes .n$; + if (!.@s) { + mes "I can change your dye to"; + mes "the default for free."; + mes "Are you sure?"; + next; + if(select("Yes:No")==2) goto L_End; + mes .n$; + setlook 7,0; + mes "Your clothes have been dyed "+.@DyeName$[0]+"."; + close; } + if (!countitem(.@DyeItems[getarg((.@s-1)*2)])) { + mes "For me to dye your clothes, I'll need the appropriate Dyestuffs. Please check my price list for the information."; + close; } + if (Zeny < 10000) { + mes "I'm sorry, but you don't have enough money."; + close; } + delitem .@DyeItems[getarg((.@s-1)*2)],1; + set Zeny, Zeny-10000; + setlook 7, ((.@s)?(getarg((.@s-1)*2+1)):0); + mes "Your clothes have been dyed "+((.@s)?.@DyeName$[getarg((.@s-1)*2)]:.@DyeName$[0])+"."; + close; } +}
\ No newline at end of file |