diff options
Diffstat (limited to 'npc/008-1-1/hal.txt')
-rw-r--r-- | npc/008-1-1/hal.txt | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/npc/008-1-1/hal.txt b/npc/008-1-1/hal.txt new file mode 100644 index 00000000..88b93a79 --- /dev/null +++ b/npc/008-1-1/hal.txt @@ -0,0 +1,131 @@ +// Evol scripts. +// Author: +// Livio +// Micksha +// Description: +// Hal, former Captain of the Legion. +// Following: https://gitlab.com/evol/evol-narrative/-/raw/e819b2a213802f6ded9f9b7efd18b09b0bc27570/Storylines/4.West%20Argaes.txt +// THIS IS A PLACEHOLDER! + +008-1-1,58,27,0 script Hal NPC_HAL,{ +// Private function declarations +function advanceQuest; +function advanceQuest { + setq(General_CptHal, getq(General_CptHal) + 1); + return; +} + +function QuestPart0; +function QuestPart1; +function QuestPart2; +function QuestPart3; +function QuestPart4; +function QuestPart5; + + switch(getq(General_CptHal)) { + case 0: QuestPart0(); break; + case 1: QuestPart1(); break; + case 2: QuestPart2(); break; + case 3: QuestPart3(); break; + case 4: QuestPart4(); break; + case 5: QuestPart5(); break; + default: + mesq l("[Invalid quest status: %d, check script]", getq(General_CptHal)); + } + close; + +// Haven't met Thamas? MOVE ALONG CITIZEN!!! +function QuestPart0 { + speech l("MOVE ALONG CITIZEN!!!"); +// l("I was just having a nap, now WildX summons me to stand here! What a crap."), +// l("Please, ask elanore to !slap him for me when you see them."); + close; +} + +function QuestPart1 { + speech l("MOVE ALONG C..."); + select l("Hey, hey... I've been talking with one of your comrades, Thamas."); + speech l("So what?"); + select l("What's so special about a mission assigned to a picky soldier?"); + mesq l("You see the soldiers staring each other and then at you."); + speech l("You think that I'm going to disclose that to you???"); + select + l("I just want to earn something to make a living."), + l("Ah, so special mission is secret mission too? Sorry if I've bothered you."); + + if (@menu==1) { + speech l("You look like anything but military personnel... Okay since the Brotherhood will discharge their quivers on us at the very first encounter I guess that we can make a good use of you."); + speech l("We cannot get close to Hurnscald in Legion uniforms so we may need you to get some supplies. However, stay away from Hurnscald if you can."); + speech l("Bring us some food supplies to help us feed the troops. We need:"); + printIngredients(.REQ0_INGREDIENTS, .REQ0_INGREDIENTS_AMOUNT); + next; + advanceQuest(); + } + speech l("Now, get out of my face."); + close; +} + +function QuestPart2 { + if (checkForItems(.REQ0_INGREDIENTS, .REQ0_INGREDIENTS_AMOUNT)){ + if (NPCcrafting( + .REQ0_INGREDIENTS, .REQ0_INGREDIENTS_AMOUNT, + .REQ0_OUTPUT, .REQ0_OUTPUT_AMOUNT, + l("Have you got those things with you?"), + l("Fine. Here is your reward."), + l("Go find those supplies! Don't waste my time!"), + l("Your inventory is full, make room if you want your reward!") + ) + ) + { + BaseExp += 15 * BaseLevel; + Zeny += 150; + getitem(.REQ0_OUTPUT, .REQ0_OUTPUT_AMOUNT); + advanceQuest(); + speech l("Now I need you to explore the area looking for Sergeant Ryan. I'm not having any report from him since a lot of time."); + speech l("I want you to go find him. He should not be that far from here."); + } + } +} + +function QuestPart3 { + speech l("Any luck finding Ryan?"); + select l("Negative."); + speech l("Scout the zone better! He must be somewhere nearby."); + close; +} + +function QuestPart4 { + speech l("So?"); + select l("Found priv... Ehm, I've found Sergeant Ryan. He is hurt and cannot walk right now."); + speech l("I don't have enough men to send after Sergeant Ryan. Provide him some sort of support until he recovers."); + select l("Roger that. Private %s, over!", strcharinfo(PC_NAME)); + close; +} + + +function QuestPart5 { + select l("Good news! Sgt.Ryan is fine now and is going to go on with his mission."); + speech l("Well done."); + next; + speech l("MOVE ALONG!!! I don't need you anymore."); + close; +} + +OnInit: + // NPC ITEM REQUESTS + setarray(.REQ0_INGREDIENTS, + MoubooSteak, + MoubooMilk, + Honey + ); + setarray(.REQ0_INGREDIENTS_AMOUNT, + 5, + 5, + 1 + ); + .REQ0_OUTPUT = BottleOfWater; + .REQ0_OUTPUT_AMOUNT = 1 ; + + .distance = 4; + end; +}
\ No newline at end of file |