summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/000-0/sailors.txt7
-rw-r--r--npc/029-0/_import.txt1
-rw-r--r--npc/029-0/elora.txt6
-rw-r--r--npc/029-0/event.txt129
4 files changed, 138 insertions, 5 deletions
diff --git a/npc/000-0/sailors.txt b/npc/000-0/sailors.txt
index 9ecbfee00..c2b33a860 100644
--- a/npc/000-0/sailors.txt
+++ b/npc/000-0/sailors.txt
@@ -25,7 +25,7 @@ OnTouch:
if (.@lang >= 0 && .@lang <= MAX_LANG) Lang = .@lang;
showavatar 3;
- if ($FIRESOFSTEAM) goto L_FiresOfSteam;
+ if ($FIRESOFSTEAM && gettime(7) == 2021) goto L_FiresOfSteam;
mesn "Narrator";
mesc l("You open your eyes. The salt water is not helping your vision.");
@@ -188,7 +188,7 @@ L_FiresOfSteam:
equip(.@glo);
equip(.@shi);
equip(.@wpn);
- Zeny+=rand2(40000);
+ Zeny+=rand2(10000, 60000);
}
adddefaultskills();
sk_lvup(AL_DP);
@@ -207,6 +207,7 @@ L_FiresOfSteam:
sk_lvup(TMW2_CRAFT);
sk_lvup(TMW2_CRAFT);
sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_ANCIENTLANGUAGES);
sk_lvup(TMW2_MANABOMB);
sk_lvup(ASC_METEORASSAULT);
sk_lvup(TMW2_NAPALMBEAT);
@@ -242,6 +243,8 @@ L_FiresOfSteam:
#TUTORIAL_DONE=true;
#REG_DATE=gettimetick(2);
TUTORIAL=true;
+ CRAFTQUEST=true;
+ MPQUEST=true;
MAGIC_LVL=7;
savepoint "029-0", 202, 85;
warp "029-0", 202, 85;
diff --git a/npc/029-0/_import.txt b/npc/029-0/_import.txt
index e10e238de..a1ee90f8c 100644
--- a/npc/029-0/_import.txt
+++ b/npc/029-0/_import.txt
@@ -2,6 +2,7 @@
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/029-0/_mobs.txt",
"npc/029-0/elora.txt",
+"npc/029-0/event.txt",
"npc/029-0/mobs.txt",
"npc/029-0/sakar.txt",
"npc/029-0/warps.txt",
diff --git a/npc/029-0/elora.txt b/npc/029-0/elora.txt
index 71de8b7bf..4417094e3 100644
--- a/npc/029-0/elora.txt
+++ b/npc/029-0/elora.txt
@@ -58,13 +58,13 @@ OnInit:
// 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,89,0 duplicate(Tolchi) Tolchi#FoS NPC_RAIJIN_FEMALE_LEGION_ARTIS
+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,58,118,0 duplicate(Neko) Neko#FoS1 NPC_KAYLO
-// TODO: Custom shop for ores and blueprints
-// TODO: Mercenary Shop
+// TODO: Custom shop for ores and blueprints, and mobpt
// TODO: Magic School NPCs
// 029-1
diff --git a/npc/029-0/event.txt b/npc/029-0/event.txt
new file mode 100644
index 000000000..d7a1b5088
--- /dev/null
+++ b/npc/029-0/event.txt
@@ -0,0 +1,129 @@
+// 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,{
+ if (gettime(7) != 2021 || !$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;
+
+OnInit:
+ tradertype(NST_MARKET);
+ .mobp=rand2(1000, 2500);
+ .mobg=.mobp*rand2(100, 150)/10;
+ .robp=rand2(900, 1200);
+ .robg=.robp*rand2(80, 110);
+ .distance=5;
+ .sex=G_MALE;
+
+ sellitem Coal, -1, 40;
+ sellitem IronOre, -1, 30;
+ sellitem CopperOre, -1, 20;
+ sellitem LeadOre, -1, 15;
+ sellitem TinOre, -1, 15;
+ sellitem SilverOre, -1, 14;
+ sellitem GoldOre, -1, 14;
+ sellitem TitaniumOre, -1, 9;
+ sellitem IridiumOre, -1, 6;
+ sellitem PlatinumOre, -1, 3;
+
+ sellitem AncientBlueprint, -1, 5;
+
+ sellitem AlchemyBlueprintA, -1, 5;
+ sellitem AlchemyBlueprintB, -1, 4;
+ sellitem AlchemyBlueprintC, -1, 3;
+ sellitem AlchemyBlueprintD, -1, 2;
+ sellitem AlchemyBlueprintE, -1, 1;
+
+ sellitem EquipmentBlueprintA, -1, 5;
+ sellitem EquipmentBlueprintB, -1, 4;
+ sellitem EquipmentBlueprintC, -1, 3;
+ sellitem EquipmentBlueprintD, -1, 2;
+ sellitem EquipmentBlueprintE, -1, 1;
+
+ sellitem ArcmageBoxset, 10000, 4;
+
+ if (gettime(7) != 2021)
+ disablenpc .name$;
+ end;
+
+OnClock0001:
+OnClock1201:
+ .mobp=rand2(1000, 2500);
+ .mobg=.mobp*rand2(100, 150)/10;
+
+ restoreshopitem Coal, 40;
+ restoreshopitem IronOre, 30;
+ restoreshopitem CopperOre, 20;
+ restoreshopitem LeadOre, 15;
+ restoreshopitem TinOre, 15;
+ restoreshopitem SilverOre, 14;
+ restoreshopitem GoldOre, 14;
+ restoreshopitem TitaniumOre, 9;
+ restoreshopitem IridiumOre, 6;
+ restoreshopitem PlatinumOre, 3;
+
+ restoreshopitem AncientBlueprint, 5;
+
+ restoreshopitem AlchemyBlueprintA, 5;
+ restoreshopitem AlchemyBlueprintB, 4;
+ restoreshopitem AlchemyBlueprintC, 3;
+ restoreshopitem AlchemyBlueprintD, 2;
+ restoreshopitem AlchemyBlueprintE, 1;
+
+ restoreshopitem EquipmentBlueprintA, 5;
+ restoreshopitem EquipmentBlueprintB, 4;
+ restoreshopitem EquipmentBlueprintC, 3;
+ restoreshopitem EquipmentBlueprintD, 2;
+ restoreshopitem EquipmentBlueprintE, 1;
+
+ restoreshopitem ArcmageBoxset, 10000, 4;
+ end;
+}
+