summaryrefslogtreecommitdiff
path: root/npc/001-3-2/henry.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/001-3-2/henry.txt')
-rw-r--r--npc/001-3-2/henry.txt374
1 files changed, 0 insertions, 374 deletions
diff --git a/npc/001-3-2/henry.txt b/npc/001-3-2/henry.txt
deleted file mode 100644
index cfff8b56..00000000
--- a/npc/001-3-2/henry.txt
+++ /dev/null
@@ -1,374 +0,0 @@
-// Evol scripts.
-// Author:
-// Micksha
-// Jesusalva
-// Description:
-// Henry, a Thief Faction member managing the Hideout in Artis.
-// Pretends to be a nice pirate.
-
-001-3-2,24,51,0 script Henry#001-3-2 NPC_HENRY,{
- function proposeFirstQuest;
- function reportFirstQuest;
- function proposeSecondQuest;
- function reportSecondQuest;
- function proposeThirdQuest;
- function reportThirdQuest;
- function completedHenry;
-
- .@q=getq(ThiefQuests_Artis);
- switch (.@q) {
- case 0:
- proposeFirstQuest();
- break;
- case 1:
- case 2:
- reportFirstQuest();
- break;
- case 3:
- proposeSecondQuest();
- break;
- case 4:
- case 5:
- reportSecondQuest();
- break;
- case 6:
- proposeThirdQuest();
- break;
- case 7:
- case 8:
- reportThirdQuest();
- break;
- default:
- completedHenry();
- break;
- }
- close;
-
-///////////////////////////////////////////////////////
-function proposeFirstQuest {
- speech
- l("Stop! Who's there?"),
- l("Ah, its you. Sophialla already informed me. I can help you to go to Woodland, but you also could do me a favor."),
- l("The Legion has been on my tail for a while. They're a bit annoying, you know."),
- l("I mean, what's wrong with smuggling goods?! The town markets would have way less stuff otherwise. You can understand me, right? Don't answer."),
- l("Anyway, you want to get on our pirate ship, right? So you better help me out!"),
- b(l("In Artis Townhall Archives,"))+" "+l("there is an entry about me."),
- l("If they somehow catch me again, they'll use this entry as evidence to get me on a harsher punishment..."),
- l("So please find my file on the archives and, I don't know, deal with it?"),
- l("I am smart, I'll know if you lie. Anyway, just don't get caught inside the archives.");
- //l("After messing with the Major and the Legion here, I can teach you lockpicking. Ah, and you may try to find my friend Nunia in Woodland, once you go there. She seems to be disappeared."),
- //l("Call for Micksha and Jesusalva to implement all this, please.");
- next;
- mesc l("Accept this quest?"), 3;
- if (askyesno() == ASK_YES) {
- mesn;
- mesq l("Great! Then I'll be counting on you!");
- setq ThiefQuests_Artis, 1, 0, 2**rand2(17);
- }
- return;
-}
-
-function reportFirstQuest {
- .@q=getq(ThiefQuests_Artis);
- mesn;
- mesq l("Have you already did what I asked you to?");
- select
- l("Not yet, but I'll be back."),
- l("What was I supposed to do, again?"),
- l("Yes, the file has been dealt with.");
- mes "";
- switch (@menu) {
- case 1:
- mesn;
- mesq l("I'm not in hurry if you're not in hurry...");
- break;
- case 2:
- speech
- l("You should invade the townhall archives - I don't care how."),
- l("There'll be a file about an... incident... with me. Deal with the file - I also don't care how."),
- l("Try to don't get too much attention, or they'll arrest you as well.");
- break;
- case 3:
- mesn;
- mesq l("Hm... Then tell me, what was I wearing on the file picture?");
- next;
- select
- l("A fancy hat."),
- l("A shemagh or a shawl."),
- l("Sunglasses."),
- l("A santa hat."),
- l("A top hat."),
- l("A legion armor."),
- l("An eye patch."),
- l("A bandit hood."),
- rif(.@q == 2, l("There was no picture on the file."));
- mes "";
- if (@menu != 9) {
- mesc l("%s lunges at you!", strnpcinfo(1));
- mesc l("You've been stabbed!"), 1;
- mes "";
- mesn;
- mesq l("Now I know you're lying; Go find my file and deal with it!");
- percentheal -15, 0;
- close;
- } else {
- // WUT How did this even happen?!
- if (.@q != 2)
- atcommand("@kick "+strcharinfo(0));
-
- // TODO: Reward
- mesn;
- mesq l("Heh... I hope you disposed of the file.");
- next;
- mesn;
- mesq l("I'll keep my end of the bargain. The Hand- I mean, we pirates will bring you to the Argaes region.");
- next;
- mesn;
- mesq l("Can't bring you directly to the town because some... misunderstandings, but don't worry.");
- next;
- mesn;
- mesq l("Anyway, here's some gold. I might have another task for you if you want.");
- // Reward Reference: Lv 10
- quest_xp(.maxLevel_1, 30, BaseLevel);
- quest_jxp(.maxLevel_1, 30);
- Zeny+=300;
- setq ThiefQuests_Artis, 3;
- // Previous state already wiped this:
- //setq2 ThiefQuests_Artis, false; // Restart wheels
- }
-
- }
- return;
-}
-
-///////////////////////////////////////////////////////
-function proposeSecondQuest {
- speech
- l("Ah, its you again. Welcome back."),
- l("So, if you want to go to Hurnscald, just talk to the pirate down there."),
- l("Anyway, I still could use your help! You see, I would like to play tricks on the legion members during the night."),
- l("For this, I would like you to to repair the secret passage to the Legion Building."),
- l("Don't use the passage, you're not skilled enough and will be busted! Just repair it, it'll be enough.");
- mesc l("You suspect that he is withholding information. Do he really only wants to do pranks? But then, do you care with what he wants to do inside?");
- next;
- mesc l("Accept this quest?"), 3;
- select
- l("Actually, I wanted to ask you something."),
- l("Yes"),
- l("No");
- mes "";
- if (@menu == 2) {
- mesn;
- mesq l("Great! Then I'll be counting on you!");
- setq1 ThiefQuests_Artis, 4;
- close;
- } else if (@menu == 1) {
- mesn;
- mesq l("Shush - No questions.");
- next;
- mesn;
- mesq l("Thie-- *ahem* pirates do not reply to questions.");
- next;
- mesn;
- mesq l("...What? I'm totally a pirate. Arr harr! See? Pirate.");
- }
- return;
-}
-
-function reportSecondQuest {
- mesn;
- mesq l("Have you already did what I asked you to?");
- next;
- select
- l("Not yet, but I'll get to it."),
- l("What was I supposed to do, again?"),
- l("Yes, the deed is done.");
- mes "";
- switch (@menu) {
- case 1:
- break;
- case 2:
- speech
- l("In the sewers, there is a passage to the Legion basement."),
- l("I want to get in there, so please do me a favor, and repair the gate. Don't try to go inside yourself, you'll be caught."),
- l("Also - don't ask me why I want this. Thieves doesn't make questions. You better remember this!");
- break;
- case 3:
- mesn;
- mesq l("Great! I'll send a scout to check. I hope you didn't blew up everything by going there, you're not very discrete.");
- next;
- mes "...";
- next;
- .@q2=getq2(ThiefQuests_Artis);
- if (.@q2 != 2) {
- mesn;
- mesq l("Nope, it is still sealed tight. Go do your job if you want a reward.");
- break;
- }
- mesn;
- mesq l("Alright - This will be... good. Anyway, I should give you a reward.");
- next;
- mesn;
- mesq l("Take this %s. There is something good on it; Just use a %s.",
- getitemlink(TreasureMap), getitemlink(IronShovel));
-
- // Obtain the map, quest is done
- inventoryplace TreasureMap, 1;
- getitem TreasureMap, 1;
- quest_jxp(.maxLevel_2, 100);
- setq1 ThiefQuests_Artis, 6;
-
- // Override the treasure location, if already existing
- .@m$="001-1";
- .@x=any(199, 200);
- .@y=any(61,62);
-
- shovel_addquest(.@m$, .@x, .@y, "shovel_randomtreasure");
- ShovelQuests_AssignedMAP$=shovel_getcity(.@m$);
- ShovelQuests_AssignedX=.@x;
- ShovelQuests_AssignedY=.@y;
-
- // TODO: If we add a daily legion quest, it must be "redemption"~ish
- // That is, destroy points from all other three factions
- // ...Also, is *this* specific code a good idea at all?
- .@t$=faction_addrep("Legion", -15);
- mesc .@t$;
- .@t$=faction_addrep("Thief", 15);
- mesc .@t$;
- next;
- mesn;
- mesq l("I don't know how to get a shovel, though.");
- next;
- mesn;
- mesq l("Remember: \"Use\" the map, and use the debugger (F10) or \"/where\" in chat to check your coordinates!");
- }
- return;
-}
-
-///////////////////////////////////////////////////////
-function proposeThirdQuest {
- speech
- l("Thanks for the help the other day."),
- l("I have a beloved friend called Nunia, who handles the Thieves' Guild branch in Hurnscald."),
- l("Bet you thought we were simple pirates, right? No smart remarks, please."),
- l("Anyway, I haven't heard about her from quite a while, which is concerning."),
- l("Could you please go there see if she is well?"),
- l("I'll give you something... useful... If you want to pursue in being a thief. I'll even put a good word about you... If you manage to find our headquarters somewhere in the world, that is!");
- next;
- mesc l("Accept this quest?"), 3;
- if (askyesno() == ASK_YES) {
- mesn;
- mesq l("Great! Then I'll be counting on you!");
- setq1 ThiefQuests_Artis, 7;
- close;
- }
- return;
-}
-
-function reportThirdQuest {
- mesn;
- mesq l("Have you already did what I asked you to?");
- next;
- select
- l("Not yet, but I'll get to it."),
- l("What was I supposed to do, again?"),
- l("Yes, the deed is done.");
- mes "";
- switch (@menu) {
- case 2:
- speech
- l("My beloved friend Nunia in Hurnscald went missing."),
- l("I mean, I do not receive any letter from her for a while, so I got worried."),
- l("I would like you to check how she is doing. You know, the Brotherhood could have got her and she is in need of rescue, or something else.");
- break;
- case 3:
- .@q=getq(ThiefQuests_Artis);
- mesn;
- mesq l("Before you go on any further, I wanna see the proof that you talked with her.");
- next;
- if (.@q != 8) {
- mesc l("You don't know what sort of proof he is looking for.");
- break;
- }
-
- select
- l("She has white hair, blue eyes, and always carry a big sack."),
- l("She told me a passphrase.");
- mes "";
- if (@menu == 2) {
- mesn;
- mesq l("Liar; Nunia is not creative enough to come up with a passphrase of her own!");
- next;
- mesn;
- mesq l("Besides, if she could give you a passphrase, then I wouldn't have sent ya.");
- break;
- }
-
- mesn;
- mesq l("That's Nunia alright. So how she is doing?");
- next;
- mesc l("You describe to him how Nunia is supposed to lay low for a while.");
- next;
- mesn;
- mesq l("Of course. I'm glad she is safe. You know, we don't really care with this Legion versus Brotherhood stifle.");
- next;
- mesn;
- mesq l("The brotherhood spies here are... friendly, but mostly because our interests coincide. But in Hurnscald, where their main base is, we're enemies.");
- next;
- inventoryplace Lockpicks, 5;
- mesn;
- mesq l("Anyway, thanks for the report. I'll give you some %s.", getitemlink(Lockpicks));
- next;
- mesn;
- mesq l("Whenever you find a vault, a door, or anything of interest, you can use it to pry it open.");
- next;
- mesn;
- mesq l("Lockpicks are not keys, they can break quite easily. Also, you don't want anyone watching you.");
- next;
- mesn;
- mesq l("If you are caught while lockpicking, you'll be arrested. So be careful.");
- // TODO: Add a lock here where player can train without being arrested.
- next;
- mesn;
- mesq l("I have other matters to attend do, so you'll have to excuse me.");
- quest_item(.maxLevel_3, Lockpicks, 5);
- setq1 ThiefQuests_Artis, 9;
- break;
- }
- return;
-}
-
-///////////////////////////////////////////////////////
-function completedHenry {
- mesc l("He seems to ignore you.");
- mesc l("Probably better not disturb him.");
- return;
-}
-
-
-///////////////////////////////////////////////////////
-OnInit:
- .distance = 3;
- .maxLevel_1 = 15;
- .maxLevel_2 = 25;
- .maxLevel_3 = 35;
- end;
-
-OnGiantMaggot:
- .@q=getq(ThiefQuests_Artis);
- .@q2=getq2(ThiefQuests_Artis);
- .@max=(.@q == 1 ? true : (.@q == 4 ? true : false));
-
- // To drop, or not to drop...?
- if (!.@q2 && .@max) {
- if (rand2(10000) < 1800) {
- getitem Gearwheel, 1;
- setq2 ThiefQuests_Artis, true;
- }
- }
-
- // Eh, whatever, continue with what you were doing, script.
- fix_mobkill(GiantMaggot);
- end;
-}
-