From a5e5532c844b6ebbcffa7a5191d2641882ee170f Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 9 May 2019 15:11:44 -0300 Subject: Sagratha's House - Initial version - debug version --- npc/012-4/wyara.txt | 36 +++++++++++++++++++++++ npc/014-5-1/_import.txt | 2 ++ npc/014-5-1/objects.txt | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ npc/014-5-1/sagratha.txt | 19 +++++++++++++ npc/014-5/sagratha.txt | 56 ++++++++++++++++++++++++++++++++++-- 5 files changed, 184 insertions(+), 3 deletions(-) create mode 100644 npc/014-5-1/objects.txt create mode 100644 npc/014-5-1/sagratha.txt (limited to 'npc') diff --git a/npc/012-4/wyara.txt b/npc/012-4/wyara.txt index 822ae07a8..f7afcf2ed 100644 --- a/npc/012-4/wyara.txt +++ b/npc/012-4/wyara.txt @@ -23,6 +23,7 @@ L_Menu: select l("Can you reset my stats please?"), rif($ARKIM_ST >= 1200,l("I want Piberries Infusion!")), + rif(getq(HurnscaldQuest_InjuriedMouboo) == 2,l("Do you know how to break curses?")), lg("You are weird, I have to go sorry."); mes ""; @@ -32,6 +33,8 @@ L_Menu: case 2: goto L_Piberries; case 3: + goto L_Uncurse; + case 4: goto L_Quit; } @@ -106,6 +109,39 @@ L_Piberries: getexp 10, 0; goto L_Piberries; +L_Uncurse: + mesn; + mesq l("Well, it depends on the curse. Some are easy to break, and others are... well..."); + next; + select + l("It's a simple curse."), + l("It's a complex curse."), + l("It's a cursed mouboo."); + mes ""; + mesn; + switch (@menu) { + case 1: + mesq l("Then you should look in buying Caffeinne. Curse is a status ailment which reduces your attack, nullifies your luck and makes you a snail. Simple Curses can be cured with time, too."); + break; + case 2: + mesq l("Oh, then you should seek the help of an specialist. These curses have an specific condition to break, like leveling up or being killed. Force-breaking them can be difficult."); + break; + case 3: + mesq l("A... Mouboo? Well, I know who can handle curses on cute Mouboos."); + next; + mesn; + mesq l("Go talk to Sagratha, she is usually in a hut in northen forest. The door have a magic barrier, so you'll need to have minimal magic skills to get close enough to open it."); + next; + mesn; + mesq l("She doesn't likes @@s, only cute animals. She doesn't likes Ghosts, Undeads, and Shadow monsters either.", get_race()); + next; + mesn; + mesq l("So, when you get on the door, knock it, and say this: \"@@\". She will open the door for you.", l("Mouboos are cute")); + compareandsetq HurnscaldQuest_Sagratha, 0, 1; + break; + } + close; + L_Quit: goodbye; close; diff --git a/npc/014-5-1/_import.txt b/npc/014-5-1/_import.txt index 488faeb05..16e214886 100644 --- a/npc/014-5-1/_import.txt +++ b/npc/014-5-1/_import.txt @@ -1,3 +1,5 @@ // Map 014-5-1: Forgotten Hut // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/014-5-1/_warps.txt", +"npc/014-5-1/objects.txt", +"npc/014-5-1/sagratha.txt", diff --git a/npc/014-5-1/objects.txt b/npc/014-5-1/objects.txt new file mode 100644 index 000000000..701adc605 --- /dev/null +++ b/npc/014-5-1/objects.txt @@ -0,0 +1,74 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Sagratha household items + +014-5-1,33,38,0 script Pan#Saggy NPC_NO_SPRITE,{ + @qsagratha=@qsagratha|1; + mesn; + mesc l("The pan is empty, but it smells like fresh cookies."); + close; +OnInit: + .distance=5; + disablenpc .name$; + end; +} + + +014-5-1,33,34,0 script Painting#Saggy NPC_NO_SPRITE,{ + @qsagratha=@qsagratha|2; + mesn; + mesc l("Definitely not suspcious at all."); + if (@qsagratha >= 31) { + next; + mesn; + mesc l("Thinking well... There's something behind it! A secret door!"); + } + close; +OnInit: + .distance=5; + disablenpc .name$; + end; +} + + +014-5-1,29,37,0 script Fireplace#Saggy NPC_NO_SPRITE,{ + @qsagratha=@qsagratha|4; + mesn; + mesc l("Some smoke still remains, but the fire seems to have died."); + close; +OnInit: + .distance=5; + disablenpc .name$; + end; +} + + + + +014-5-1,29,39,0 script Book#Saggy NPC_NO_SPRITE,{ + @qsagratha=@qsagratha|8; + mesn; + mesc l("Seems to be a recipe book about apple cookies."); + close; +OnInit: + .distance=5; + disablenpc .name$; + end; +} + + + + +014-5-1,29,41,0 script Bed#Saggy NPC_NO_SPRITE,{ + @qsagratha=@qsagratha|16; + mesn; + mesc l("Smells like mouboos."); + close; +OnInit: + .distance=5; + disablenpc .name$; + end; +} + diff --git a/npc/014-5-1/sagratha.txt b/npc/014-5-1/sagratha.txt new file mode 100644 index 000000000..6511ce4b7 --- /dev/null +++ b/npc/014-5-1/sagratha.txt @@ -0,0 +1,19 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Sagratha + +014-5-1,33,37,0 script Sagratha NPC_SAMANTHA,{ + goodbye; end; + +OnInit: + .distance=5; + npcsit; + end; + +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + diff --git a/npc/014-5/sagratha.txt b/npc/014-5/sagratha.txt index be4704116..2d06e47d1 100644 --- a/npc/014-5/sagratha.txt +++ b/npc/014-5/sagratha.txt @@ -5,7 +5,6 @@ // Sagratha's House Door 014-5,122,137,0 script Sagratha Door NPC_HIDDEN,0,0,{ - .@q=getq(HurnscaldQuest_Sagratha); end; L_Magicless: @@ -84,14 +83,65 @@ L_Lockpick: close; L_Open: + mesn; + mesc l("The door is locked!"); + select + l("Knock on the door?"), + l("Attempt to lockpick?"), + l("Leave it alone?"); + mes ""; + if (@menu == 3) + close; + mesc l("*CREAK*"); + mesc l("The pressure you did made the door burst open. It is unusually quiet inside..."); + next; + enable_items(); + //mesc l("WARNING: Save your game now."), 3; + mesc l("WARNING: Set your equipment now."), 3; + next; + disable_items(); + /* + if (has_instance("014-5-1") == "") { + .@inst = instance_create("Sagratha House", getcharid(3), IOT_CHAR); + instance_attachmap("014-5-1", .@inst); + // 20 minutes (1200s) inside, or 5 minutes (300s) outside + instance_set_timeout(1200, 30, .@inst); + instance_init(.@inst); + } warp "014-5-1", 33, 44; - dispbottom l("For some reason, the door was not locked today..."); + //addmapmask instance_mapname("014-5-1"), 1; + changemusic "014-5-1", "eric_matyas_ghouls.ogg"; + */ + .@q2=getq2(HurnscaldQuest_Sagratha); + // Map name limit: 4 chars (sgt1) + .@mapn$="sgt1@"+getcharid(0); + if (isinstance(.@q2) && .@q2 != 0) { + warp .@mapn$, 33, 44; + } else { + .@inst = instance_create("Sagratha House "+getcharid(0), getcharid(3), IOT_CHAR); + instance_attachmap("014-5-1", .@inst, false, .@mapn$); + // 20 minutes (1200s) inside, or 5 minutes (300s) outside + instance_set_timeout(1200, 30, .@inst); + instance_init(.@inst); + setq2 HurnscaldQuest_Sagratha, .@inst; + warp .@mapn$, 33, 44; + } + changemusic .@mapn$, "eric_matyas_ghouls.ogg"; + closeclientdialog; close; +L_Welcome: + warp "014-5-1", 33, 44; + end; + OnTouch: + .@q=getq(HurnscaldQuest_Sagratha); if (!MAGIC_LVL) goto L_Magicless; + if (.@q == 1) goto L_Open; + if (getq(HurnscaldQuest_InjuriedMouboo) == 3) goto L_Welcome; + + // No special condition goto L_Lockpick; - if (getq(HurnscaldQuest_InjuriedMouboo) == 3) goto L_Open; end; } -- cgit v1.2.3-70-g09d2