// Airlia, daughter of the cemetary caretaker // Future extensions: // * Add banter and random replies for the unlimited subquests // * Airlia quest = 2 unlocks options with Fighters of the Undead NPCs (in Cemetery), such as the 'Kill Sir Truk' quest // * Airlia quest = 2 unlocks other options, perhaps with future Warrior Guild prospects (this is long term) 009-2.gat,123,71,0 script Airlia 108,{ // Subquest 1a: Caretaker's daughter (initial, once) set @LETTER_REWARD_GOLD_INITIAL, 1000; set @LETTER_REWARD_EXP_INITIAL, 2000; set @Q_STATUS_RECIEVED_FIRST_LETTER, 2; set @Q_STATUS_DELIVERED_FIRST_LETTER, 3; // Subquest 1b: Continued delivery of letters (unlimited) set @LETTER_REWARD_GOLD, 42; set @LETTER_REWARD_EXP, 500; set @Q_STATUS_HAS_NO_NEW_LETTER, 4; set @Q_STATUS_HAS_NEW_LETTER, 5; // Subquest 2a: Fetch those undead drops (initial, once) // TODO: Set sane values below set @FETCH_AMOUNT_INITIAL, 42; set @FETCH_LABEL_INITIAL$, "Iten"; set @FETCH_NAME_INITIAL$, "Iten"; set @FETCH_REWARD_GOLD_INITIAL, 0; set @FETCH_REWARD_EXP_INITIAL, 42; set @Q_STATUS_HELP_AIRLIA, 1; set @Q_STATUS_INITIAL_FETCH_REWARDED, 2; // Subquest 2b: Fetch those undead drops (unlimited) // TODO: Set sane values below set @FETCH_AMOUNT, @FETCH_AMOUNT_INITIAL; set @FETCH_LABEL$, @FETCH_LABEL_INITIAL$; set @FETCH_NAME$, @FETCH_NAME_INITIAL$; set @FETCH_REWARD_GOLD, 1; set @FETCH_REWARD_EXP, 0; if (QUEST_Airlia == @Q_STATUS_INITIAL_FETCH_REWARDED) goto L_Rewarded; if (QUEST_Airlia == @Q_STATUS_HELP_AIRLIA) goto L_Fetch; if (QUEST_Graveyard_Caretaker > @Q_STATUS_RECIEVED_FIRST_LETTER) goto L_Airlia_intro; L_Caretaker: mes "[Airlia]"; mes "\"Greetings. Do you need a housing permit, or to license your mount?\""; next; if (QUEST_Graveyard_Caretaker < @Q_STATUS_RECIEVED_FIRST_LETTER) menu "Sorry, no.", -, "My what?", L_Caretaker_mount; if (QUEST_Graveyard_Caretaker == @Q_STATUS_RECIEVED_FIRST_LETTER) menu "Sorry, no.", -, "I have a letter from your father.", L_Caretaker_first_reward, "My what?", L_Caretaker_mount; mes "[Airlia]"; mes "\"Nobody ever does...\""; close; L_Caretaker_mount: // The mention of mounts will certainly gather some interest from players, // this section may be extended. close; L_Caretaker_first_reward: mes "[Airlia]"; mes "\"Oh! Thank you very, very much! Please take this for your trouble.\""; if (@LETTER_REWARD_GOLD_INITIAL > 0) mes "[" + @LETTER_REWARD_GOLD_INITIAL + " GP]"; if (@LETTER_REWARD_EXP_INITIAL > 0) mes "[" + @LETTER_REWARD_EXP_INITIAL + " experience points]"; set zeny, zeny + @LETTER_REWARD_GOLD_INITIAL; getexp @LETTER_REWARD_EXP_INITIAL, 0; set QUEST_Graveyard_Caretaker, @Q_STATUS_DELIVERED_FIRST_LETTER; close; L_Caretaker_later_rewards: mes "[Airlia]"; mes "\"Oh! Thank you very, very much! Please take this for your trouble.\""; if (@LETTER_REWARD_GOLD > 0) mes "[" + @LETTER_REWARD_GOLD + " GP]"; if (@LETTER_REWARD_EXP > 0) mes "[" + @LETTER_REWARD_EXP + " experience points]"; set zeny, zeny + @LETTER_REWARD_GOLD; getexp @LETTER_REWARD_EXP, 0; set QUEST_Graveyard_Caretaker, @Q_STATUS_HAS_NO_NEW_LETTER; close; L_Airlia_intro: mes "[Airlia]"; mes "\"My poor father, doomed to that awful cemetery.\""; next; if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NO_NEW_LETTER) menu "...", -; if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER) menu "...", -, "Oh, I have a letter from him.", L_Caretaker_later_rewards; mes "[Airlia]"; mes "\"You know, there are many who believe that each time the undead rise after being killed, they lose mana." mes "Eventually, there will not be enough mana for them to rise again and they can be at rest. Do you believe this is true?\""; next; menu "I believe so, yes.", L_Airlia_intro_mana_loss, "Maybe...", L_Airlia_intro_mana_loss, "No, that is not proven.", -; mes "[Airlia]"; mes "\"Oh...\""; close; L_Airlia_intro_mana_loss: mes "[Airlia]"; mes "\"When I am not working, I recruit help for the esteemed Fighters of the Undead, or FoU." mes "They are an official group effort of the Warriors' Guild and Magicians, you know, a very prestigious group.\""; next; menu "...", L_Airlia_intro_fou, "I have heard of them.", L_Airlia_intro_fou, "Keep up the good work. I have to go now, bye.", -; close; L_Airlia_intro_fou: mes "[Airlia]"; mes "\"If we drain those evil creatures of their mana, I can get my father back. He is getting very old. Will you help us?\""; next; menu "Of course I will.", L_Airlia_intro_fight, "Sure, I guess.", L_Airlia_intro_fight, "Thanks, but no thanks. I have other business to attend to.", -; close; L_Airlia_intro_fight: mes "[Airlia]"; mes "\"Great, just kill any of the undead creatures you can and bring me proof of your work, and I will put in a word for you with the guild.\""; next; menu "I'm on it.", -, "What sort of proof?", L_Airlia_intro_proof; set QUEST_Airlia, @Q_STATUS_HELP_AIRLIA; close; L_Airlia_intro_proof: mes "[Airlia]"; mes "\"Let's say " + @FETCH_AMOUNT_INITIAL + " [" + @FETCH_NAME_INITIAL$ + "]s. You don't know how much this means to me, thank you.\""; set QUEST_Airlia, @Q_STATUS_HELP_AIRLIA; close; L_Fetch: mes "[Airlia]"; mes "\"Thank you for helping my father.\""; next; if (QUEST_Airlia < @Q_STATUS_INITIAL_FETCH_REWARDED) menu "You are welcome.", -, "I have collected " + @FETCH_AMOUNT_INITIAL + " [" + @FETCH_NAME_INITIAL$ + "]s.", L_Fetch_initial_reward; if (QUEST_Airlia == @Q_STATUS_INITIAL_FETCH_REWARDED) menu "You are welcome.", -, "I have collected " + @FETCH_AMOUNT + " [" + @FETCH_NAME$ + "]s.", L_Fetch_later_rewards; close; L_Fetch_initial_reward: if (countitem(@FETCH_LABEL_INITIAL$) < @FETCH_AMOUNT_INITIAL) goto L_Fetch_not_enough; mes "[Airlia]"; mes "\"Excellent work. You are definitely a great warrior. I will tell the guild of your deeds.\""; if (@FETCH_REWARD_GOLD_INITIAL > 0) mes "[" + @FETCH_REWARD_GOLD_INITIAL + " GP]"; if (@FETCH_REWARD_EXP_INITIAL > 0) mes "[" + @FETCH_REWARD_EXP_INITIAL + " experience points]"; delitem @FETCH_LABEL_INITIAL$, @FETCH_AMOUNT_INITIAL; set zeny, zeny + @FETCH_REWARD_GOLD_INITIAL; getexp @FETCH_REWARD_EXP_INITIAL, 0; set QUEST_Airlia, @Q_STATUS_INITIAL_FETCH_REWARDED; next; mes "[Airlia]"; // TODO: Write the dialogue when I'm not tired... mes "\"Oh, before you leave. We all must do what we can to stop this tragedy." mes "If you are willing to keep draining the undead of mana, I willl give you what gold I can afford as a token of my gratitude.\""; close; L_Fetch_later_rewards: if (countitem(@FETCH_LABEL$) < @FETCH_AMOUNT) goto L_Fetch_not_enough; mes "[Airlia]"; mes "\"Excellent work. You are definitely a great warrior.\""; if (@FETCH_REWARD_GOLD > 0) mes "[" + @FETCH_REWARD_GOLD + " GP]"; if (@FETCH_REWARD_EXP > 0) mes "[" + @FETCH_REWARD_EXP + " experience points]"; delitem @FETCH_LABEL$, @FETCH_AMOUNT; set zeny, zeny + @FETCH_REWARD_GOLD; getexp @FETCH_REWARD_EXP, 0; close; L_Fetch_not_enough: mes "[Airlia]"; mes "\"I'm sorry, I didn't realize you couldn't count. Perhaps when I have some free time, I can help you learn if you'd like.\""; close; L_Rewarded: mes "[Airlia]"; mes "\"Thank you for your help.\""; next; if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NO_NEW_LETTER) menu "I have collected " + @FETCH_AMOUNT + " [" + @FETCH_NAME$ + "]s.", L_Fetch_later_rewards; if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER) menu "I have another letter from your father.", L_Caretaker_later_rewards, "I have collected " + @FETCH_AMOUNT + " [" + @FETCH_NAME$ + "]s.", L_Fetch_later_rewards; close; }