// Evol scripts. // Authors: // Reid // Travolta // Description: // Barber of Aemil function script EdouardCheckChair { getmapxy(.@map$, .@x, .@y, UNITTYPE_PC); if ((.@map$ != getarg(0)) || (.@x != getarg(1)) || (.@y != getarg(2))) { doevent "Edouard::OnWrongPlace"; } else if (!issit()) { doevent "Edouard::OnNotSit"; } else { doevent "Edouard::OnChair"; } close; } 001-2-41,29,24,0 script Chair#Chair1-001-2-41 NPC_NO_SPRITE,{ EdouardCheckChair .map$, .x, .y; OnInit: .distance = 1; end; } 001-2-41,31,24,0 script Chair#Chair2-001-2-41 NPC_NO_SPRITE,{ EdouardCheckChair .map$, .x, .y; OnInit: .distance = 1; end; } 001-2-41,35,27,0 script Chair#Chair3-001-2-41 NPC_NO_SPRITE,{ EdouardCheckChair .map$, .x, .y; OnInit: .distance = 1; end; } 001-2-41,35,29,0 script Chair#Chair4-001-2-41 NPC_NO_SPRITE,{ EdouardCheckChair .map$, .x, .y; OnInit: .distance = 1; end; } 001-2-41,35,35,0 script Chair#Chair5-001-2-41 NPC_NO_SPRITE,{ EdouardCheckChair .map$, .x, .y; OnInit: .distance = 1; end; } 001-2-41,35,37,0 script Chair#Chair6-001-2-41 NPC_NO_SPRITE,{ EdouardCheckChair .map$, .x, .y; OnInit: .distance = 1; end; } 001-2-41,30,29,0 script Edouard NPC_EDOUARD,{ function tellStory; //EdouardCheckChair(); if (!issit()) goto OnWrongPlace; // Disregard if you're in the chair or not, for sake of gameplay goto OnChair; function tellStory { if (Edouard_StoryTold != 0) { mes ""; mesn; } speech S_LAST_NEXT | S_NO_NPC_NAME, l("I am new in this town, just like you."), l("I came here, looking for a better life."), l("And so far, the Merchant Guild helped me find this appartment so I can't complain!"), l("Anyway."), l("I'm a barber, you see. I can change your hairstyle or hair color to your current taste."); Edouard_StoryTold = 1; return; } OnWrongPlace: npctalkonce("Sit on the chair, I will come in a second!"); close; OnNotSit: npctalkonce("Please sit."); close; OnChair: speech S_LAST_NEXT, lg("Hello, young lady.", "Hello, young man."); if (Edouard_StoryTold == 0) { tellStory; } speech S_LAST_NEXT | S_NO_NPC_NAME, l("What would you like me to do?"); do { select l("What is my current hairstyle and hair color?"), l("I'd like to get a different style."), l("Can you do something with my color?"), l("How about changing my body type?"), l("What's your story again?"), l("I'm fine for now, thank you."); switch (@menu) { case 1: BarberSayStyle(); break; case 2: BarberChangeStyle; speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Enjoy your new style."), l("Anything else?"); break; case 3: BarberChangeColor; speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("I hope you like this color."), l("Anything else?"); break; case 4: BarberChangeBodyType(); speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("You look fantastic."), l("Anything else?"); break; case 5: tellStory; break; case 6: speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Feel free to come visit me another time."); goodbye; } } while (1); OnInit: .distance = 2; end; }