summaryrefslogtreecommitdiff
path: root/world/map/npc/008-1
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/008-1')
-rw-r--r--world/map/npc/008-1/_import.txt15
-rw-r--r--world/map/npc/008-1/_mobs.txt12
-rw-r--r--world/map/npc/008-1/_nodes.txt4
-rw-r--r--world/map/npc/008-1/_warps.txt11
-rw-r--r--world/map/npc/008-1/andra.txt172
-rw-r--r--world/map/npc/008-1/annualeaster.txt224
-rw-r--r--world/map/npc/008-1/banu.txt98
-rw-r--r--world/map/npc/008-1/diryn.txt11
-rw-r--r--world/map/npc/008-1/dock.txt91
-rw-r--r--world/map/npc/008-1/george.txt44
-rw-r--r--world/map/npc/008-1/hinnak.txt257
-rw-r--r--world/map/npc/008-1/mapflags.txt1
-rw-r--r--world/map/npc/008-1/mikhail.txt62
13 files changed, 0 insertions, 1002 deletions
diff --git a/world/map/npc/008-1/_import.txt b/world/map/npc/008-1/_import.txt
deleted file mode 100644
index 630d4263..00000000
--- a/world/map/npc/008-1/_import.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-// Map 008-1: Hurnscald Outskirts
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-map: 008-1
-npc: npc/008-1/_mobs.txt
-npc: npc/008-1/_nodes.txt
-npc: npc/008-1/_warps.txt
-npc: npc/008-1/andra.txt
-npc: npc/008-1/annualeaster.txt
-npc: npc/008-1/banu.txt
-npc: npc/008-1/diryn.txt
-npc: npc/008-1/dock.txt
-npc: npc/008-1/george.txt
-npc: npc/008-1/hinnak.txt
-npc: npc/008-1/mapflags.txt
-npc: npc/008-1/mikhail.txt
diff --git a/world/map/npc/008-1/_mobs.txt b/world/map/npc/008-1/_mobs.txt
deleted file mode 100644
index 6c077242..00000000
--- a/world/map/npc/008-1/_mobs.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Hurnscald Outskirts mobs
-
-008-1,0,0,0,0|monster|PinkFlower|1014,10,20ms,0ms
-008-1,0,0,0,0|monster|Pinkie|1018,18,20ms,0ms
-008-1,0,0,0,0|monster|ManaBug|1131,18,30ms,0ms
-008-1,0,0,0,0|monster|Maggot|1002,30,30ms,0ms
-008-1,0,0,0,0|monster|MauvePlant|1029,2,270000ms,180000ms
-008-1,0,0,0,0|monster|Silkworm|1035,2,60000ms,30000ms
-008-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms
-008-1,0,0,0,0|monster|Squirrel|1038,10,30ms,20ms
-008-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms
diff --git a/world/map/npc/008-1/_nodes.txt b/world/map/npc/008-1/_nodes.txt
deleted file mode 100644
index d8b67583..00000000
--- a/world/map/npc/008-1/_nodes.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Hurnscald Outskirts nodes
-
-// (no nodes)
diff --git a/world/map/npc/008-1/_warps.txt b/world/map/npc/008-1/_warps.txt
deleted file mode 100644
index 6606e681..00000000
--- a/world/map/npc/008-1/_warps.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Hurnscald Outskirts warps
-
-008-1,54,61|warp|-1,1,009-1,25,36
-008-1,79,80|warp|2,-1,009-1,48,54
-008-1,127,61|warp|-1,0,009-1,96,36
-008-1,79,49|warp|2,-1,009-1,48,25
-008-1,24,62|warp|-1,2,011-1,123,61
-008-1,79,17|warp|2,-1,018-1,78,97
-008-1,79,102|warp|2,-1,007-1,68,22
-008-1,132,101|warp|1,-1,007-1,122,23
diff --git a/world/map/npc/008-1/andra.txt b/world/map/npc/008-1/andra.txt
deleted file mode 100644
index 68796fd7..00000000
--- a/world/map/npc/008-1/andra.txt
+++ /dev/null
@@ -1,172 +0,0 @@
-// Andra asks for your help to keep the soil fertile. The best way to do it is planting, so she asks for water and seeds. When she plants the seeds, some plants are spawned.
-
-008-1,36,26,0|script|Andra|201
-{
- set @water_amount, 1;
- set @seeds_amount, 4;
- if ($@andra_status == 1) goto L_Planting;
- if (BaseLevel < 30) goto L_TooYoung;
- if (FLAGS & FLAG_ANDRA_HELPED) goto L_Return;
- mes "[Andra]";
- mes "\"Hello, my name is Andra. You see those nice trees? I planted every single one of them! I'm very proud of my work!\"";
- next;
- menu
- "Nice! I imagine you planted them a long time ago, right?", L_Next,
- "Sorry, but I'm not interested in plants and trees.", L_DislikePlants;
-
-L_Next:
- mes "[Andra]";
- mes "\"That is the fun part... It took only some months... and look how healthy and beautiful they are!\"";
- next;
- menu
- "How is that possible?", L_Next1;
-
-L_Next1:
- mes "[Andra]";
- mes "\"A few years ago, a nice woman from Tulimshar did something amazing to the land around here... I guess her name was Eomie. I have no idea what she did, but since she worked on this land, everything you plant here will grow really fast!\"";
- next;
- mes "\"But I am very worried about something she told me when she left... She warned me that this place needs constant care. If one small spot is not cultivated for a long time, it will become less and less fertile.\"";
- next;
- mes "And she also told me that this soil is so fertile because it has a lot of nutrients not only on this side, but everywhere. So it is certain that all soil in this place will become weaker if we let a lot of unfertilized spots...\"";
- next;
- menu
- "That sounds bad! But you just need to keep planting, right?", L_Next2;
-
-L_Next2:
- mes "[Andra]";
- mes "\"Exactly! But it is a big place. And I don't have too much money to buy seeds. If only I could find someone who could help me... ah... I know you are probably busy, but since you are here, would you like to help me in this noble task?\"";
- menu
- "Of course! What can I do to help you?", L_Next3,
- "Not right now, I'm really busy.", L_Busy;
-
-L_Next3:
- mes "[Andra]";
- mes "\"Yay! I knew you would help me! I just need seeds and water... I think " + @seeds_amount + " Grass Seeds and " + @water_amount + " Bottle(s) of Water should be enough to grow some plants on the place. If you give the items, you can let the rest with me.\"";
- next;
- menu
- "I don't have it right now, but I will come back later.", L_Close,
- "Here are the seeds and the water.", L_Next4;
-
-L_Next4:
- if (countitem("BottleOfWater") < @water_amount || countitem("GrassSeed") < @seeds_amount) goto L_NotEnough;
- if ($@spawned_plants >= $@MAX_GLOBAL_PLANTS) goto L_Gather;
- mes "[Andra]";
- mes "\"Great! Thank you for you help. If you have more items and want to help again, feel free to talk to me. We just have to be careful to not oversoak the soil with water.. but you don't need to worry, I will know when it is the right time to stop planting.";
- next;
- delitem "BottleOfWater", @water_amount;
- delitem "GrassSeed", @seeds_amount;
- set FLAGS, FLAGS | FLAG_ANDRA_HELPED;
- mes "Andra pours some water in a lot of different places and then throws some seeds to the sky. The wind carries some of them really far from her.";
- close2;
- goto L_PreSummon;
-
-L_PreSummon:
- set $@andra_status, 1;
- set $@farmer$, strcharinfo(0);
- startnpctimer;
- end;
-
-OnTimer1000:
- set $@plant_id, rand(1029,1032);
- areamonster "008-1",44,18,135,46,"",$@plant_id,$@PLANTS_PER_SEED, "Andra::OnPlantDeath";
- if (attachrid(getcharid(3,$@farmer$)) == 0)
- goto L_Spawn1000;
- message strcharinfo(0), "Andra: I think some plants will grow almost instantly! Just Watch...";
- goto L_Spawn1000;
-
-L_Spawn1000:
- set $@spawned_plants, $@spawned_plants + $@PLANTS_PER_SEED;
- end;
-
-OnTimer3000:
- set $@plant_id, rand(1029,1032);
- areamonster "008-1",44,18,135,46,"",$@plant_id,$@PLANTS_PER_SEED, "Andra::OnPlantDeath";
- set $@spawned_plants, $@spawned_plants + $@PLANTS_PER_SEED;
- end;
-
-OnTimer5000:
- set $@plant_id, rand(1029,1032);
- areamonster "008-1",44,18,135,46,"",$@plant_id,$@PLANTS_PER_SEED, "Andra::OnPlantDeath";
- set $@spawned_plants, $@spawned_plants + $@PLANTS_PER_SEED;
- end;
-
-OnTimer7000:
- set $@plant_id, rand(1029,1032);
- areamonster "008-1",44,18,135,46,"",$@plant_id,$@PLANTS_PER_SEED, "Andra::OnPlantDeath";
- if (attachrid(getcharid(3,$@farmer$)) == 0)
- goto L_Spawn7000;
- message strcharinfo(0), "Andra: Good... Just take a walk and you will be able to see how your seeds turned into some nice looking plants.";
- goto L_Spawn7000;
-
-L_Spawn7000:
- set $@spawned_plants, $@spawned_plants + $@PLANTS_PER_SEED;
- set $@andra_status, 0;
- set $@farmer$, "";
- setnpctimer 0;
- stopnpctimer;
- end;
-
-L_Return:
- mes "[Andra]";
- mes "\"Hi " + strcharinfo(0) + ", good to see you! You came back to help me again?\"";
- next;
- menu
- "Yes, and I already have the seeds and the water.", L_Next5,
- "No, I just wanted to say hello.", L_Bye;
-
-L_Next5:
- if ($@spawned_plants >= $@MAX_GLOBAL_PLANTS) goto L_Gather;
- if (countitem("BottleOfWater") < @water_amount || countitem("GrassSeed") < @seeds_amount) goto L_NotEnough;
- delitem "BottleOfWater", @water_amount;
- delitem "GrassSeed", @seeds_amount;
- mes "Andra pours some water in a lot of different places and then throws the seeds to the sky. The wind carries some of them really far from her.";
- close2;
- goto L_PreSummon;
-
-OnPlantDeath:
- set $@spawned_plants, $@spawned_plants - 1;
- end;
-
-L_NotEnough:
- mes "[Andra]";
- mes "\"Sorry, but you don't have the items I need... Please, come back when you have them.\"";
- close;
-
-L_Gather:
- mes "[Andra]";
- mes "\"Look at all those plants! I think we shoudn't plant more seeds until someone gather those herbs...\"";
- close;
-
-L_Bye:
- mes "[Andra]";
- mes "\"Oh, you are a nice person... Thanks!\"";
- close;
-
-L_Busy:
- mes "[Andra]";
- mes "\"Ok, I understand. Come back if have some free time!\"";
- close;
-
-L_DislikePlants:
- mes "[Andra]";
- mes "\"Really? How can someone dislike plants and trees? What a strange thing...\"";
- close;
-
-L_Planting:
- mes "[Andra]";
- mes "\"Sorry, I can't talk right now. I am planting some seeds " + $@farmer$ + " gave me.\"";
- close;
-
-L_Close:
- close;
-
-L_TooYoung:
- mes "[Andra]";
- mes "\"I'm sorry, I can't talk right now. I am really busy with those trees! If you feel like talking, maybe you should come back later.\"";
- close;
-
-OnInit:
- set $@PLANTS_PER_SEED, 3;
- set $@MAX_GLOBAL_PLANTS, 100; // You can plant only if the amount of plants currently in the map is < than this value.
- end;
-}
diff --git a/world/map/npc/008-1/annualeaster.txt b/world/map/npc/008-1/annualeaster.txt
deleted file mode 100644
index 23d7611a..00000000
--- a/world/map/npc/008-1/annualeaster.txt
+++ /dev/null
@@ -1,224 +0,0 @@
-// Annual easter event.
-
-// Annual_Quest byte 1 is used, see Oscar.txt for further information.
-
-// Author: PjotrOrial
-
-// read up on http://en.wikipedia.org/wiki/Computus
-// Easter cannot be before march 22 or after april 25, so activate
-// the event in these days.
-
-008-1,0,0,0|script|Easter Eggs|32767
-{
-
-//////////////////////////////////
-// puppet logic below
-
- if (strnpcinfo(2) == "") end;
- if (get(.disabled, "Easter Eggs") || $@isEaster < 1) goto L_Destroy;
- set @npc_distance, 1;
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- if ((gettimetick(2)-TUT_var < 5*7*86400) || (BaseLevel < 40)) //player must be created at least 5 weeks ago
- goto L_EndTooYoung;
-
- set @easter_year, (Annual_Quest & BYTE_1_MASK) >> BYTE_1_SHIFT;
-
- if (#EASTERTIMEPENALTY == 0)
- goto L_WarmUp;
- // prevent clicking multiple times:
- if (gettimetick(2) < #EASTERTIMEPENALTY + get(.wait_time, "Easter Eggs"))
- goto L_End2;
- if (@easter_year > gettime(7) - 2000)
- goto L_End3;
- set #EASTERTIMEPENALTY, gettimetick(2);
-
- set .found, .found + 1; // this egg has been found X times
- set @AnnualEasterTries, @AnnualEasterTries + 1; // you tried X times since login
-
- message strcharinfo(0), "Eggs : You found something!";
- set .@size, get(.small_rewards, "Easter Eggs");
- set .@random, rand(.@size+2);
- if (.@random < .@size)
- getitem get(.small_rewards$[.@random], "Easter Eggs"), rand(1, 2);
- elif (.@random == .@size)
- getexp rand(200), 0;
- else
- set Zeny, Zeny + rand(50);
-
- if (rand(get(.chance, "Easter Eggs")))
- goto L_NoEasterEgg;
-
-
- set .@random, rand(get(.medium_rewards$, "Easter Eggs"));
- getitem get(.medium_rewards$[.@random], "Easter Eggs"), 1;
- misceffect FX_GETITEM, strcharinfo(0);
- goto L_NoEasterEgg;
-
-L_NoEasterEgg:
- set .@fchance, get(.final_rew_chance, "Easter Eggs");
- if (@AnnualEasterTries > .@fchance)
- set @AnnualEasterTries, .@fchance;
- set .@random, rand(.@fchance - @AnnualEasterTries + 1);
- if (.@random || @easter_year > gettime(7) - 2000)
- goto L_Reward_End;
-
- // block for further items this year:
- set @easter_year, gettime(7) - 2000 + 1;
- set Annual_Quest, (Annual_Quest & ~(BYTE_1_MASK) | (@easter_year << BYTE_1_SHIFT));
-
- // Hand out pretty unique rewards depending on the current year:
- // We'll be handing out 2 different items each year, whereas one of them
- // will be very common (95 %) and the other rare (5 %) for the players.
- // The rare item will become the common item next year.
- set .@rewardindex, gettime(7) - 2012;
- if (rand(100) < 5)
- set .@rewardindex, .@rewardindex + 1;
-
- // now hand out the specific item:
- set .@rewardindex, .@rewardindex % get(.big_rewards, "Easter Eggs");
- getitem get(.big_rewards$[.@rewardindex], "Easter Eggs"), 1;
- misceffect FX_GETITEM, strcharinfo(0);
- message strcharinfo(0), "Eggs : This is really special. You won't find anything like this again.";
- goto L_Reward_End;
-
-L_Reward_End:
- if (.found >= get(.mapcount, "Easter Eggs"))
- goto L_Destroy;
- end;
-
-L_Destroy:
- set .eggs, get(.eggs, "Easter Eggs") - 1, "Easter Eggs"; // tell the puppeteer we lost an egg
- destroy;
-
-L_EndTooYoung:
- message strcharinfo(0), "Eggs : The nest is empty.";
- end;
-
-L_WarmUp:
- set #EASTERTIMEPENALTY, gettimetick(2);
- getitem "MoubooFigurine", 1;
- misceffect FX_GETITEM, strcharinfo(0);
- message strcharinfo(0), "Eggs : Hmmm eggs! Maybe you can find something nice there!";
- end;
-
-L_End3:
- message strcharinfo(0), "Eggs : Don't be greedy! You already found something nice.";
- end;
-
-L_End2:
- message strcharinfo(0), "Eggs : Don't be greedy! You just found something a moment ago.";
- set #EASTERTIMEPENALTY, #EASTERTIMEPENALTY + 5;
- if (#EASTERTIMEPENALTY > gettimetick(2))
- set #EASTERTIMEPENALTY, gettimetick(2);
- end;
-
-OnTimer5000:
- if (get(.disabled, "Easter Eggs") || $@isEaster < 1)
- goto L_Destroy;
- initnpctimer;
- end;
-
-
-//////////////////////////////////
-// puppeteer logic below
-
-OnSpawn:
- set .@e, rand(2,.loc[1]);
- set .@x, .loc[.@e];
- set .@y, .loc[(.@e-1)+.loc[1]];
- set .eID, .eID + 1; // give the egg an id
- set .@name$, "#--Ee"+chr(3)+.eID;
- if (.eID == 2147483647)
- set .eID, 0; // start over if id = 0x7FFFFFFF
- if (puppet(strnpcinfo(3), .@x, .@y, .@name$, 375) < 1) goto L_RetrySpawn; // spawn the egg
- initnpctimer .@name$; // init puppeteer check timer
- end;
-
-L_RetrySpawn:
- addnpctimer 0, strnpcinfo(0) + "::OnSpawn"; // schedule a spawn
- end;
-
-S_Spawn:
- if (.eggs >= .max_eggs)
- goto S_Return;
- set .eggs, .eggs + 1;
- addnpctimer 125 + rand(250), strnpcinfo(0) + "::OnSpawn"; // schedule a spawn
- if (.eggs < .min_eggs)
- goto S_Spawn;
- return;
-
-S_Return:
- return;
-
-OnHeartbeat:
- if (.max_eggs < 1 || .disabled || $@isEaster < 1) end;
- set .mapcount, 1 + getmapusers(strnpcinfo(3)) / 3;
- callsub S_Spawn;
- addnpctimer 1000, strnpcinfo(0) + "::OnHeartbeat"; // heartbeat
- end;
-
-OnCheckEaster:
- if ((gettime(6) == 3 && gettime(5) >= 22) || (gettime(6) == 4 && gettime(5) <= 25))
- set $@isEaster, 1;
- else
- set $@isEaster, 0;
- if ($@isEaster && .eggs < 1)
- donpcevent "Easter Eggs::OnStart";
- end;
-
-OnStart:
- if (.disabled || $@isEaster < 1) end;
- set .min_eggs, 1; // min number of eggs
- set .max_eggs, 3; // max number of eggs
- set .eggs, 0; // virtual amount of eggs
- set .eID, 0; // last egg id
- set .wait_time, 15;
- set .final_rew_chance, 70;
- set .chance, 750;
- setarray .loc[0], 0, 1,1, // first row: x, second row: y
- 41, 45, 50, 57, 60, 64, 67, 65, 59, 72, 70, 82, 81, 93, 97, 101, 88, 108, 115, 122, 122, 129, 129, 130, 135, 123, 132, 132, 127, 124, 121, 107, 100, 101, 109, 104, 88, 84, 92, 59, 71, 65, 53, 55, 74, 59, 53, 46, 44, 44, 38, 43, 40, 43, 37,
- 87, 89, 88, 93, 98, 90, 96, 82, 81, 82, 96, 98, 92, 89, 89, 81, 82, 94, 96, 96, 90, 86, 72, 65, 60, 46, 25, 21, 20, 22, 20, 34, 24, 41, 43, 42, 48, 28, 27, 17, 23, 29, 25, 20, 39, 41, 34, 36, 18, 25, 31, 39, 64, 69, 73;
- set .loc[0], (getarraysize(.loc) - 1); // loc 0 and 1 are special (stores array size, and half index)
- set .loc[1], ((.loc[0]+1)/2);
- setarray .small_rewards$[0], 0, "AppleCake", "CactusDrink", "CactusPotion", "Cake", "Candy", "CherryCake", "ChocolateBar", "ChocolateCake", "GreenApple", "Orange", "OrangeCake", "OrangeCupcake", "RedApple", "WhiteCake";
- set .small_rewards, getarraysize(.small_rewards$);
- setarray .medium_rewards$[0], 0, "RedEasterEgg", "GreenEasterEgg", "BlueEasterEgg", "YellowEasterEgg", "PinkEasterEgg", "TealEasterEgg";
- setarray .big_rewards$[0], 0, "RedEggshellHat", "BlueEggshellHat", "YellowEggshellHat", "GreenEggshellHat", "OrangeEggshellHat", "DarkEggshellHat";
- set .big_rewards, getarraysize(.big_rewards$);
- donpcevent strnpcinfo(0) + "::OnHeartbeat"; // first heartbeat
- end;
-}
-
-function|script|Easter Debug
-{
- goto L_Menu;
-
-L_Menu:
- clear;
- mes "Please choose an option.";
- if (get(.disabled, "Easter Eggs"))
- menu
- "Do Nothing.", L_Return,
- "Enable eggs.", L_Enable;
- menu
- "Do Nothing.", L_Return,
- "Disable eggs.", L_Disable;
-
-L_Enable:
- set .disabled, 0, "Easter Eggs";
- clear;
- mes "Easter Eggs enabled.";
- next;
- goto L_Menu;
-
-L_Disable:
- set .disabled, 1, "Easter Eggs"; // TODO: (tmwa) automatically destroy puppets when using @disablenpc & also discard timers
- clear;
- mes "Easter Eggs disabled.";
- next;
- goto L_Menu;
-
-L_Return:
- return;
-}
diff --git a/world/map/npc/008-1/banu.txt b/world/map/npc/008-1/banu.txt
deleted file mode 100644
index 37881ca0..00000000
--- a/world/map/npc/008-1/banu.txt
+++ /dev/null
@@ -1,98 +0,0 @@
-008-1,70,42,0|script|Banu|154
-{
- set @EXP, 100;
- set @money_water, 250;
- set @money_knife, 100;
-
- if (QL_BANU >= 3) goto L_Done;
- if (QL_BANU == 2) goto L_Knife;
- if (QL_BANU == 1) goto L_Water;
-
- mes "[Banu]";
- mes "\"Ah, hello. You've come at just the right moment. The field work is hard and the sun is burning.";
- mes "Would you mind refilling an old woman's Empty Bottle with water?\"";
- menu
- "Sure!",L_Next,
- "Sorry, I'm busy.",L_Close;
-
-L_Next:
- getinventorylist;
- if (@inventorylist_count == 100)
- goto L_FullInv;
-
- mes "She smiles.";
- mes "[Banu]";
- mes "\"Here is my Empty Bottle. There is a well right over there at Hurnscald.\"";
- getitem "EmptyBottle", 1;
- set QL_BANU, 1;
- goto L_Close;
-
-L_Water:
- mes "[Banu]";
- mes "\"Ah, you're back. I'm so thirsty.\"";
- next;
- if (countitem("BottleOfWater") < 1)
- goto L_NoWater;
- delitem "BottleOfWater", 1;
- mes "She grabs the Bottle of Water and drinks.";
- getexp @EXP, 0;
- set Zeny, Zeny + @money_water;
- set QL_BANU, 2;
- mes "[Banu]";
- mes "\"Ah, that's refreshing. Thank you. You're a good kid. Have this for your expenses.";
- mes "Maybe you can do me another favor?\"";
- next;
- mes "\"I need a new Knife. Peter in the Hurnscald forge to the South of here is selling some. But it's such a long way for my old legs.";
- mes "Would you go to get me a Knife?\"";
- goto L_Close;
-
-L_Knife:
- mes "[Banu]";
- mes "\"Hello dear. Did you get the knife for me?\"";
- menu
- "Yeah, here is it.",L_Next1,
- "Not yet.",L_Close;
-
-L_Next1:
- if (countitem("Knife") < 1)
- goto L_NoKnife;
- delitem "Knife", 1;
- getexp @EXP, 0;
- set Zeny, Zeny + @money_knife;
- set QL_BANU, 3;
- mes "[Banu]";
- mes "\"Thank you! You're a darling. Please take this for your effort.\"";
- goto L_Close;
-
-L_Done:
- mes "[Banu]";
- set @rand, rand(3);
- if (@rand == 0)
- mes "\"I spent all my life here in Hurnscald. It's a good place to live.\"";
- if (@rand == 1)
- mes "\"Did you see the kids playing hide and seek? Ah, when I was young I used to play with my good friend Sorfina. She lives in Candor now, East of Hurnscald by boat.\"";
- if (@rand == 2)
- mes "\"Tonori is ruled by a council of wise wizards.\"";
- goto L_Close;
-
-L_NoWater:
- mes "[Banu]";
- mes "\"You didn't get it yet? Shame on you, an old woman is depending on you.\"";
- goto L_Close;
-
-L_NoKnife:
- mes "[Banu]";
- mes "\"Where is it? Don't play tricks on an old woman! That's not nice.\"";
- goto L_Close;
-
-L_FullInv:
- mes "[Banu]";
- mes "\"Oh my dear! You're carrying so many things that you can't take my Empty Bottle.\"";
- goto L_Close;
-
-L_Close:
- set @inventorylist_count, 0;
- set @EXP, 0;
- set @rand, 0;
- close;
-}
diff --git a/world/map/npc/008-1/diryn.txt b/world/map/npc/008-1/diryn.txt
deleted file mode 100644
index 6570f1d8..00000000
--- a/world/map/npc/008-1/diryn.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-// This is a teleportation (warp) NPC. Its purpose is to offer expensive, fast trips throughout the world.
-// Author: Wombat, wushin
-// cost depending on level and adapted to new scripting guidelines: Jenalya
-
-008-1,81,82,0|script|Diryn the Traveler|103
-{
- set @npcname$, "Diryn";
- set @NpcTravelBit, $@hurnscald_bit;
- callfunc "Traveler";
- end;
-}
diff --git a/world/map/npc/008-1/dock.txt b/world/map/npc/008-1/dock.txt
deleted file mode 100644
index acb3a23e..00000000
--- a/world/map/npc/008-1/dock.txt
+++ /dev/null
@@ -1,91 +0,0 @@
-// The ferry dock
-
-008-1,147,64,0|script|Hurnscald North Koga|395,10,3
-{
- set @npc_distance, 11;
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- callfunc "BoardFerry";
- end;
-
-OnTouch:
- addtimer get(.warp_delay, "#FerryConfig"), strnpcinfo(0)+"::OnBoard";
- end;
-
-OnBoard:
- callfunc "BoardFerry";
- end;
-}
-
-008-1,139,65,0|script|Hurnscald North Dock|400,2,1
-{
- set @npc_distance, 3;
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- callfunc "BoardFerry";
- end;
-}
-
-008-1,120,44,0|script|#Hurnscald NorthDock|32767
-{
- end;
-OnCommandArrive:
- disablenpc "Hurnscald North Dock";
- enablenpc "Hurnscald North Koga";
- areatimer 0, "008-1", 137, 64, 141, 65, get(.warp_delay, "#FerryConfig"), strnpcinfo(0)+"::OnAreaWarp"; // warp players on dock
- end;
-
-OnAreaWarp:
- callfunc "BoardFerry";
- end;
-
-OnCommandWarp:
- disablenpc "Hurnscald North Koga";
- enablenpc "Hurnscald North Dock";
- end;
-}
-
-008-1,147,75,0|script|Hurnscald South Koga|395,10,3
-{
- set @npc_distance, 10;
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- callfunc "BoardCandorFerry";
- end;
-
-OnTouch:
- addtimer get(.warp_delay, "#FerryConfig"), strnpcinfo(0)+"::OnBoard";
- end;
-
-OnBoard:
- callfunc "BoardCandorFerry";
- end;
-}
-
-008-1,139,76,0|script|Hurnscald South Dock|400,2,1
-{
- set @npc_distance, 3;
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- callfunc "BoardCandorFerry";
- end;
-}
-
-008-1,65,25,0|script|#Hurnscald SouthDock|32767
-{
- end;
-OnCommandArrive:
- disablenpc "Hurnscald South Dock";
- enablenpc "Hurnscald South Koga";
- areatimer 0, "008-1", 137, 75, 141, 76, get(.warp_delay, "#FerryConfig"), strnpcinfo(0)+"::OnAreaWarp"; // warp players on dock
- end;
-
-OnAreaWarp:
- callfunc "BoardCandorFerry";
- end;
-
-OnCommandWarp:
- disablenpc "Hurnscald South Koga";
- enablenpc "Hurnscald South Dock";
- end;
-}
diff --git a/world/map/npc/008-1/george.txt b/world/map/npc/008-1/george.txt
deleted file mode 100644
index 8cd95734..00000000
--- a/world/map/npc/008-1/george.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-
-008-1,135,62,0|script|George#pirate|138
-{
- set @halloween_npc_id, $@halloween_npc_george;
- callfunc "TrickOrTreat";
-
- if (getequipid(equip_head) == 617) goto L_Pirate;
- if (getequipid(equip_head) == 622) goto L_Bandana;
- if (getequipid(equip_head) == 621) goto L_EyePatch;
- mes "[George the Pirate]";
- mes "\"Yar! Do you need something, matey?\"";
- goto L_Main;
-
-L_Main:
- menu
- "Can you explain the Ferry?", L_Explain,
- "Nothing I guess", L_Close;
-
-L_Pirate:
- mes "[George the Pirate]";
- mes "\"Arrrrh! Ye be wearing a pirate's hat!\"";
- goto L_Main;
-
-L_Bandana:
- mes "[George the Pirate]";
- mes "\"Arrrrh! Ye remind me of my old first mate!\"";
- goto L_Main;
-
-L_EyePatch:
- mes "[George the Pirate]";
- mes "\"Arrrrh! Looks like ye lost an eye there!\"";
- goto L_Main;
-
-L_Explain:
- mes "[George the Pirate]";
- mes "\"Arrr matey! I helped pioneer the trade routes between Hurnscald and the rest of the World, so now merchants and adventurers can travel to and fro without any hassle of dodging wolvern, yarr.\"";
- next;
- callfunc "FerryHelp";
- goto L_Main;
-
-L_Close:
- close;
-}
diff --git a/world/map/npc/008-1/hinnak.txt b/world/map/npc/008-1/hinnak.txt
deleted file mode 100644
index d16460c3..00000000
--- a/world/map/npc/008-1/hinnak.txt
+++ /dev/null
@@ -1,257 +0,0 @@
-// This script file contains the npc scripts for the quest to obtain a scythe.
-//
-// Needed: 10 Pink Antenna
-// Reward: Scythe
-//
-// Variables used: Nibble 1 of QUEST_Hurnscald (previously QUEST_Scythe_state)
-
-008-1,101,30,0|script|Hinnak|142
-{
- set @inspector, ((QUEST_Hurnscald & NIBBLE_3_MASK) >> NIBBLE_3_SHIFT);
-
- if (@inspector == 10) goto L_NohMask;
- goto L_No_NohMask;
-
-L_No_NohMask:
- set @state, ((QUEST_Hurnscald & NIBBLE_1_MASK) >> NIBBLE_1_SHIFT);
-
- if (@state == 1) goto L_Exchange;
- if (@state == 2) goto L_ThanksAgain;
- if (getequipid(equip_head) == 751) goto L_Intro_Hat;
-
- mes "[Farmer Hinnak]";
- mes "\"Argh! I hate them! I @#$% hate them! I @#$% hate these @#$% pinkies!\"";
- next;
- menu
- "You need some anger control therapy.", L_Close,
- "Why do you hate them?", L_Reason;
-
-L_Intro_Hat:
- mes "The farmer lunges at you with a farming implement.";
- next;
- heal -50, 0;
- menu
- "I'm out of here.", L_Close,
- "Whoa, what are you doing?", L_Intro_Hat_Explain;
-
-L_Intro_Hat_Explain:
- mes "[Farmer Hinnak]";
- mes "\"Sorry, you look like a pinkie. They've been destroying my fields, and I guess I got a bit worked up.\"";
- next;
- goto L_Help;
-
-L_Reason:
- mes "[Farmer Hinnak]";
- mes "\"These @#$% beasts are jumping around in my fields destroying all my harvest.";
- mes "But they are too fast. I can't catch them.\"";
- next;
- menu
- "Want me to help you?", L_Help,
- "Well, life ain't fair.", L_Close;
-
-L_Help:
- mes "[Farmer Hinnak]";
- mes "\"Yes, you look quite fast. Maybe you can catch some of them. That will pay them a lesson.";
- mes "Slay some of them and bring me 10 of their antennae.\"";
- set @state, 1;
- callsub S_Update_Mask;
- next;
- menu
- "Sure, I'm on my way", L_Close,
- "How much is this worth to you?", L_Reward;
-
-L_Reward:
- mes "[Farmer Hinnak]";
- mes "\"Well, I can't offer you much. But I got an old scythe laying around. Maybe you can use it as a weapon.\"";
- goto L_Close;
-
-L_Exchange:
- if (getequipid(equip_head) != 751)
- goto L_Exchange_Start;
- mes "The farmer glares at your hat.";
- next;
- goto L_Exchange_Start;
-
-L_Exchange_Start:
- mes "[Farmer Hinnak]";
- mes "\"Have you got the 10 antennae?\"";
- next;
- menu
- "Not yet, but I am working on it.", L_Close,
- "Sure, here they are!", L_Exchange_Exchange;
-
-L_Exchange_Exchange:
- if (countitem("PinkAntenna") < 10)
- goto L_Exchange_Notenough;
- getinventorylist;
- if (@inventorylist_count == 100 && countitem("PinkAntenna") > 10)
- goto L_Exchange_TooMany;
- delitem "PinkAntenna", 10;
- getitem "Scythe", 1;
- set @state, 2;
- callsub S_Update_Mask;
- mes "[Farmer Hinnak]";
- mes "\"Thank you very much. I've got something for you. My old scythe. Maybe you can use it as a weapon. It is a bit cumbersome but its strikes are deadly.\"";
- goto L_Close;
-
-L_Exchange_Notenough:
- mes "[Farmer Hinnak]";
- mes "\"It doesn't look like you do.\"";
- goto L_Close;
-
-L_Exchange_TooMany:
- mes "[Farmer Hinnak]";
- mes "\"Looks like you don't have room for this. Come back later to receive your reward. Hold on to the antennea until then.\"";
- goto L_Close;
-
-L_ThanksAgain:
- if (getequipid(equip_head) == 751)
- goto L_ThanksHat;
- mes "[Farmer Hinnak]";
- mes "\"Good to see you again, and thanks again for helping me with the pinkies!\"";
- next;
- goto L_ThanksMenu;
-
-L_ThanksHat:
- mes "[Farmer Hinnak]";
- mes "\"That better be a trophy on your head.\"";
- menu
- "It is.", L_Next;
-
-L_Next:
- mes "[Farmer Hinnak]";
- mes "\"Good then. Thanks for your help with the pinkies.\"";
- goto L_ThanksMenu;
-
-L_ThanksMenu:
- menu
- "Sure, any time!", L_Next1,
- "Anything else you want me to do?", L_Next1,
- "You're welcome. Bye!", L_Bye;
-
-L_Next1:
- mes "[Farmer Hinnak]";
- mes "\"Actually, it's been a long day. If it's no trouble, could you get me a beer?\"";
- next;
- menu
- "Here you are.", L_GiveBeer,
- "Sure, I'll go get one. Bye!", L_Bye,
- "You shouldn't drink while working!", L_Next2;
-
-L_Next2:
- mes "[Farmer Hinnak]";
- mes "\"Well, I'm done for the day, and I'm quite old enough to decide when I can have a beer, thank you!\"";
- next;
- menu
- "Sorry... here you are.", L_GiveBeer,
- "I don't have any.", L_NoBeer;
-
-L_GiveBeer:
- if (countitem("Beer") < 1)
- goto L_NoBeer;
- delitem "Beer", 1;
- mes "[Farmer Hinnak]";
- mes "Hinnak takes a sip.";
- mes "\"Aaah! Nothing like a well-deserved beer after a long day of tending the crops!\"";
- mes "\"Thanks, that was very kind of you!\"";
- next;
- mes "[Farmer Hinnak]";
- mes "He takes another sip.";
- mes "\"Thanks! You know, I had the strangest thing happen to me. I had this patch of ground that was really clumpy; lots of clay, you see.\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"Right over there.\"";
- mes "He points to a stretch of soft, raked ground.";
- mes "\"Looks much better now, doesn't it? But how I got there is kind-a scary...\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"I'd been trying to break it up for a while, but that kind of work is a pain. So my wife said that I should go and see the witch, just in case she knows something.\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"And sure enough I ask the witch, and she has a look at it. 'Nothing I can do', she says, 'but I can ask a friend'.\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"So the next day another witch shows up. Gorgeous woman, but when she looked at me, the scares went scuttling down my spine....\"";
- mes "\"First thing she asked was if I'm a farmer. Said her friend had told her that I needed help.\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"I show her what the problem is, and she tells me to go inside and wait.\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"Hinnak drains his beer in one long sip, then hesitates.";
- next;
- mes "[Farmer Hinnak]";
- mes "\"So I go inside. I'm barely in when it starts raining outside, pouring cats and mouboos!\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"Not so weird, perhaps, except that it was been bright and sunny just a second before! So I rush out, my wife telling me to leave the witch alone, and I see her standing there in the middle of the rain...\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"None of the raindrops touched her, as if they was afraid!\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"Then she yells out some gobbledygook word, and out of the ground there comes a swarm of maggots, crawling and digging and climbing over each other's backs...\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"And then she turns to me! Seeing her stare, for a moment there I think that she'll turn me into a pinkie, for sure...\"";
- next;
- mes "[Farmer Hinnak]";
- mes "\"But all she says is, 'if you'd stayed inside, you wouldn't be wet now'.\"";
- next;
- menu
- "Hahaha!", L_Sagatha_hahaha,
- "Whoah, scary...", L_Sagatha_scary,
- "What was that gobbledygook word?", L_Sagatha_word,
- "I better go now.", L_Bye;
-
-L_Sagatha_hahaha:
- mes "[Farmer Hinnak]";
- mes "\"Yeah, funny now... But you should've seen that stare! Ah, well, never mind.\"";
- goto L_Close;
-
-L_Sagatha_scary:
- mes "[Farmer Hinnak]";
- mes "\"Yeah, you could say that...\"";
- mes "He stares into his empty beer jug, as if wishing it weren't empty yet.";
- goto L_Close;
-
-L_Sagatha_word:
- mes "[Farmer Hinnak]";
- mes "\"Oh, I can't be sure... but something like '" + get(.invocation$, "summon-maggots") + "', I think.\"";
- goto L_Close;
-
-L_NoBeer:
- mes "[Farmer Hinnak]";
- mes "\"Ah... no beer? Oh well.\"";
- goto L_Close;
-
-L_Bye:
- mes "[Farmer Hinnak]";
- mes "\"Bye!\"";
- goto L_Close;
-
-L_NohMask:
- menu
- "Did you see anyone in a mask come by here at night?", L_NohMask_Mask,
- "Did you see anyone with a large satchel come by here at night?", L_NohMask_Satchel,
- "Hello.", L_No_NohMask;
-
-L_NohMask_Mask:
- mes "[Farmer Hinnak]";
- mes "\"No. It tends to be too dark to see a mask.\"";
- goto L_Close;
-
-L_NohMask_Satchel:
- mes "[Farmer Hinnak]";
- mes "\"Yes, I saw someone with a large sack on their back go to the mining camp.\"";
- goto L_Close;
-
-L_Close:
- set @state, 0;
- set @inspector, 0;
- close;
-
-S_Update_Mask:
- set QUEST_Hurnscald, (QUEST_Hurnscald & ~(NIBBLE_1_MASK)) | (@state << NIBBLE_1_SHIFT);
- return;
-}
diff --git a/world/map/npc/008-1/mapflags.txt b/world/map/npc/008-1/mapflags.txt
deleted file mode 100644
index 95ad83d5..00000000
--- a/world/map/npc/008-1/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-1|mapflag|resave|009-2,149,43
diff --git a/world/map/npc/008-1/mikhail.txt b/world/map/npc/008-1/mikhail.txt
deleted file mode 100644
index aca28beb..00000000
--- a/world/map/npc/008-1/mikhail.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-008-1,135,25,0|script|Mikhail|120
-{
- if (QL_SOUP >= 6) goto L_Done;
- if (QL_SOUP == 5) goto L_Progress;
- if (QL_SOUP == 4) goto L_Start;
- goto L_Con_Mik_First;
-
-L_Con_Mik_First:
- mes "[Mikhail]";
- mes "\"Hello... I'm supposed to be helping Bernard from the Inn but...\"";
- mes "His eyes grow wide";
- mes "\"Eeekkk another one.\"";
- mes "";
- mes "It seems that the boy would like to say more, but seems too terrified at the moment. Maybe you should help someone else first, so that he sees your intentions are good.";
- goto L_Close;
-
-L_Start:
- mes "[Mikhail]";
- mes "\"Bernard sent me to get five Maggot Slimes from the maggots in the fields, but they scare me so bad!\"";
- next;
- mes "\"You look like a nice person. Would you go get them for me?\"";
- menu
- "Of course, I'll go get them for you.", L_accept,
- "I've got other things to do right now.", L_Close;
-
-L_accept:
- mes "[Mikhail]";
- mes "\"Thank you so much! I'll wait for you here.\"";
- set QL_SOUP, 5;
- close;
-
-L_Progress:
- mes "[Mikhail]";
- mes "\"Did you bring me the five Maggot Slimes I need?\"";
- next;
- menu
- "Yes, here they are, kiddo!", L_try,
- "Not yet, but I'll be back soon.", L_Close;
-
-L_try:
- if (countitem("MaggotSlime") >= 5)
- goto L_get;
- mes "[Mikhail]";
- mes "\"It doesn't look like you have them all...\"";
- goto L_Close;
-
-L_get:
- delitem "MaggotSlime", 5;
- getexp 100, 0;
- set QL_SOUP, 6;
- mes "[Mikhail]";
- mes "\"Ooh! Thank you so much! I can get back to Bernard now!\"";
- goto L_Close;
-
-L_Done:
- mes "[Mikhail]";
- mes "\"Thanks again for helping me get those Maggot Slimes!\"";
- goto L_Close;
-
-L_Close:
- close;
-}