// 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; die(); 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; }