// TMW2 scripts.
// Author:
// Jesusalva
// Description:
// 023-3-2 Isbamuth's Study Room Configuration File
023-3-2 mapflag zone MMO
023-3-2,39,59,0 script #Exit02332 NPC_HIDDEN,1,0,{
end;
OnTouch:
.@q=getq(General_Narrator);
.@q2=getq2(General_Narrator);
// Cheater Detected
if (.@q < 15) {
warp "Save", 0, 0;
percentheal -100, -100;
end;
}
if (.@q == 15) {
dispbottom lg("I'm not a coward! I must press forward!");
end;
}
/*
Access to the dungeon is now prohibted.
.@mapn$="023-3-1";
warp .@mapn$, 45, 28;
*/
.@mapn$="024-16";
warp .@mapn$, 30, 26;
end;
}
// The Master Room... We use field 3, too, but bitwise position 2 is reserved.
023-3-2,38,30,0 script Cauldron#MKHB NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
if (.@q < 4095) {
mesn;
mesc l("It's steaming. Who knows what insanity Isbamuth is brewing inside?!");
next;
mesc l("Keep exploring the Study Room and certify it is safe first. Also, make sure to learn what this was used for.");
close;
}
mesn;
mesc l("It's steaming hot, but you guess this is where Isbamuth created homunculus. Most bandits, thieves and assassins seems to have been born here.");
next;
mesc l("He just abandoned this place and left everything behind... It's suspicious at best. You don't think anyone will be able to decrypt the secrets of Artificial Lifeforms.");
next;
mesc l("Hesitant, you reach out your hand, and grab whatever was on the Cauldron. It seems to be an Embryo.");
next;
skill AM_CALLHOMUN, 1, 0;
mesc l("You have collect enough evidence, it's time to leave and report.");
setq1 FrostiaQuest_Homunculus, 4;
setq1 General_Narrator, 16;
close;
OnInit:
.distance=2;
end;
}
023-3-2,40,25,0 script Notebook#MKHB NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
if (.@q < 4094) {
mesn;
mesc l("Uhm, of course a book like this has to be a trap, right?");
next;
mesc l("Keep exploring the Study Room and certify it is safe first.");
close;
}
mesn l("Diary, 31st May 297 AT");
mesc l("I've been delving in the secrets of Mana, using the stolen Mana Stone we got the other day.");
next;
mesc l("I'm almost in the point of no return. I cannot believe this, but mana... is alive.");
next;
mesc l("I'll keep studying it in secret. I'm so proud of my thieves!");
next;
mesn l("Diary, 21st June 297 AT");
mesc l("I've managed to create the first mana-based artificial lifeform, it survived three seconds, the record so far.");
next;
mesc l("Saul is supplying me the alchemist resources for that. In exchange, my thieves supply him gold and spare his friends.");
next;
mesc l("He thinks he is using me to his rebellion, but I'm the one using him. I'm not the Bandit Lord for no reason.");
next;
mesn l("Diary, 1st April 298 AT");
mesc l("I've managed to create a Maggot. It did not die. And it was not an April Fool's joke. Nice one.");
next;
mesn l("Diary, 12nd December 298 AT");
mesc l("The Mana Stone... is a scary being. It changes you. I'm no longer myself, but some thieves are still at my side... for now.");
next;
mesn l("Diary, 3rd August 299 AT");
mesc l("Saul is planning an assault at the Magic Tower. I want these Mana Stones.");
next;
mesc l("Most thieves left, but that's not a problem, I created an army out of Homunculus. I already have 500 bandits. I will create more later, to get Mana Stones.");
next;
mesn l("Diary, 2nd March 300 AT");
mesc l("It's time. My army already have tens of thousands of monsters, homunculus, persons. The mana stones I've got thus far are all dried out, now.");
next;
mesc l("I could not be the Bandit King. But once I steal all Mana Stones, I'll be not only the best thief in the world. I already decided my new title.");
next;
mesc l("I shall call myself from there on, after this great assault... @@.", b(l("the Monster King")));
next;
mesn l("Diary, 3rd March 300 AT");
mesc l("To create an homunculus, I should follow the secrets in the book \"The Man Who Played God\". I wrote this narrative with the greatest secrets of it.");
next;
mesc l("I shall leave this book with my son, SphinxNox. I will not fail, and live forever. This will be their inheritance from me.");
next;
mesc l("Raid might be great. Saul might be popular. SphinxNox might be an annoying brat. But I'm, or rather, will soon be... @@.", b(l("the Monster King")));
next;
// Implicit fallthrough
L_BookRead:
mesc l(".:: The Homunculus Keeping Manual ::."), 3;
mesc l("To create an homunculus out of the embryo mass: Use the Call Homunculus Skill. It'll be random, based on the embryo nature.");
next;
mesc l(".:: The Homunculus Keeping Manual ::."), 3;
mesc l("Homunculus are a bit dumb, although the ones I've cultivated and took personal care of can express reactions. In future, I'll research sentience.");
next;
mesc l(".:: The Homunculus Keeping Manual ::."), 3;
mesc l("They need to be feed, when hunger falls below 75. @@ is the best food for them.", getitemlink(Bread));
next;
mesc l(".:: The Homunculus Keeping Manual ::."), 3;
mesc l("Also, they level up when they attack, and can be revived with the right skill.");
next;
mesc l(".:: The Homunculus Keeping Manual ::."), 3;
mesc l("Once they get too annoying, I need to kill them... But I think I could put them to rest with the Rest Homunculus skill.");
next;
mesc l(".:: The Homunculus Keeping Manual ::."), 3;
mesc l("It's totally safe. They are loyal as long that feed. And to think I started off giving @@ to the poor...", getitemlink(Bread));
mes "";
mesc "-- " + l("The Monster King.");
if (!(.@q & .hcID)) {
skill AM_REST, 1, 0;
skill AM_RESURRECTHOMUN, 1, 0;
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
dispbottom l("I should talk to Cauldron now... Scary.");
}
close;
OnBookRead:
.@q=getq(General_Narrator);
if (.@q < 16) end;
.@q=.hcID;
goto L_BookRead;
OnInit:
.hcID=1;
.distance=2;
bindatcmd "homunculus", "Notebook#MKHB::OnBookRead", 0, 100, 0;
end;
}
023-3-2,36,31,0 script Machinery#MKHB NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
mesn;
mesc l("You have no idea what this piece of equipment is used for.");
next;
mesn;
mesc l("It have the same shape as those used to polish weapons, but there are blood stains everywhere.");
if (!(.@q & .hcID))
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
close;
OnInit:
.hcID=4;
.distance=2;
end;
}
023-3-2,40,20,0 script Staircase#MKHB NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
mesn;
mesc l("The stairs have magic cast on them, I cannot climb.");
next;
mesn;
mesc l("I have no idea what's above. Behind the stair, is the painting of a table.");
next;
mesn;
mesc l("Seems to be related to alchemy.");
if (!(.@q & .hcID))
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
close;
OnInit:
.hcID=8;
.distance=2;
end;
}
023-3-2,41,30,0 script Potions#MKHB NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
mesn;
mesc l("Several flasks are aligned there. They seemed to be dyes, but a close inspection reveals they're not.");
next;
mesn;
mesc l("They must be reagents used in alchemy.");
if (!(.@q & .hcID))
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
else
mesc l("I don't think I needed to keep looking these potions.");
close;
OnInit:
.hcID=16;
.distance=2;
end;
}
023-3-2,36,25,0 script Bookcase#MKHB1 NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
mesn;
mesc l("Several books about alchemy. Seems to be pretty advanced.");
if (!(.@q & .hcID))
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
close;
OnInit:
.hcID=32;
.distance=2;
end;
}
023-3-2,44,25,0 script Bookcase#MKHB2 NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
mesn;
mesc l("Several books about hiding magic. Might be why the houses looked abandoned and empty but the chimney was going.");
if (!(.@q & .hcID))
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
close;
OnInit:
.hcID=64;
.distance=2;
end;
}
023-3-2,46,28,0 script Bookcase#MKHB3 NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
mesn;
mesc l("Several books about artificial lifeforms and the man who played God.");
if (!(.@q & .hcID))
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
close;
OnInit:
.hcID=128;
.distance=2;
end;
}
023-3-2,49,31,0 duplicate(Bookcase#MKHB3) Bookcase#MKHB4 NPC_NO_SPRITE
023-3-2,32,28,0 script Bookcase#MKHB5 NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
mesn;
mesc l("Seems to be accounting reports and stuff. You take a few pages.");
if (!(.@q & .hcID))
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
close;
OnInit:
.hcID=256;
.distance=2;
end;
}
023-3-2,30,31,0 duplicate(Bookcase#MKHB1) Bookcase#MKHB6 NPC_NO_SPRITE
023-3-2,35,35,0 duplicate(Bookcase#MKHB1) Bookcase#MKHB7 NPC_NO_SPRITE
023-3-2,43,35,0 duplicate(Bookcase#MKHB2) Bookcase#MKHB8 NPC_NO_SPRITE
023-3-2,33,22,0 duplicate(Potions#MKHB) Potions#MKHB1 NPC_NO_SPRITE
023-3-2,30,24,0 duplicate(Potions#MKHB) Potions#MKHB2 NPC_NO_SPRITE
023-3-2,27,26,0 duplicate(Potions#MKHB) Potions#MKHB3 NPC_NO_SPRITE
023-3-2,46,22,0 duplicate(Potions#MKHB) Potions#MKHB4 NPC_NO_SPRITE
023-3-2,49,24,0 duplicate(Potions#MKHB) Potions#MKHB5 NPC_NO_SPRITE
023-3-2,52,26,0 duplicate(Potions#MKHB) Potions#MKHB6 NPC_NO_SPRITE
023-3-2,37,20,0 script Wardrobe#MKHB NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
mesn;
mesc l("Inside it, seems to be several magic reagents, powders, and other stuff.");
if (!(.@q & .hcID))
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
else
mesc l("I don't think I needed to keep looking these wardrobes.");
close;
OnInit:
.hcID=512;
.distance=2;
end;
}
023-3-2,43,20,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB1 NPC_NO_SPRITE
023-3-2,31,21,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB2 NPC_NO_SPRITE
023-3-2,28,23,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB3 NPC_NO_SPRITE
023-3-2,25,25,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB4 NPC_NO_SPRITE
023-3-2,48,21,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB5 NPC_NO_SPRITE
023-3-2,51,23,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB6 NPC_NO_SPRITE
023-3-2,54,25,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB7 NPC_NO_SPRITE
023-3-2,51,37,0 script Barrels#MKHB NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
mesn;
mesc l("These barrels are sealed and heavy. It's impossible to know what's inside. There's a marking on them, you copy them somewhere.");
if (!(.@q & .hcID))
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
else
mesc l("I don't think I needed to keep looking these barrels.");
close;
OnInit:
.hcID=1024;
.distance=2;
end;
}
023-3-2,45,41,0 duplicate(Barrels#MKHB) Barrels#MKHB1 NPC_NO_SPRITE
023-3-2,30,40,0 duplicate(Barrels#MKHB) Barrels#MKHB2 NPC_NO_SPRITE
023-3-2,25,34,0 duplicate(Barrels#MKHB) Barrels#MKHB3 NPC_NO_SPRITE
023-3-2,38,26,0 script Alchemy Set#MKHB NPC_NO_SPRITE,{
.@q=getq3(FrostiaQuest_Homunculus);
mesn;
mesc l("Hey look, an alchemy set. Not your area of expertise, but you take a few samples.");
if (!(.@q & .hcID))
setq3 FrostiaQuest_Homunculus, .@q|.hcID;
close;
OnInit:
.hcID=2048;
.distance=2;
end;
}