summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2023-06-25 23:22:52 -0300
committerJesusaves <cpntb1@ymail.com>2023-06-25 23:22:52 -0300
commitf6a154887c944badbe9f73be4a4c6e2572399380 (patch)
tree49d1eec281f194232c4157b658fb57b9ce04efe7 /npc
parent2a7a1e1f21866b4a920789eaaa9a793e413ee7e2 (diff)
downloadserverdata-f6a154887c944badbe9f73be4a4c6e2572399380.tar.gz
serverdata-f6a154887c944badbe9f73be4a4c6e2572399380.tar.bz2
serverdata-f6a154887c944badbe9f73be4a4c6e2572399380.tar.xz
serverdata-f6a154887c944badbe9f73be4a4c6e2572399380.zip
Remove some unused files
Diffstat (limited to 'npc')
-rw-r--r--npc/029-0/_import.txt10
-rw-r--r--npc/029-0/_mobs.txt10
-rw-r--r--npc/029-0/amelia.txt117
-rw-r--r--npc/029-0/elora.txt107
-rw-r--r--npc/029-0/event.txt330
-rw-r--r--npc/029-0/mobs.txt305
-rw-r--r--npc/029-0/sakar.txt91
-rw-r--r--npc/029-0/town.txt26
-rw-r--r--npc/029-0/warps.txt130
-rw-r--r--npc/029-1/_import.txt3
-rw-r--r--npc/029-1/pentagram.txt74
-rw-r--r--npc/029-2/_import.txt3
-rw-r--r--npc/029-2/_warps.txt3
-rw-r--r--npc/029-3/_import.txt3
-rw-r--r--npc/029-3/_warps.txt3
-rw-r--r--npc/029-4/_import.txt3
-rw-r--r--npc/029-4/_warps.txt3
-rw-r--r--npc/029-5/_config.txt16
-rw-r--r--npc/029-5/_import.txt4
-rw-r--r--npc/029-5/_warps.txt3
-rw-r--r--npc/029-6/_import.txt3
-rw-r--r--npc/029-6/_warps.txt3
-rw-r--r--npc/029-7/_import.txt3
-rw-r--r--npc/029-7/_warps.txt3
-rw-r--r--npc/029-8/_import.txt2
25 files changed, 0 insertions, 1258 deletions
diff --git a/npc/029-0/_import.txt b/npc/029-0/_import.txt
deleted file mode 100644
index 56beb84..0000000
--- a/npc/029-0/_import.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-// Map 029-0: Artis
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/029-0/_mobs.txt",
-"npc/029-0/amelia.txt",
-"npc/029-0/elora.txt",
-"npc/029-0/event.txt",
-"npc/029-0/mobs.txt",
-"npc/029-0/sakar.txt",
-"npc/029-0/town.txt",
-"npc/029-0/warps.txt",
diff --git a/npc/029-0/_mobs.txt b/npc/029-0/_mobs.txt
deleted file mode 100644
index 5a144e1..0000000
--- a/npc/029-0/_mobs.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 029-0: Artis mobs
-029-0,95,85,59,53 monster Mouboo Slime 1201,12,90000,35000
-029-0,121,47,78,30 monster Mouboo 1023,36,90000,35000
-029-0,71,99,37,45 monster Mouboo 1023,36,90000,35000
-029-0,60,48,31,28 monster Alpha Mouboo 1056,4,90000,35000
-029-0,34,70,16,21 monster Bloody Mouboo 1119,3,90000,35000
-029-0,187,40,16,21 monster Moubi 1038,3,240000,35000
-029-0,113,47,95,22 monster Mineral Bif 1058,12,90000,35000
-029-0,33,112,11,36 monster Mineral Bif 1058,9,90000,35000
diff --git a/npc/029-0/amelia.txt b/npc/029-0/amelia.txt
deleted file mode 100644
index da98601..0000000
--- a/npc/029-0/amelia.txt
+++ /dev/null
@@ -1,117 +0,0 @@
-// TMW2 Scripts
-// Author:
-// Jesusalva
-// Description:
-// The Mana Tree Quest (unlocks after Fires of Steam events)
-
-029-0,30,129,0 script Amelia NPC_CHILD4,{
- .@q = getq(FortressQuest_ManaTree);
- .@q2 = getq2(FortressQuest_ManaTree);
-
- // Cycle
- if (.@q == 0) goto L_Start;
- if (.@q == 1) goto L_Cheerful;
- if (.@q == 2) goto L_Short;
-
- // Generic reply
- npctalk3 l("*sigh*");
- end;
-
-L_Start:
- mesc l("The kid is not paying attention to you.");
- if ($FIRESOFSTEAM < 10) end;
- mesc l("She is staring at the empty sea and sighing. She seems to be really down after Andrei Sakar passed away.");
- next;
- mesc l("Maybe we can give her something, to cheer her up?");
- mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
-
- .@id = requestitem();
-
- // No item supplied
- if (.@id < 1) {
- closeclientdialog;
- end;
- }
-
- if (array_find(.gifts, .@id) < 0) {
- mesc l("This doesn't looks like a toy.");
- mesc l("Maybe we could give her a %s instead.", getitemlink(any(Doll, PlushMouboo, LeatherBall, ReinbooWand, SantaGlobe, RubberDucky, CandorBola))); // Suggest only the most rare and expensive toys
- }
- mesc l("Really give the %s to %s?", getitemlink(.@id), .name$), 1;
- mesc b(l("The item will be lost forever!")), 1;
- next;
- if (askyesno() != ASK_YES) {
- closeclientdialog;
- end;
- }
- delitem .@id, 1;
- getexp 27000, 0; // 1% of Level 80 EXP
- setq FortressQuest_ManaTree, 1, .@id;
- mesn;
- mesq l("...Thanks, kind person.");
- next;
- mesn;
- mesq l("My name is Amelia, and I am Elora's daughter.");
- close;
-
-L_Cheerful:
- mesc l("Amelia looks much more cheerful than the last time you've met her.");
- next;
- mesn;
- mesq l("Hey, %s! Welcome back!", strcharinfo(0));
- next;
- mesn;
- mesq l("Thanks for the %s you gave me the other day.", getitemlink(.@q2));
- if (getq(General_Narrator) < 20)
- close;
- next;
- mesn;
- mesq l("Here, lemme tell you something good: Do you know that fortress island which all the adventurers are talking about nowadays?");
- next;
- if (askyesno() == ASK_NO) {
- mesn;
- mesq lg("Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!");
- next;
- }
- mesn;
- mesq l("I visited it with my mother, the other day, and I found a tree in a cave!");
- next;
- mesn;
- mesq l("It was so lovely, and it had some very tasty fruits, too! But the cave was so dangerous...");
- next;
- mesn;
- mesq l("I saw some flower adorns, too. I hope it is not some traveler's grave. This war, it makes me so sad... I'm sure the tree was sad, too.");
- next;
- mesn;
- mesq l("If you ever go there, you should pay it a visit. It is most definitely alive! I'm sure it'll like you, too.");
- setq1 FortressQuest_ManaTree, 2;
- close;
-
-L_Short:
- mesn;
- mesq l("Thanks for the %s you gave me the other day.", getitemlink(.@q2));
- if (getq(General_Narrator) < 20)
- close;
- next;
- if ($AEGIS_HOLDER$ == "" && !rand2(4)) {
- mesn;
- mesq l("I heard a rumor the other day. About the tree I had found!");
- next;
- mesn;
- mesq l("It is said that if someone dies to the pinkies but is then avenged and mourned, the avenger may claim from the tree the shield of the world!");
- next;
- mesn;
- mesq l("The story was so cool!");
- close;
- }
- mesn;
- mesq l("If you ever visit the fortress island, be sure to visit the friendly tree at the cave. I'm sure it'll like you.");
- close;
-
-OnInit:
- setarray .gifts, BrokenDoll, Doll, PlushMouboo, LeatherBall, ReinbooWand, MoubooFigurine, ChocolateBunny, RedStocking, SantaGlobe, SnowmanGlobe, RubberDucky, CandorBola, KidBola;
- .sex = G_FEMALE;
- .distance = 4;
- end;
-}
-
diff --git a/npc/029-0/elora.txt b/npc/029-0/elora.txt
deleted file mode 100644
index c8caa21..0000000
--- a/npc/029-0/elora.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-// TMW2 scripts.
-// Author:
-// Jesusalva
-// Description:
-// Fires of Steam: The Death of Andrei Sakar
-
-029-0,182,77,0 script Elora NPC_HUMAN_FEMALE_NOOB,{
- mesn;
- mesq l("Greetings! I am %s from the Alliance.", .name$);
- next;
- switch ($FIRESOFSTEAM) {
- case 1:
- mesn;
- mesq l("Thanks for travelling with Andrei Sakar to Artis! However, as you see, this town is deserted.");
- next;
- mesn;
- mesq l("Sir Sakar is conducting an exploration on this land. However, you should be able to refine and tweak equipment, as well as crafting your own. Once you're ready, find him at %s of this town.", b(l("the north exit")));
- break;
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- mesn;
- mesq l("Sir Sakar and adventurers are raiding Dracula's Fortress. It is a crazy place, though, who knows what they'll find? He should be at the north exit of this town.");
- break;
- case 7:
- mesn;
- mesq l("Sir Sakar and adventurers are raiding Dracula's Fortress. They found out the Underworld and there is a magic tree. You'll need a %s to use it.", getitemlink(DruidTreeBranch));
- mesc l("They are at north of the town.");
- next;
- mesn;
- if (FIRESOFSTEAM_CD < gettimetick(2)) {
- mesq l("Here is one.");
- FIRESOFSTEAM_CD=gettimetick(2)+86400; // 24 hours
- getitem DruidTreeBranch, 1;
- } else {
- mesq l("Some other adventurers are looking for it. Please wait %s more.", FuzzyTime(FIRESOFSTEAM_CD));
- }
- break;
- case 8:
- mesn;
- mesq l("Sakar can now bring you directly to Asphodel Moors. Scouts found a second town as well, from where the raiders seems to be coming from!");
- mesc l("Andrei Sakar is at the north exit of the town.");
- break;
- case 9:
- mesn;
- mesq l("I'm worried. Will everything be alright? Please, lend your help to sir Sakar - no, to the whole world!");
- mes "";
- mesc l("Contact a GM at Migglemire - the small town at center of swamps - to trigger the final showdown.");
- mesc l("Alternatively, %s, the World Hero, should also be able to do it.", $MOST_HEROIC$);
- break;
- }
- close;
-
-OnInit:
- .distance=5;
- .sex=G_FEMALE;
- if ($FIRESOFSTEAM >= 10)
- disablenpc .name$;
- end;
-}
-
-// UTILITY
-029-0,96,110,0 duplicate(Nicholas) Nicholas#FoS NPC_NICHOLAS
-029-0,89,75,0 duplicate(Fortiun) Fortiun#FoS NPC_FORTIUN
-029-0,68,87,0 duplicate(Tolchi) Tolchi#FoS NPC_RAIJIN_FEMALE_LEGION_ARTIS
-029-0,137,75,0 duplicate(Bracco) Bracco#FoS NPC_ORC_SAILOR
-029-0,90,130,0 duplicate(Zitoni) Zitoni#FoS NPC_RUMLY
-029-0,132,51,0 duplicate(Cynric) Cynric#FoS NPC_LLOYD
-029-0,57,55,0 duplicate(Mercenary Trainer) Mercenary Trainer#FoS NPC_REDY_MALE_SWORD
-029-0,123,84,0 duplicate(Estard) Estard#FoS NPC_KENTON
-//029-0,143,120,0 duplicate(Guild Storage) Guild Storekeeper#FoS NPC_TERRY
-029-0,198,34,0 duplicate(Colin) Colin#FoS NPC_MIRAJ
-029-0,182,26,0 duplicate(Luca) Luca#FoS NPC_ANSELMO_BR
-029-0,200,49,0 duplicate(Mr Saves) Mr Saves#FoS NPC_BLACKALCHEMIST
-029-0,179,38,0 duplicate(Trickmaster) Trickmaster#FoS NPC_SITTED_NINJA
-029-0,142,33,0 duplicate(Crafting Table) Crafting Box#FoS NPC_NO_SPRITE
-029-0,141,51,0 duplicate(Intense Beard) Intense Beard#FoS NPC_BRGUARD_SPEAR
-029-0,127,32,0 duplicate(Jhedia) Jhedia#FoS NPC_ELVEN_FEMALE
-029-0,58,118,0 duplicate(Neko) Neko#FoS1 NPC_KAYLO
-
-// 029-1
-029-1,35,88,0 duplicate(Neko) Neko#FoS2 NPC_KAYLO
-029-1,29,88,0 script Elora#1 NPC_HUMAN_FEMALE_NOOB,{
- mesn;
- mesq l("Good luck out there!");
- .@m=mobcount("029-1", "all");
- mesc l("Dark Forest : %s monster(s) left", fnum(.@m));
- next;
- select
- l("Thanks!"),
- l("Actually, can I return to Artis?");
- mes "";
- closeclientdialog;
- if (@menu == 2)
- warp "029-0", 90, 31;
- close;
-OnInit:
- .distance=5;
- .sex=G_FEMALE;
- end;
-}
-
-029-8,37,170,0 duplicate(Neko) Neko#FoS3 NPC_KAYLO
-
-
diff --git a/npc/029-0/event.txt b/npc/029-0/event.txt
deleted file mode 100644
index 8b565db..0000000
--- a/npc/029-0/event.txt
+++ /dev/null
@@ -1,330 +0,0 @@
-// TMW2 scripts.
-// Authors:
-// Jesusalva
-// Description:
-// Exclusive for Fires of Steam 2021 - When our OVH server datacenter got fire.
-
-029-0,111,37,0 script Alliance Hero#FoS NPC_HALBERDBARBARIAN,{
- // No one is supposed to be able to reach NPC if event did not happen
- if (!$FIRESOFSTEAM) {
- disablenpc .name$;
- die(); end;
- }
- mesn;
- mesq l("Sooo, the police station of Moubootaur Legends went ablaze. Constable Perry is too busy to monitor illegal operation on this continent.");
- next;
- mesn;
- mesq l("Therefore... Are you perhaps interested in some... illicit goods? %%p");
- next;
- select
- l("Show me what you got, noob."),
- l("Actually - Do you exchange goods even more illegal goods than this?"),
- l("Actually - Do you exchange illegal... research results?");
- mes "";
- if (@menu == 1) {
- closeclientdialog;
- openshop .name$;
- close;
- }
- else if (@menu == 2) {
- mesn;
- mesq l("Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p", fnum(.mobp), l("Monster Points"), fnum(.mobg));
- if (Zeny < .mobg) close;
- next;
- if (askyesno() == ASK_NO) close;
- if (Zeny < .mobg) { die(); close; }
- Zeny-=.mobg;
- Mobpt+=.mobp;
- mes "";
- mesn;
- mesq l("Hehehe... A pleasure doing business with you!");
- } else if (@menu == 3) {
- mesn;
- mesq l("Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p", fnum(.robp), l("Research Points"), fnum(.robg));
- if (Zeny < .robg) close;
- next;
- if (askyesno() == ASK_NO) close;
- if (Zeny < .robg) { die(); close; }
- Zeny-=.robg;
- Mobpt+=.robp;
- mes "";
- mesn;
- mesq l("Hehehe... A pleasure doing business with you!");
- }
- close;
-
-OnRw:
- logmes(sprintf("%s - Reward Granted by System Admin", getcharid(3)));
- getitem StrangeCoin, 2000;
- getitembound FireScroll, 1, 1;
- getexp 1000000, 500000;
- Mobpt+=1000000;
- Zeny+=1000000;
- dispbottom l("Jesusalva : \\o/");
- end;
-
-OnInit:
- bindatcmd "steambk", "Alliance Hero#FoS::OnRw", 100, 99, 1;
- tradertype(NST_MARKET);
- .mobp=rand2(1000, 2500);
- .mobg=.mobp*rand2(100, 150)/10;
- .robp=rand2(900, 1200);
- .robg=.robp*rand2(40, 60);//rand2(80, 110);
- .distance=5;
- .sex=G_MALE;
-
- sleep(SHOPWAIT);
- sellitem Coal, -1, 50+($FIRESOFSTEAM*3-3);
- sellitem LeatherPatch, 800, 45+($FIRESOFSTEAM*3-3);
- sellitem RawLog, -1, 40+($FIRESOFSTEAM*3-3);
- sellitem WoodenLog, -1, 40+($FIRESOFSTEAM*3-3);
- sellitem IronOre, -1, 30+($FIRESOFSTEAM*3-3);
- sellitem CopperOre, 1000, 20+($FIRESOFSTEAM*2-2);
- sellitem SilverOre, 2000, 14+($FIRESOFSTEAM*2-2);
- sellitem GoldOre, 3000, 14+($FIRESOFSTEAM*2-2);
- sellitem TinOre, 3600, 15+($FIRESOFSTEAM*2-2);
- sellitem LeadOre, 4000, 15+($FIRESOFSTEAM*2-2);
- sellitem TitaniumOre, 6000, 9+($FIRESOFSTEAM*2-2);
- sellitem IridiumOre, 16000, 6+($FIRESOFSTEAM*2-2);
- sellitem PlatinumOre, 24000, 3+($FIRESOFSTEAM*2-2);
- sellitem EarthPowder, -1, 3+$FIRESOFSTEAM-1;
- sellitem EverburnPowder, 15000, 2+$FIRESOFSTEAM-1;
-
- sellitem AncientBlueprint, 12500, max(1, 4+$FIRESOFSTEAM/2);
- sellitem RustyKnife, -1, 5+$FIRESOFSTEAM-1;
- sellitem TrainingWand, -1, 5+$FIRESOFSTEAM-1;
- sellitem TrainingBow, -1, 5+$FIRESOFSTEAM-1;
-
- sellitem AlchemyBlueprintA, -1, 5+$FIRESOFSTEAM-1;
- sellitem AlchemyBlueprintB, -1, 4+$FIRESOFSTEAM-1;
- sellitem AlchemyBlueprintC, -1, 3+$FIRESOFSTEAM-1;
- sellitem AlchemyBlueprintD, -1, 2+$FIRESOFSTEAM-1;
- sellitem AlchemyBlueprintE, -1, max(1, 1+$FIRESOFSTEAM/2);
-
- sellitem EquipmentBlueprintA, -1, 5+$FIRESOFSTEAM-1;
- sellitem EquipmentBlueprintB, -1, 4+$FIRESOFSTEAM-1;
- sellitem EquipmentBlueprintC, -1, 3+$FIRESOFSTEAM-1;
- sellitem EquipmentBlueprintD, -1, 2+$FIRESOFSTEAM-1;
- sellitem EquipmentBlueprintE, -1, max(1, 1+$FIRESOFSTEAM/2);
-
- sellitem ArcmageBoxset, 10000, 4+$FIRESOFSTEAM-1;
- sellitem ScholarshipBadge, -1, 3+$FIRESOFSTEAM-1;
- sellitem Bullet, 4, 90000+($FIRESOFSTEAM*1000-1000);
- sellitem Lifestone, -1, 500+$FIRESOFSTEAM-1;
- sellitem Bread, -1, 450+$FIRESOFSTEAM-1;
- sellitem Cheese, -1, 300+$FIRESOFSTEAM-1;
- sellitem Aquada, -1, 200+$FIRESOFSTEAM-1;
-
- sellitem WhiteFur, -1, 1+rand2(50)+$FIRESOFSTEAM;
- sellitem Piberries, -1, 1+rand2(50)+$FIRESOFSTEAM;
- sellitem CherryCake, -1, 1+rand2(50)+$FIRESOFSTEAM;
- sellitem LettuceLeaf, -1, 1+rand2(50)+$FIRESOFSTEAM;
- sellitem BugLeg, -1, 1+rand2(50)+$FIRESOFSTEAM;
- sellitem RoastedMaggot, -1, 1+rand2(50)+$FIRESOFSTEAM;
- sellitem Moss, -1, 1+rand2(50)+$FIRESOFSTEAM;
- sellitem AnimalBones, -1, 1+rand2(40)+$FIRESOFSTEAM;
- sellitem Milk, -1, 1+rand2(50)+$FIRESOFSTEAM;
- sellitem Mashmallow, -1, 1+rand2(50)+$FIRESOFSTEAM;
- sellitem Dragonfruit, 1200, 1+rand2(50)+$FIRESOFSTEAM;
- sellitem Root, -1, 40+$FIRESOFSTEAM-1;
- sellitem ManaPiouFeathers, -1, 1+rand2(300)+$FIRESOFSTEAM;
-
- if (!$BETASERVER && !debug)
- disablenpc .name$;
- end;
-
-OnClock0001:
-OnClock0201:
-OnClock0401:
-OnClock0601:
-OnClock0801:
-OnClock1001:
-OnClock1201:
-OnClock1401:
-OnClock1601:
-OnClock1801:
-OnClock2001:
- if ($EVENT$ != "Steam")
- end;
-OnClock2201:
- .mobp=rand2(1000, 2500);
- .mobg=.mobp*rand2(100, 150)/10;
- .robp=rand2(900, 1200);
- .robg=.robp*rand2(40, 60);//rand2(80, 110);
-
- restoreshopitem Coal, 50+($FIRESOFSTEAM*3-3);
- restoreshopitem LeatherPatch, 800, 45+($FIRESOFSTEAM*3-3);
- restoreshopitem RawLog, 40+($FIRESOFSTEAM*3-3);
- restoreshopitem WoodenLog, 40+($FIRESOFSTEAM*3-3);
- restoreshopitem IronOre, 30+($FIRESOFSTEAM*3-3);
- restoreshopitem CopperOre, 1000, 20+($FIRESOFSTEAM*2-2);
- restoreshopitem SilverOre, 2000, 14+($FIRESOFSTEAM*2-2);
- restoreshopitem GoldOre, 3000, 14+($FIRESOFSTEAM*2-2);
- restoreshopitem TinOre, 3600, 15+($FIRESOFSTEAM*2-2);
- restoreshopitem LeadOre, 4000, 15+($FIRESOFSTEAM*2-2);
- restoreshopitem TitaniumOre, 6000, 9+($FIRESOFSTEAM*2-2);
- restoreshopitem IridiumOre, 16000, 6+($FIRESOFSTEAM*2-2);
- restoreshopitem PlatinumOre, 24000, 3+($FIRESOFSTEAM*2-2);
- restoreshopitem EarthPowder, 3+$FIRESOFSTEAM-1;
- restoreshopitem EverburnPowder, 15000, 2+$FIRESOFSTEAM-1;
-
- restoreshopitem AncientBlueprint, 10000, 4+$FIRESOFSTEAM-1;
- restoreshopitem RustyKnife, 5+$FIRESOFSTEAM-1;
- restoreshopitem TrainingWand, 5+$FIRESOFSTEAM-1;
- restoreshopitem TrainingBow, 5+$FIRESOFSTEAM-1;
-
- restoreshopitem AlchemyBlueprintA, 5+$FIRESOFSTEAM-1;
- restoreshopitem AlchemyBlueprintB, 4+$FIRESOFSTEAM-1;
- restoreshopitem AlchemyBlueprintC, 3+$FIRESOFSTEAM-1;
- restoreshopitem AlchemyBlueprintD, 2+$FIRESOFSTEAM-1;
- restoreshopitem AlchemyBlueprintE, 1+$FIRESOFSTEAM-1;
-
- restoreshopitem EquipmentBlueprintA, 5+$FIRESOFSTEAM-1;
- restoreshopitem EquipmentBlueprintB, 4+$FIRESOFSTEAM-1;
- restoreshopitem EquipmentBlueprintC, 3+$FIRESOFSTEAM-1;
- restoreshopitem EquipmentBlueprintD, 2+$FIRESOFSTEAM-1;
- restoreshopitem EquipmentBlueprintE, 1+$FIRESOFSTEAM-1;
-
- restoreshopitem ArcmageBoxset, 10000, 4+$FIRESOFSTEAM-1;
- restoreshopitem ScholarshipBadge, 3+$FIRESOFSTEAM-1;
- restoreshopitem Lifestone, 800+$FIRESOFSTEAM-1;
- restoreshopitem Bullet, 4, 90000+$FIRESOFSTEAM-1;
- restoreshopitem Bread, 750+$FIRESOFSTEAM-1;
- restoreshopitem Cheese, 400+$FIRESOFSTEAM-1;
- restoreshopitem Aquada, 200+$FIRESOFSTEAM-1;
-
- restoreshopitem WhiteFur, 1+rand2(50)+$FIRESOFSTEAM;
- restoreshopitem Piberries, 1+rand2(50)+$FIRESOFSTEAM;
- restoreshopitem CherryCake, 1+rand2(50)+$FIRESOFSTEAM;
- restoreshopitem LettuceLeaf, 1+rand2(50)+$FIRESOFSTEAM;
- restoreshopitem BugLeg, 1+rand2(50)+$FIRESOFSTEAM;
- restoreshopitem RoastedMaggot, 1+rand2(50)+$FIRESOFSTEAM;
- restoreshopitem Moss, 1+rand2(50)+$FIRESOFSTEAM;
- restoreshopitem AnimalBones, 1+rand2(40)+$FIRESOFSTEAM;
- restoreshopitem Milk, 1+rand2(50)+$FIRESOFSTEAM;
- restoreshopitem Mashmallow, 1+rand2(50)+$FIRESOFSTEAM;
- restoreshopitem Dragonfruit, 1200, 1+rand2(50)+$FIRESOFSTEAM;
- restoreshopitem Root, 40+$FIRESOFSTEAM;
- restoreshopitem ManaPiouFeathers, 1+rand2(300)+$FIRESOFSTEAM;
- end;
-
-OnMinute02:
- if ($EVENT$ != "Steam") end;
- donpcevent "Neko::OnClock2359";
- end;
-}
-
-
-003-0-2,34,21,0 script Alliance Officer NPC_HALBERDBARBARIAN,{
- mesn;
- mesq l("Good %s, %s. The council is not in session right now.",
- (is_night() ? l("evening") : l("morning")),
- (strcharinfo(0) == $MOST_HEROIC$ ? lg("hero") : lg("peasant")));
- if (($BETASERVER || debug) && BaseLevel < 60 && !#BETA_REVIVE) goto L_PowerUp;
- close;
-
-L_PowerUp:
- next;
- mesn strcharinfo(0);
- mesq l("Could you awake my lost and forsaken potential?");
- next;
- mesn;
- mesq l("Yes. I can. But this is irreversible. Are you sure you want this?");
- next;
- mesc l("Awake lost potential? This will mess with your char data irreversibly, beware."), 1;
- if (askyesno() == ASK_NO) close;
- inventoryplace Iten, 1, NPCEyes, 4;
-
- // Chose a stage (NO TTL)
- mesc l("Please select where you left off on Main Quest.");
- mesc l("The one with a star (*) is advised.");
- mesc l("It is NOT advised for new players to skip parts of the Main Quest."), 1;
- mesc l("Skipping will FORSAKE rewards for the quest and related; So choose wisely!");
- mes "";
- menuint
- "Nard Quest finished", 1,
- "Lua Quest finished", 3,
- "Airlia Quest finished", 6,
- "Librarian Quest finished", 10,
- "Blue Sage Quest finished", 12,
- "(*) King Gelid Quest complete", 17,
- "Lightbringer/Barbara finished", 19;
- mes "";
- // Save stage
- .@mq = @menuret;
-
- // IP Blacklist
- if (array_find($@IPBLIST$, getcharip()) < 0)
- array_push($@IPBLIST$, getcharip());
-
- // Level up
- freeloop(true);
- while (BaseLevel < 60)
- getexp NextBaseExp, 100;
- freeloop(false);
-
- // Skip a few quests
- setq ShipQuests_Arpan, 5;
- if (.@mq > 10)
- setq NivalisQuest_BlueSage, 12;
- if (.@mq >= 17) {
- sk_lvup(AM_REST);
- sk_lvup(AM_RESURRECTHOMUN);
- sk_lvup(AM_CALLHOMUN);
- }
- if (.@mq >= 18) {
- BARBARA_STATE=any(1, 2, 3);
- }
-
- // Update main quest
- if (getq(General_Narrator) < .@mq)
- setq General_Narrator, .@mq;
-
- // Monster points
- MPQUEST=true;
- if (!Mobpt)
- Mobpt+=100000;
-
- // Magic Power
- adddefaultskills();
- if (!MAGIC_LVL) {
- sk_lvup(AL_DP);
- MAGIC_LVL=1;
- }
-
- // Crafting
- if (!CRAFTQUEST) {
- sk_lvup(TMW2_CRAFT);
- getitembound RecipeBook, 1, 1;
- CRAFTQUEST=true;
- }
-
- // Free skills
- sk_lvup(TMW2_MANABOMB);
- sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
-
- // Pure awesomeness
- getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4;
- getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4;
-
- // Full power
- getitembound Wurtzite, 6, 4;
- getitembound Bread, 10, 4;
-
- // Regeneration and misc
- getitem StrangeCoin, 100;
- Zeny+=50000;
- percentheal 100,100;
- mesc l("You awake a long forgotten potential, and feel ready to take over the world.");
- #BETA_REVIVE=true;
- close;
-
-OnInit:
- .distance=4;
- /*
- if (!$BETASERVER && !debug)
- disablenpc .name$;
- */
- end;
-}
-
diff --git a/npc/029-0/mobs.txt b/npc/029-0/mobs.txt
deleted file mode 100644
index 20d69e3..0000000
--- a/npc/029-0/mobs.txt
+++ /dev/null
@@ -1,305 +0,0 @@
-// TMW2 scripts.
-// Author:
-// Jesusalva
-// Description:
-// Fires of Steam: The Death of Andrei Sakar
-
-//////////////////////////////////////////
-// Monster Control
-- script SteamFire#Ctrl 32767,{
- function SFsetup1;
- function SFsetup2;
- function SFsetup3;
- function SFsetup4;
- function SFsetup5;
- function SFsetup6;
- function SFsetup7;
- function SFsetup8;
- function SFreset;
- end;
-
-OnInit:
- .e1$="SteamFire#Ctrl::OnEvent1";
- .e2$="SteamFire#Ctrl::OnEvent2";
- .e3$="SteamFire#Ctrl::OnEvent3";
- .e4$="SteamFire#Ctrl::OnEvent4";
- .e5$="SteamFire#Ctrl::OnEvent5";
- .e6$="SteamFire#Ctrl::OnEvent6";
- .e7$="SteamFire#Ctrl::OnEvent7";
- .e8$="SteamFire#Ctrl::OnEvent8";
- SFsetup1();
- SFsetup2();
- SFsetup3();
- SFsetup4();
- SFsetup5();
- SFsetup6();
- SFsetup7();
- SFsetup8();
- end;
-
-function SFspawn {
- .@am=max(1, $FIRESOFSTEAM > getarg(8) ? (getarg(6)*4/10) : getarg(6));
- //debugmes "Spawning %d/%d mobs on %s", .@am, getarg(6), getarg(0);
- areamonster(getarg(0), getarg(1), getarg(2), getarg(3), getarg(4),
- strmobinfo(1, getarg(5)), getarg(5), .@am,
- getarg(7));
- if ($FIRESOFSTEAM > getarg(8) && !$@FOS_RESPAWN[getarg(8)]) {
- $@FOS_RESPAWN[getarg(8)]=true;
- setmapflag(getarg(0), mf_nopenalty);
- }
-
- return;
-}
-
-function SFsetup1 {
- SFspawn("029-1", 15, 15, 77, 120, Scar, 60, .e1$, 1);
- SFspawn("029-1", 15, 15, 255, 255, Crafty, 320, .e1$, 1);
- SFspawn("029-1", 15, 15, 255, 255, GiantMutatedBat, 30, .e1$, 1);
- SFspawn("029-1", 15, 15, 255, 255, Scar, 100, .e1$, 1);
- SFspawn("029-1", 195, 15, 290, 100, Forain, 54, .e1$, 1);
- SFspawn("029-1", 77, 15, 195, 75, GreenDragon, 45, .e1$, 1);
- SFspawn("029-1", 75, 75, 205, 100, EliteDuck, 40, .e1$, 1);
- SFspawn("029-1", 15, 90, 75, 280, Terranite, 90, .e1$, 1);
- SFspawn("029-1", 177, 140, 280, 280, JackO, 80, .e1$, 1);
- SFspawn("029-1", 175, 75, 280, 200, RedSkullSlime, 60, .e1$, 1);
- SFspawn("029-1", 75, 175, 185, 280, Michel, 60, .e1$, 1);
- SFspawn("029-1", 80, 100, 180, 160, CopperSkullSlime, 60, .e1$, 1);
- // MAP BOSS
- monster("029-1", 147, 153, "Level Boss", MonsterGeneral, 1, .e1$);
- return;
-}
-
-function SFsetup2 {
- SFspawn("029-2", 20, 28, 51, 33, BlackMamba, 15, .e2$, 2);
- SFspawn("029-2", 20, 34, 51, 42, GreenSkullSlime, 20, .e2$, 2);
- SFspawn("029-2", 20, 42, 32, 70, Centaur, 15, .e2$, 2);
- SFspawn("029-2", 39, 42, 51, 70, TerraniteProtector, 15, .e2$, 2);
- SFspawn("029-2", 32, 42, 40, 70, GoboBear, 13, .e2$, 2);
- SFspawn("029-2", 20, 20, 35, 70, Moonshroom, 5, .e2$, 2);
- SFspawn("029-2", 20, 20, 35, 70, RobinBandit, 5, .e2$, 2);
- // MAP BOSS
- monster("029-2", 46, 68, "Level Boss", YetiKing, 1, .e2$);
- return;
-}
-
-function SFsetup3 {
- SFspawn("029-3", 20, 20, 130, 100, DustGatling, 40, .e3$, 3);
- SFspawn("029-3", 20, 20, 130, 100, Scar, 50, .e3$, 3);
- SFspawn("029-3", 20, 20, 130, 100, Skeleton, 80, .e3$, 3);
- SFspawn("029-3", 20, 20, 130, 100, GreenSkullSlime, 20, .e3$, 3);
- SFspawn("029-3", 20, 20, 48, 62, Troll, 25, .e3$, 3);
- SFspawn("029-3", 20, 62, 53, 100, Michel, 30, .e3$, 3);
- SFspawn("029-3", 47, 20, 72, 50, LavaSkullSlime, 25, .e3$, 3);
- SFspawn("029-3", 72, 20, 130, 50, ShadowPixie, 18, .e3$, 3);
- SFspawn("029-3", 67, 49, 130, 64, GoboBear, 25, .e3$, 3);
- SFspawn("029-3", 67, 62, 99, 100, BlackMamba, 30, .e3$, 3);
- SFspawn("029-3", 100, 62, 130, 100, JackO, 30, .e3$, 3);
- // MAP BOSS
- monster("029-3", 82, 89, "Level Boss", FallenKing2, 1, .e3$);
- return;
-}
-
-function SFsetup4 {
- SFspawn("029-4", 20, 20, 130, 100, DustRifle, 40, .e4$, 4);
- SFspawn("029-4", 20, 20, 130, 100, Skeleton, 60, .e4$, 4);
- SFspawn("029-4", 20, 20, 130, 100, ArmoredSkeleton, 20, .e4$, 4);
-
- SFspawn("029-4", 38, 22, 120, 28, FireSkull, 30, .e4$, 4);
- SFspawn("029-4", 38, 30, 128, 44, GreenSkullSlime, 30, .e4$, 4);
- SFspawn("029-4", 20, 22, 35, 68, BlackSkullSlime, 30, .e4$, 4);
- SFspawn("029-4", 37, 44, 128, 60, Reaper, 24, .e4$, 4);
- SFspawn("029-4", 88, 60, 128, 85, Jhon, 20, .e4$, 4);
- SFspawn("029-4", 20, 69, 60, 101, Mandragora, 20, .e4$, 4);
- SFspawn("029-4", 62, 61, 86, 92, JackO, 15, .e4$, 4); // BOSS
- SFspawn("029-4", 60, 94, 128, 101, NulityPixie, 15, .e4$, 4);
- // MAP BOSS
- monster("029-4", 73, 77, "Level Boss", PsiConscience, 1, .e4$);
- return;
-}
-
-function SFsetup5 {
- SFspawn("029-5", 20, 20, 130, 100, CursedArcher, 40, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, Skeleton, 20, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, ArmoredSkeleton, 60, .e5$, 5);
-
- SFspawn("029-5", 20, 20, 130, 100, Reaper, 32, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, JackO, 12, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, Mandragora, 24, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, Jhon, 12, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, ShadowTortuga, 1, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, RedSkullSlime, 32, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, EvilScythe, 2, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, Michel, 8, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, SiegeTower, 3, .e5$, 5);
- SFspawn("029-5", 20, 20, 130, 100, GreenSlimeMother, 15, .e5$, 5);
- // MAP BOSS
- SFspawn("029-5", 20, 20, 130, 100, SiegeTower, 3, .e5$, 5);
- monster("029-5", 70, 26, "Level Boss", TerraniteKing, 1, .e5$);
- return;
-}
-
-function SFsetup6 {
- SFspawn("029-6", 20, 20, 180, 100, CursedArcher, 40, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, ArmoredSkeleton, 60, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, Fluffy, 40, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, SilkWorm, 40, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, SiegeTower, 4, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, EliteDuck, 24, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, TerraniteProtector, 14, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, Snail, 7, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, PinkieSuseran, 4, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, Junglefowl, 8, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, Tengu, 12, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, Moubi, 2, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, SuperiorShroom, 2, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, Moonshroom, 12, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, GreenDragon, 14, .e6$, 6);
- SFspawn("029-6", 20, 20, 180, 100, GoboBear, 8, .e6$, 6);
- // MAP BOSS
- monster("029-6", 31+9, 91, "Level Boss", PinkieEmperor, 1, .e6$);
- return;
-}
-
-function SFsetup7 {
- SFspawn("029-7", 20, 20, 120, 130, Wolvern, 24, .e7$, 7);
- SFspawn("029-7", 20, 20, 120, 130, GoboBear, 20, .e7$, 7);
- SFspawn("029-7", 20, 20, 120, 130, GreenDragon, 8, .e7$, 7);
- SFspawn("029-7", 20, 20, 120, 130, SiegeTower, 8, .e7$, 7);
- SFspawn("029-7", 20, 20, 120, 130, Tengu, 12, .e7$, 7);
- SFspawn("029-7", 20, 20, 120, 130, Forain, 18, .e7$, 7);
- SFspawn("029-7", 20, 20, 120, 130, Golem, 12, .e7$, 7);
- SFspawn("029-7", 20, 20, 120, 130, ShadowTortuga, 8, .e7$, 7);
- SFspawn("029-7", 20, 20, 120, 130, WaterElement, 2, .e7$, 7);
- SFspawn("029-7", 20, 20, 120, 130, EvilWisp, 2, .e7$, 7);
- // MAP BOSS
- monster("029-7", 66, 35, "Level Boss", PanthomLord, 1, .e7$);
- return;
-}
-
-function SFsetup8 {
- SFspawn("029-8", 20, 20, 240, 220, Assassin, 30, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, DeathCat, 20, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, LogHead, 20, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, RobinBandit, 20, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, GrassSnake, 35, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, EliteDuck, 22, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, BlackMamba, 16, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, Centaur, 24, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, GreenSkullSlime, 18, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, Yetifly, 6, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, Snail, 22, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, PinkieSuseran, 12, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, Jhon, 12, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, Mandragora, 12, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, PinkieMaximus, 12, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, Junglefowl, 12, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, Tengu, 11, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, Moubi, 11, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, SuperiorShroom, 11, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, Nutcracker, 10, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, SiegeTower, 8, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, GreenhornAbomination, 32, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, ShadowTortuga, 10, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, FireElement, 8, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, WaterElement, 8, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, EarthElement, 8, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, WindElement, 8, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, SacredWisp, 4, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, EvilWisp, 4, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, PanthomWisp, 4, .e8$, 8);
- SFspawn("029-8", 20, 20, 240, 220, EpiphanyWisp, 4, .e8$, 8);
- // MAP BOSS
- monster("029-8", 206, 149, "Level Boss", Tortuga, 1, .e8$);
- return;
-}
-
-
-// SFreset(map, state)
-function SFreset {
- .@m$=getarg(0);
- .@s=getarg(1);
- .@m=mobcount(.@m$, "all");
- if (!.@m) {
- if ($FIRESOFSTEAM == .@s) {
- $FIRESOFSTEAM+=1;
- // 3 hours cooldown (180 min)
- if (gettime(GETTIME_YEAR) != 2021)
- $FIRESOFSTEAM_CD=gettimetick(2)+10800;
- return 2;
- } else {
- mapannounce(.@m$, "Map cleared!", 0);
- sleep(rand2(15000, 30000));
- return 1;
- }
- } else if (.@m % 25 == 0) {
- mapannounce(.@m$, sprintf("%s monster(s) left", fnum(.@m)), 0);
- }
- return 0;
-}
-
-OnEvent1:
- .@f=SFreset("029-1", 1);
- if (.@f == 2)
- mapannounce("029-1", "Dracula's Castle magical seal has dissipated!", 0);
- if (.@f)
- SFsetup1();
- end;
-
-OnEvent2:
- .@f=SFreset("029-2", 2);
- if (.@f == 2)
- mapannounce("029-2", "Map cleared!", 0);
- if (.@f)
- SFsetup2();
- end;
-
-OnEvent3:
- .@f=SFreset("029-3", 3);
- if (.@f == 2)
- mapannounce("029-3", "Map cleared!", 0);
- if (.@f)
- SFsetup3();
- end;
-
-OnEvent4:
- .@f=SFreset("029-4", 4);
- if (.@f == 2)
- mapannounce("029-4", "Map cleared!", 0);
- if (.@f)
- SFsetup4();
- end;
-
-OnEvent5:
- .@f=SFreset("029-5", 5);
- if (.@f == 2)
- mapannounce("029-5", "Map cleared!", 0);
- if (.@f)
- SFsetup5();
- end;
-
-OnEvent6:
- .@f=SFreset("029-6", 6);
- if (.@f == 2)
- mapannounce("029-6", "Map cleared! You'll need a Druid Tree Branch to use the tree warp to next area.", 0);
- if (.@f)
- SFsetup6();
- end;
-
-OnEvent7:
- .@f=SFreset("029-7", 7);
- if (.@f == 2)
- mapannounce("029-7", "Swamps cleared! Meet Andrei Sakar on the other side!", 0);
- if (.@f)
- SFsetup7();
- end;
-
-OnEvent8:
- .@f=SFreset("029-8", 8);
- if (.@f == 2)
- mapannounce("029-8", "Map cleared! Contact a GM in Migglemire Town!", 0);
- if (.@f)
- SFsetup8();
- end;
-}
-
-
diff --git a/npc/029-0/sakar.txt b/npc/029-0/sakar.txt
deleted file mode 100644
index 06b990f..0000000
--- a/npc/029-0/sakar.txt
+++ /dev/null
@@ -1,91 +0,0 @@
-// TMW2 scripts.
-// Author:
-// Jesusalva
-// Description:
-// Fires of Steam: The Death of Andrei Sakar
-
-//////////////////////////////////////////
-// Andrei Sakar Instances
-
-029-8,50,173,0 script Andrei Sakar#FoS298 NPC_ANDREI,{
- if (!(TELEPORTERS & TP_ARTIS)) {
- TELEPORTERS=TELEPORTERS|TP_ARTIS;
- }
- mesn;
- mesq l("Do you want to return?");
- next;
- select
- l("No, thanks."),
- l("Yes, I would like to go back to the Swamps."),
- l("Yes, I would like to go back to Artis.");
- mes "";
- closeclientdialog;
- switch (@menu) {
- case 2:
- cwarp "029-7", 87, 56;
- case 3:
- cwarp "029-0", 90, 31;
- }
- close;
-OnInit:
- .distance=5;
- if ($FIRESOFSTEAM >= 10)
- setnpcdisplay("Andrei Sakar#FoS298", "Elora#FoS298", NPC_HUMAN_FEMALE_NOOB);
- end;
-}
-
-029-0,88,33,0 script Andrei Sakar#FoS290 NPC_ANDREI,{
- function prologue;
- if (getq(General_Narrator) < 20) end; // Not authorized
- if (!FIRESOFSTEAM_CD && $FIRESOFSTEAM < 10)
- prologue();
- mesn;
- mesq l("Do you want to advance?");
- next;
- select
- l("No, thanks."),
- l("Yes, I would like to explore!"),
- rif($FIRESOFSTEAM >= 8, l("Yes, I would like to go to Asphodel Moors!"));
- mes "";
- closeclientdialog;
- switch (@menu) {
- case 2:
- cwarp "029-1", 32, 91;
- case 3:
- cwarp "029-8", 51, 174;
- }
- close;
-
-function prologue {
- mesn;
- mesq l("Thanks for attending my call. As you can clearly see, the town is deserted; We only have our own staff in this town.");
- next;
- mesn;
- mesq l("They set up shop in the whole town, so if you are in need of upgrading your gear or buying health food, it might be a good idea to pay them a visit.");
- next;
- mesn;
- mesq l("Now, we're hot on the trails of whatever is the reason for the town to be so empty. We blocked this road so the town is not overrun by the monsters outside.");
- next;
- mesn;
- mesq l("We've traced them to the Dark Forest, our goal is to destroy every raider there and defeat whoever is behind this tragedy. All that while keeping an eye open for survivors.");
- next;
- mesn;
- mesq l("After all the monsters in an area are defeated, they'll respawn at once. I know, that's not good, but well, nothing that can be done about it.");
- next;
- mesn;
- mesq l("Anyway, after that I'll use my magic, so everyone can rest after that until I finish, or keep killing the new monsters for experience and drops.");
- next;
- mesn;
- mesq l("Are you ready? There will be a long path ahead of us until this mistery is solved.");
- FIRESOFSTEAM_CD=gettimetick(2);
- next;
- return;
-}
-
-OnInit:
- .distance=5;
- if ($FIRESOFSTEAM >= 10)
- setnpcdisplay("Andrei Sakar#FoS290", "Elora#FoS290", NPC_HUMAN_FEMALE_NOOB);
- end;
-}
-
diff --git a/npc/029-0/town.txt b/npc/029-0/town.txt
deleted file mode 100644
index 5b0780a..0000000
--- a/npc/029-0/town.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-// TMW-2 Script
-// Author:
-// Jesusalva
-// Description:
-// Reset LOCATION$ when entering a town
-
-029-0 mapflag town
-029-0 mapflag nopenalty
-
-029-0,203,85,0 script #LocArtis NPC_HIDDEN,0,3,{
-OnTouch:
- EnterTown("Artis"); end;
-}
-
-029-0,204,85,0 script ArtisShip NPC_HIDDEN,0,0,{
-
-OnTouch:
- EnterTown("Artis");
- goto L_Warp;
-
-L_Warp:
- warp "002-3@"+LOCATION$, 31, 28;
- closedialog;
- close;
-}
-
diff --git a/npc/029-0/warps.txt b/npc/029-0/warps.txt
deleted file mode 100644
index 05857ad..0000000
--- a/npc/029-0/warps.txt
+++ /dev/null
@@ -1,130 +0,0 @@
-// TMW2 scripts.
-// Author:
-// Jesusalva
-// Description:
-// Fires of Steam: The Death of Andrei Sakar
-
-//////////////////////////////////////////
-// Warp Control
-
-// FiresOfSteam_Warp(ID)
-function script FiresOfSteam_Warp {
- if ($FIRESOFSTEAM < getarg(0)) {
- dispbottom l("Monsters remaining: %s", fnum(mobcount(getmap(), "all")));
- end;
- }
- if ($FIRESOFSTEAM > getarg(0))
- return true;
- if ($FIRESOFSTEAM_CD > gettimetick(2)) {
- dispbottom l("Time left until warp can be used: %s", FuzzyTime($FIRESOFSTEAM_CD));
- end;
- }
- return false;
-}
-
-//////////////////////////////////////////
-029-1,147,153,0 script #291to292 NPC_HIDDEN,1,0,{
- end;
-OnTouch:
- if (FiresOfSteam_Warp(2)) goto L_Warp;
- // Additional conditions here
- if ($FIRESOFSTEAM[1] > 0 ||
- $FIRESOFSTEAM[2] > 0 ||
- $FIRESOFSTEAM[3] > 0 ||
- $FIRESOFSTEAM[4] > 0 ||
- $FIRESOFSTEAM[5] > 0) {
- dispbottom l("A magic barrier prevents you from enterering. Maybe it is a good idea to shut down the pentagrams first?");
- end;
- }
- // Fallthrough
-L_Warp:
- warp "029-2", 35, 70;
- end;
-}
-
-029-2,35,38,0 script #292to293 NPC_HIDDEN,3,0,{
- end;
-OnTouch:
- if (FiresOfSteam_Warp(3)) goto L_Warp;
- // Fallthrough
-L_Warp:
- warp "029-3", 25, 68;
- end;
-}
-
-029-3,126,99,0 script #293to294 NPC_HIDDEN,3,0,{
- end;
-OnTouch:
- if (FiresOfSteam_Warp(4)) goto L_Warp;
- // Fallthrough
-L_Warp:
- warp "029-4", 125, 18;
- end;
-}
-
-029-4,21,98,0 script #294to295 NPC_HIDDEN,3,0,{
- end;
-OnTouch:
- if (FiresOfSteam_Warp(5)) goto L_Warp;
- // Fallthrough
-L_Warp:
- warp "029-5", 125, 18;
- end;
-}
-
-029-5,70,25,0 script #295to296 NPC_HIDDEN,1,0,{
- end;
-OnTouch:
- if (FiresOfSteam_Warp(6)) goto L_Warp;
- // Fallthrough
-L_Warp:
- warp "029-6", 134+9, 31;
- end;
-}
-
-// 27+9 = 36
-029-6,36,90,0 script Great Tree#296to297 NPC_NO_SPRITE,{
- if (FiresOfSteam_Warp(7)) goto L_Warp;
- // Additional conditions here
- mes l("Apparently, you'll need to use a %s to get this to work!", getitemlink(DruidTreeBranch));
- if (!countitem(DruidTreeBranch)) close;
- next;
- if (askyesno() == ASK_NO) close;
- closeclientdialog;
- delitem DruidTreeBranch, 1;
- // Fallthrough
-L_Warp:
- warp "029-7", 96, 121;
- end;
-
-OnInit:
- .distance=3;
- end;
-}
-
-029-7,80,49,0 script Dead Tree#297to298 NPC_NO_SPRITE,{
- if (FiresOfSteam_Warp(8)) goto L_Warp;
- // Additional conditions here (TODO)
- // Fallthrough
-L_Warp:
- warp "029-8", 51, 174;
- end;
-
-OnInit:
- .distance=3;
- end;
-}
-
-029-8,174,77,0 script #298to299 NPC_HIDDEN,1,0,{
- end;
-OnTouch:
- if (FiresOfSteam_Warp(9)) goto L_Warp;
- // Additional conditions here (TODO)
- // Fallthrough
-L_Warp:
- warp "029-9", 96, 48;
- end;
-}
-
-029-9 mapflag zone MMO
-
diff --git a/npc/029-1/_import.txt b/npc/029-1/_import.txt
deleted file mode 100644
index 5822170..0000000
--- a/npc/029-1/_import.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// Map 029-1: Dark Forest
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/029-1/pentagram.txt",
diff --git a/npc/029-1/pentagram.txt b/npc/029-1/pentagram.txt
deleted file mode 100644
index 261b063..0000000
--- a/npc/029-1/pentagram.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-// TMW2 scripts.
-// Author:
-// Jesusalva
-// Description:
-// Fires of Steam: The Death of Andrei Sakar
-
-//////////////////////////////////////////
-// Pentagram Core
-
-029-1,35,32,0 script Pentagram#FoS_1 NPC_NO_SPRITE,{
- .@n$=strnpcinfo(0, "_0");
- explode(.@ni$, .@n$, "_");
- .@id=atoi(.@ni$[1]);
- debugmes "ID %d", .@id;
- if (.@id < 1) end;
- if ($FIRESOFSTEAM[.@id] < 1) end;
-
- mesn;
- mesq l("Power remaining: %s", fnum($FIRESOFSTEAM[.@id]));
- next;
- mesc l("Use items to drain the pentagram. Final result is affected by int!");
- mesc l("WARNING: Monsters will appear!"), 1;
- select
- l("Cancel"),
- l("Dark Crystal (5 power)"),
- l("Terranite Ore (3 power)"),
- l("Coal (2 power)"),
- l("Cotton Cloth (1 power)");
- mes "";
- switch (@menu) {
- case 2:
- .@val=5;.@it=DarkCrystal;
- break;
- case 3:
- .@val=3;.@it=TerraniteOre;
- break;
- case 4:
- .@val=2;.@it=Coal;
- break;
- case 5:
- .@val=1;.@it=CottonCloth;
- break;
- default:
- close;
- }
-
- closeclientdialog;
- if (!countitem(.@it)) end;
- .@val*=countitem(.@it);
- .@val*=(readparam2(bInt)+100)/100; // Each int gives +1%
- delitem .@it, countitem(.@it);
- $FIRESOFSTEAM[.@id]-=.@val;
- getexp 0, .@val*2;
- // TODO: Check & unlock
- if ($FIRESOFSTEAM[.@id] < 1)
- disablenpc .name$;
- // Create monsters based on effectivity
- areamonster("029-1", .x-3, .y-3, .x+3, .y+3, strmobinfo(1, MagicGoblin), MagicGoblin, (.@val/15)+1, "SteamFire#Ctrl::OnEvent1");
- dispbottom l("Power remaining: %s", fnum($FIRESOFSTEAM[.@id]));
- close;
-
-OnInit:
- .distance=3;
- end;
-}
-
-// Now we duplicate
-029-1,258,39,0 duplicate(Pentagram#FoS_1) Pentagram#FoS_2 NPC_NO_SPRITE
-029-1,113,148,0 duplicate(Pentagram#FoS_1) Pentagram#FoS_3 NPC_NO_SPRITE
-029-1,229,188,0 duplicate(Pentagram#FoS_1) Pentagram#FoS_4 NPC_NO_SPRITE
-029-1,38,257,0 duplicate(Pentagram#FoS_1) Pentagram#FoS_5 NPC_NO_SPRITE
-
-
-
diff --git a/npc/029-2/_import.txt b/npc/029-2/_import.txt
deleted file mode 100644
index 4d63c90..0000000
--- a/npc/029-2/_import.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// Map 029-2: Graveyard Indoor
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/029-2/_warps.txt",
diff --git a/npc/029-2/_warps.txt b/npc/029-2/_warps.txt
deleted file mode 100644
index 0704802..0000000
--- a/npc/029-2/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 029-2: Graveyard Indoor warps
-029-2,36,71,0 warp #029-2_36_71 5,0,029-1,147,154
diff --git a/npc/029-3/_import.txt b/npc/029-3/_import.txt
deleted file mode 100644
index 90f23c5..0000000
--- a/npc/029-3/_import.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// Map 029-3: Crypt Basement
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/029-3/_warps.txt",
diff --git a/npc/029-3/_warps.txt b/npc/029-3/_warps.txt
deleted file mode 100644
index 7dd5e91..0000000
--- a/npc/029-3/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 029-3: Crypt Basement warps
-029-3,26,67,0 warp #029-3_26_67 3,0,029-2,35,37
diff --git a/npc/029-4/_import.txt b/npc/029-4/_import.txt
deleted file mode 100644
index bc557bc..0000000
--- a/npc/029-4/_import.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// Map 029-4: Crypt Sub-Basement One
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/029-4/_warps.txt",
diff --git a/npc/029-4/_warps.txt b/npc/029-4/_warps.txt
deleted file mode 100644
index ac33c43..0000000
--- a/npc/029-4/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 029-4: Crypt Sub-Basement One warps
-029-4,126,17,0 warp #029-4_126_17 3,0,029-3,126,98
diff --git a/npc/029-5/_config.txt b/npc/029-5/_config.txt
deleted file mode 100644
index 99e975a..0000000
--- a/npc/029-5/_config.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 029-5: Crypt Sub-Basement Two conf
-
-029-5,126,18,0 script #029-5_126_18 NPC_HIDDEN,3,0,{
- end;
-OnTouch:
- doevent "#DungeonCore::OnSick";
- end;
-}
-
-029-5,71,26,0 script #029-5_71_26 NPC_HIDDEN,3,0,{
- end;
-OnTouch:
- doevent "#DungeonCore::OnSick";
- end;
-}
diff --git a/npc/029-5/_import.txt b/npc/029-5/_import.txt
deleted file mode 100644
index 43d51fb..0000000
--- a/npc/029-5/_import.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// Map 029-5: Crypt Sub-Basement Two
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/029-5/_config.txt",
-"npc/029-5/_warps.txt",
diff --git a/npc/029-5/_warps.txt b/npc/029-5/_warps.txt
deleted file mode 100644
index 4523acb..0000000
--- a/npc/029-5/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 029-5: Crypt Sub-Basement Two warps
-029-5,126,17,0 warp #029-5_126_17 3,0,029-4,21,97
diff --git a/npc/029-6/_import.txt b/npc/029-6/_import.txt
deleted file mode 100644
index 8b480e2..0000000
--- a/npc/029-6/_import.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// Map 029-6: Somewhere Strange
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/029-6/_warps.txt",
diff --git a/npc/029-6/_warps.txt b/npc/029-6/_warps.txt
deleted file mode 100644
index bf9abfa..0000000
--- a/npc/029-6/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 029-6: Somewhere Strange warps
-029-6,143,30,0 warp #029-6_143_30 0,0,029-5,70,26
diff --git a/npc/029-7/_import.txt b/npc/029-7/_import.txt
deleted file mode 100644
index 7393f71..0000000
--- a/npc/029-7/_import.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// Map 029-7: Ruined Swamps
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/029-7/_warps.txt",
diff --git a/npc/029-7/_warps.txt b/npc/029-7/_warps.txt
deleted file mode 100644
index e80a505..0000000
--- a/npc/029-7/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 029-7: Ruined Swamps warps
-029-7,105,124,0 warp #029-7_105_124 0,0,029-6,27,92
diff --git a/npc/029-8/_import.txt b/npc/029-8/_import.txt
deleted file mode 100644
index 02bf49b..0000000
--- a/npc/029-8/_import.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-// Map 029-8: Asphodel Moors
-// This file is generated automatically. All manually added changes will be removed when running the Converter.