diff options
Diffstat (limited to 'world')
39 files changed, 773 insertions, 662 deletions
diff --git a/world/map/npc/024-1/ched.txt b/world/map/npc/024-1/ched.txt index 4f627e08..662c6b81 100644 --- a/world/map/npc/024-1/ched.txt +++ b/world/map/npc/024-1/ched.txt @@ -7,20 +7,15 @@ mes "[Ched]"; mes "\"I'm trying to get a spell to work. It's supposed to combine two potions, but I can't seem to figure out which two those are...\""; next; - menu - "Well, good luck with that!", L_Done, - "What spell is that?", -; - - + "Well, good luck with that!", L_Done, + "What spell is that?", -; mes "[Ched]"; mes "\"Well, I don't know what it's called... I took it out of `Timbleweed's Advanced Transmutations.' It seems awfully hard to cast, somehow.\""; next; - mes "[Ched]"; mes "\"Well, the invocation is `" + getspellinvocation("merge-concentration-potions") + "'. You're supposed to just hold up the potions and cast it, and then they're supposed to merge.\""; close; - mes "[Ched]"; mes "\"Maybe I should go back to `detect magic' until I can cast that one properly.\""; close; @@ -29,13 +24,15 @@ L_Done: close; L_Garden: - if (BaseLevel < 40) goto L_Warp; + if (BaseLevel < 40) + goto L_Warp; mes "[Ched]"; mes "\"Be careful of those plants. They can be dangerous,\""; close; L_Canyon: - if (BaseLevel < 40) goto L_Warp; + if (BaseLevel < 40) + goto L_Warp; mes "[Ched]"; mes "\"I'm not allowed back there.\""; close; diff --git a/world/map/npc/024-1/eomie.txt b/world/map/npc/024-1/eomie.txt index bc785914..4de0e9c9 100644 --- a/world/map/npc/024-1/eomie.txt +++ b/world/map/npc/024-1/eomie.txt @@ -45,8 +45,10 @@ L_MakeGrass: "Ok, I will be back soon.", L_End, "I changed my mind, forget about it.", L_End; - if(countitem("GrassSeed") < 5) goto L_EasterNotEnough; - if(countitem("GrassSeed") >= 5) goto L_EasterEnough; + if(countitem("GrassSeed") < 5) + goto L_EasterNotEnough; + if(countitem("GrassSeed") >= 5) + goto L_EasterEnough; close; L_EasterNotEnough: @@ -58,8 +60,11 @@ L_EasterNotEnough: L_EasterEnough: getinventorylist; - if (@inventorylist_count == 100 && countitem("GrassSeed") > 10) goto L_EasterTooMany; - if(countitem("GrassSeed") < 5) goto L_EasterNotEnough; + if (@inventorylist_count == 100 + && countitem("GrassSeed") > 10) + goto L_EasterTooMany; + if(countitem("GrassSeed") < 5) + goto L_EasterNotEnough; delitem "GrassSeed", 5; getitem "GrassLiner", 1; set QUEST_Easter11, 6; @@ -86,5 +91,4 @@ L_SeeBunny: L_End: close; - } diff --git a/world/map/npc/024-1/tondar.txt b/world/map/npc/024-1/tondar.txt index eef42617..29041e33 100644 --- a/world/map/npc/024-1/tondar.txt +++ b/world/map/npc/024-1/tondar.txt @@ -3,9 +3,8 @@ 024-1.gat,83,51,0|script|Tondar|168,{ mes "[Tondar]"; mes "\"We're not accepting any new students right now.\""; - if (getskilllv(SKILL_MAGIC) > 0) + if (getskilllv(SKILL_MAGIC) > 0) goto L_may_ask; - close; L_may_ask: @@ -16,7 +15,6 @@ L_may_ask: "Are you sure? I can pay well...", L_nopay, "That's unfortunate.", -, "Goodbye, then.", -; - close; L_library: @@ -26,31 +24,25 @@ L_library: menu "Thank you, and goodbye.", L_end, "Nobody else is allowed inside?", -; - - mes "[Tondar]"; mes "\"Well, it is possible to get a special permit from the headmaster. But he is currently on sabbatical.\""; close; - L_askspell: mes "[Tondar]"; mes "\"We only teach spells to students.\""; next; - menu "Oh, come on... just one little spell!", L_nopay, "Pretty please?", L_spell, "I can pay you, too...", L_nopay; - L_spell: mes "[Tondar]"; mes "\"Well, all right; this one can't do much harm. Press your hands together and say `" + getspellinvocation("ask-magic-exp") + "'.\""; mes "\"This will release a steady flow of magic within you. Focus and try to control it; it is a good meditative practice.\""; close; - L_nopay: mes "[Tondar]"; mes "The wizard frowns angrily."; diff --git a/world/map/npc/025-1/rossy.txt b/world/map/npc/025-1/rossy.txt index eb506bca..8ff158b6 100644 --- a/world/map/npc/025-1/rossy.txt +++ b/world/map/npc/025-1/rossy.txt @@ -34,8 +34,9 @@ if (Rossy_Quest == 2) goto L_Mother; mes "A young girl looks at you in tears."; - if (Rossy_Quest < 1) close; - next; + if (Rossy_Quest < 1) + close; + next; menu "Hey, hey... Why are you crying? Are you hurt?", -, "Sorry kid, I don't have time to play with children.", L_No; @@ -60,10 +61,10 @@ mes "[Rossy]"; mes "\"Thank you very much!\""; set Rossy_Quest, 2; -close; + close; L_No: -close; + close; L_Mother: mes "[Rossy]"; @@ -83,7 +84,8 @@ L_Check: "That is no problem for me. Just wait and I will come back with the cherries.", L_No, "Hey, I have some cherries in my backpack!", -, "You should get them yourself.", L_No; - if(countitem("Cherry") < @Cherry_Amount) goto L_Get_Cherry; + if(countitem("Cherry") < @Cherry_Amount) + goto L_Get_Cherry; mes "[Rossy]"; set Rossy_Quest, 4; getexp @Cherry_EXP, 0; @@ -95,12 +97,12 @@ L_Check: next; mes "[Rossy]"; mes "\"Oh, after you give the cherries to my mother, please come back here. If you have some free time, of course.\""; -close; + close; L_Cherry_Done: mes "[Rossy]"; mes "\"Please, try to distract my mother. I don't want her to be worried about us. While you do this, I will try to find Julia.\""; -close; + close; L_Let: mes "[Rossy]"; @@ -121,21 +123,26 @@ L_Let2: mes "\"I need " + @CactusDrink_Amount + " Cactus Drinks, " + @MaggotSlime_Amount + " Maggot Slimes, " + @GambodgeHerb_Amount + " Gamboge Herbs, " + @AlizarinHerb_Amount + " Alizarin Herbs and " + @BugLeg_Amount + " Bug Legs.\""; next; mes "\"Please come back to see me when you have the ingredients. I know the recipe by heart.\""; -close; + close; L_NE: mes "[Rossy]"; mes "\"Please bring me " + @CactusDrink_Amount + " Cactus Drinks, " + @MaggotSlime_Amount + " Maggot Slimes, " + @GambodgeHerb_Amount + " Gamboge Herbs, " + @AlizarinHerb_Amount + " Alizarin Herbs and " + @BugLeg_Amount + " Bug Legs.\""; next; mes "\"Please hurry!\""; -close; + close; L_Check2: - if(countitem("CactusDrink") < @CactusDrink_Amount) goto L_NE; - if(countitem("MaggotSlime") < @MaggotSlime_Amount) goto L_NE; - if(countitem("GambogeHerb") < @GambodgeHerb_Amount) goto L_NE; - if(countitem("AlizarinHerb") < @AlizarinHerb_Amount) goto L_NE; - if(countitem("BugLeg") < @BugLeg_Amount) goto L_NE; + if(countitem("CactusDrink") < @CactusDrink_Amount) + goto L_NE; + if(countitem("MaggotSlime") < @MaggotSlime_Amount) + goto L_NE; + if(countitem("GambogeHerb") < @GambodgeHerb_Amount) + goto L_NE; + if(countitem("AlizarinHerb") < @AlizarinHerb_Amount) + goto L_NE; + if(countitem("BugLeg") < @BugLeg_Amount) + goto L_NE; delitem "CactusDrink", @CactusDrink_Amount; delitem "MaggotSlime", @MaggotSlime_Amount; delitem "GambogeHerb", @GambodgeHerb_Amount; @@ -162,7 +169,9 @@ L_BT: close; L_Donet: - if (Rossy_Quest == 10 && countitem("redrose") >= @RedRose_Amount) goto L_RG; + if (Rossy_Quest == 10 + && countitem("redrose") >= @RedRose_Amount) + goto L_RG; menu "David took your potion and he tested it in front of me. It worked perfectly!", -; mes "[Rossy]"; @@ -170,7 +179,8 @@ L_Donet: close; L_RG: - if (countitem("redrose") < @RedRose_Amount) goto L_No; + if (countitem("redrose") < @RedRose_Amount) + goto L_No; delitem "redrose", @RedRose_Amount; menu "Your mother was so happy that she asked me to bring you these flowers.", -; @@ -187,7 +197,9 @@ close; L_Allergic: mes "Rossy sneezes a lot."; - if (Rossy_Quest == 12 && countitem("redtulip") >= @RedTulip_Amount) goto L_Sorry; + if (Rossy_Quest == 12 + && countitem("redtulip") >= @RedTulip_Amount) + goto L_Sorry; close; L_Sorry: @@ -196,7 +208,8 @@ L_Sorry: L_See: mes "[Rossy]"; - if (countitem("redtulip") < @RedTulip_Amount) goto L_No; + if (countitem("redtulip") < @RedTulip_Amount) + goto L_No; delitem "redtulip", @RedTulip_Amount; set Rossy_Quest, 13; mes "\"That's better! Go and tell my mother that she is the nicest mother in the world.\""; @@ -229,14 +242,17 @@ L_End: L_Found: mes "[Rossy]"; - if (Rossy_Quest == 17) set Rossy_Quest, 18; - if (Rossy_Quest == 18) set Rossy_Quest, 19; + if (Rossy_Quest == 17) + set Rossy_Quest, 18; + if (Rossy_Quest == 18) + set Rossy_Quest, 19; mes "\"Oh "+ strcharinfo(0) +", thank you very much! Take this, you deserve it!\""; next; mes "Rossy hands you a huge bag full of coins."; getexp @Finish_EXP, 0; set zeny, zeny + @Finish_Money; - if (Rossy_Quest == 19) goto L_Clear; + if (Rossy_Quest == 19) + goto L_Clear; close; L_Clear: diff --git a/world/map/npc/025-3/barriers.txt b/world/map/npc/025-3/barriers.txt index 0d5236d2..ebd27a1b 100644 --- a/world/map/npc/025-3/barriers.txt +++ b/world/map/npc/025-3/barriers.txt @@ -112,14 +112,15 @@ OnNoRid: end; OnGetout: - if (attachrid(getcharid(3,$@cave1fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave1fighter$)) == 0) + goto OnNoRid; warp "025-3.gat", 78, 129; callsub S_Cleaning; end; L_AlreadyClean: stopnpctimer; - setnpctimer 0; + setnpctimer 0; end; } @@ -236,14 +237,15 @@ OnNoRid: end; OnGetout: - if (attachrid(getcharid(3,$@cave2fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave2fighter$)) == 0) + goto OnNoRid; warp "025-3.gat", 53, 109; callsub S_Cleaning; end; L_AlreadyClean: stopnpctimer; - setnpctimer 0; + setnpctimer 0; end; } @@ -359,14 +361,15 @@ OnNoRid: end; OnGetout: - if (attachrid(getcharid(3,$@cave3fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave3fighter$)) == 0) + goto OnNoRid; warp "025-3.gat", 71, 85; callsub S_Cleaning; end; L_AlreadyClean: stopnpctimer; - setnpctimer 0; + setnpctimer 0; end; } @@ -482,14 +485,15 @@ OnNoRid: end; OnGetout: - if (attachrid(getcharid(3,$@cave4fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave4fighter$)) == 0) + goto OnNoRid; warp "025-3.gat", 80, 85; callsub S_Cleaning; end; L_AlreadyClean: stopnpctimer; - setnpctimer 0; + setnpctimer 0; end; } @@ -605,14 +609,15 @@ OnNoRid: end; OnGetout: - if (attachrid(getcharid(3,$@cave5fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave5fighter$)) == 0) + goto OnNoRid; warp "025-3.gat", 71, 32; callsub S_Cleaning; end; L_AlreadyClean: stopnpctimer; - setnpctimer 0; + setnpctimer 0; end; } @@ -728,14 +733,15 @@ OnNoRid: end; OnGetout: - if (attachrid(getcharid(3,$@cave6fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave6fighter$)) == 0) + goto OnNoRid; warp "025-3.gat", 128, 37; callsub S_Cleaning; end; L_AlreadyClean: stopnpctimer; - setnpctimer 0; + setnpctimer 0; end; } @@ -851,14 +857,15 @@ OnNoRid: end; OnGetout: - if (attachrid(getcharid(3,$@cave7fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave7fighter$)) == 0) + goto OnNoRid; warp "025-3.gat", 70, 59; callsub S_Cleaning; end; L_AlreadyClean: stopnpctimer; - setnpctimer 0; + setnpctimer 0; end; } @@ -974,14 +981,15 @@ OnNoRid: end; OnGetout: - if (attachrid(getcharid(3,$@cave8fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave8fighter$)) == 0) + goto OnNoRid; warp "025-3.gat", 138, 94; callsub S_Cleaning; end; L_AlreadyClean: stopnpctimer; - setnpctimer 0; + setnpctimer 0; end; } @@ -1098,14 +1106,15 @@ OnNoRid: end; OnGetout: - if (attachrid(getcharid(3,$@cave9fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave9fighter$)) == 0) + goto OnNoRid; warp "025-3.gat", 138, 158; callsub S_Cleaning; end; L_AlreadyClean: stopnpctimer; - setnpctimer 0; + setnpctimer 0; end; } @@ -1248,20 +1257,22 @@ OnNoRid: end; OnGetout: - if (attachrid(getcharid(3,$@cave10fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave10fighter$)) == 0) + goto OnNoRid; warp "025-3.gat", 77, 168; callsub S_Cleaning; end; OnWin: - if (attachrid(getcharid(3,$@cave10fighter$)) == 0) goto OnNoRid; + if (attachrid(getcharid(3,$@cave10fighter$)) == 0) + goto OnNoRid; warp "025-4.gat", 93, 33; callsub S_Cleaning; end; L_AlreadyClean: stopnpctimer; - setnpctimer 0; + setnpctimer 0; end; } diff --git a/world/map/npc/025-4/clauquer.txt b/world/map/npc/025-4/clauquer.txt index 399bdbb7..0537a73f 100644 --- a/world/map/npc/025-4/clauquer.txt +++ b/world/map/npc/025-4/clauquer.txt @@ -36,6 +36,7 @@ L_Help: next; menu "Please go on.", -; + L_Advice: mes "[Clauquer]"; mes "\"I advise you to be mentally prepared for this rescue operation. A fey nature spirit kidnapped the little girl and is planning to replace her with a changeling.\""; @@ -48,7 +49,7 @@ L_Advice: next; mes "\"I think you're now ready to explore these caves and fight.\""; if (Rossy_Quest == 14) set Rossy_Quest, 15; -close; + close; L_End: mes "[Clauquer]"; @@ -58,15 +59,24 @@ L_End: L_Hmmm: set @cleaned_caves, 0; - if (cavefights & BATTLE_CAVE1) set @cleaned_caves, @cleaned_caves + 1; - if (cavefights & BATTLE_CAVE2) set @cleaned_caves, @cleaned_caves + 1; - if (cavefights & BATTLE_CAVE3) set @cleaned_caves, @cleaned_caves + 1; - if (cavefights & BATTLE_CAVE4) set @cleaned_caves, @cleaned_caves + 1; - if (cavefights & BATTLE_CAVE5) set @cleaned_caves, @cleaned_caves + 1; - if (cavefights & BATTLE_CAVE6) set @cleaned_caves, @cleaned_caves + 1; - if (cavefights & BATTLE_CAVE7) set @cleaned_caves, @cleaned_caves + 1; - if (cavefights & BATTLE_CAVE8) set @cleaned_caves, @cleaned_caves + 1; - if (cavefights & BATTLE_CAVE9) set @cleaned_caves, @cleaned_caves + 1; + if (cavefights & BATTLE_CAVE1) + set @cleaned_caves, @cleaned_caves + 1; + if (cavefights & BATTLE_CAVE2) + set @cleaned_caves, @cleaned_caves + 1; + if (cavefights & BATTLE_CAVE3) + set @cleaned_caves, @cleaned_caves + 1; + if (cavefights & BATTLE_CAVE4) + set @cleaned_caves, @cleaned_caves + 1; + if (cavefights & BATTLE_CAVE5) + set @cleaned_caves, @cleaned_caves + 1; + if (cavefights & BATTLE_CAVE6) + set @cleaned_caves, @cleaned_caves + 1; + if (cavefights & BATTLE_CAVE7) + set @cleaned_caves, @cleaned_caves + 1; + if (cavefights & BATTLE_CAVE8) + set @cleaned_caves, @cleaned_caves + 1; + if (cavefights & BATTLE_CAVE9) + set @cleaned_caves, @cleaned_caves + 1; mes "[Clauquer]"; mes "\"You already know everything about these caves. You don't need me anymore to find the little girl.\""; next; @@ -79,23 +89,26 @@ L_Hmmm: goto L_Advice; L_Feedback: - if (@cleaned_caves > 0 && @cleaned_caves < 9) mes "\"You are doing good... If I am right, you already eliminated " + @cleaned_caves + " of the 9 energy sources of the barrier that protects the cave in which Julia is hidden.\""; - if (@cleaned_caves == 9) mes "\"I am amazed... You eliminated all the 9 energy sources. Now is the difficult part. To save Julia, you need to eliminate the last and most powerful barrier. Good Luck!\""; - if (@cleaned_caves <= 0) mes "\"Well... You didn't eliminate any of the barriers, so that means there are still 9 caves and the tenth one, the strongest...\""; -close; + if (@cleaned_caves > 0 + && @cleaned_caves < 9) + mes "\"You are doing good... If I am right, you already eliminated " + @cleaned_caves + " of the 9 energy sources of the barrier that protects the cave in which Julia is hidden.\""; + if (@cleaned_caves == 9) + mes "\"I am amazed... You eliminated all the 9 energy sources. Now is the difficult part. To save Julia, you need to eliminate the last and most powerful barrier. Good Luck!\""; + if (@cleaned_caves <= 0) + mes "\"Well... You didn't eliminate any of the barriers, so that means there are still 9 caves and the tenth one, the strongest...\""; + close; L_Huh: mes "[Clauquer]"; mes "\"Why are you here? Get out.\""; -close; + close; L_No: -close; + close; L_Rescued: mes "[Clauquer]"; mes "\"I'm very impressed!"; mes "Now this fey nature spirit will never kidnap a poor child again.\""; -close; - + close; } diff --git a/world/map/npc/025-4/julia.txt b/world/map/npc/025-4/julia.txt index 25db76d7..3d312188 100644 --- a/world/map/npc/025-4/julia.txt +++ b/world/map/npc/025-4/julia.txt @@ -16,28 +16,28 @@ L_Done: "Of course I'm here to save you, Rossy sent me here!", -; mes "\"Rossy? My twin sister? I knew she was going to look for me. Thank you so much, here is a present for you.\""; getinventorylist; - if (@inventorylist_count == 100) goto L_TooMany; + if (@inventorylist_count == 100) + goto L_TooMany; getitem "BlackBoots", 1; getexp @Reward_EXP, 0; set Rossy_Quest, 17; mes "\"I'm out of here now, lets get out of this horrible cave.\""; -close; + close; L_End: mes "[Julia]"; mes "\"Lets get out of this horrible cave.\""; -close; + close; L_Hmmm: mes "[Julia]"; mes "\"Don't hurt me!\""; -close; + close; L_TooMany: mes "[Julia]"; mes "\"Oh, you don't have room for it. Come back when your backpack isn't full.\""; next; mes "\"I'll wait here until i can give your present to you!\""; -close; - + close; } diff --git a/world/map/npc/027-1/golbenez.txt b/world/map/npc/027-1/golbenez.txt index 336cdea3..0d45c154 100644 --- a/world/map/npc/027-1/golbenez.txt +++ b/world/map/npc/027-1/golbenez.txt @@ -1,36 +1,37 @@ -027-1.gat,68,89,0 script #Golbenez#_M 204,{ +027-1.gat,68,89,0|script|#Golbenez#_M|204,{ - set @fee, 666; + set @fee, 666; - mes "[Golbenez]"; - mes "\"Welcome mortal. I finished the creation of the place of leisure.\""; - next; - if (baselevel < 60) goto L_Weak; - mes "\"I will bring you there for a small fee of " + @fee + "GP.\""; - menu - "What? You already got so much money!",-, - "Ok, bring me there.",L_Warp; - - mes "[Golbenez]"; - mes "\"Come back when you've changed your mind. It's a wonderful place.\""; - close; + mes "[Golbenez]"; + mes "\"Welcome mortal. I finished the creation of the place of leisure.\""; + next; + if (baselevel < 60) + goto L_Weak; + mes "\"I will bring you there for a small fee of " + @fee + "GP.\""; + menu + "What? You already got so much money!",-, + "Ok, bring me there.",L_Warp; + mes "[Golbenez]"; + mes "\"Come back when you've changed your mind. It's a wonderful place.\""; + close; L_Warp: - if (zeny < @fee) goto L_No_Money; - set zeny, zeny - @fee; - warp "027-2.gat", 105, 44; - close; + if (zeny < @fee) + goto L_No_Money; + set zeny, zeny - @fee; + warp "027-2.gat", 105, 44; + close; L_No_Money: - mes "[Golbenez]"; - mes "\"Don't try to betray me, pitiful human.\""; - next; - mes "\"Come back when you can pay my service.\""; - close; + mes "[Golbenez]"; + mes "\"Don't try to betray me, pitiful human.\""; + next; + mes "\"Come back when you can pay my service.\""; + close; L_Weak: - mes "\"It is astonishing how WEAK you humans can be.\""; - next; - mes "\"Come back when you're a bit more experienced.\""; - close; + mes "\"It is astonishing how WEAK you humans can be.\""; + next; + mes "\"Come back when you're a bit more experienced.\""; + close; } diff --git a/world/map/npc/027-1/graves.txt b/world/map/npc/027-1/graves.txt index ecda6ea0..47ab17c0 100644 --- a/world/map/npc/027-1/graves.txt +++ b/world/map/npc/027-1/graves.txt @@ -1,92 +1,92 @@ // Easter egg graves -function script GraveTooFar { - if (isin("027-1.gat",89,54,122,76)) - return; - mes "You are too far away to read the grave."; - close; +function|script|GraveTooFar|{ + if (isin("027-1.gat",89,54,122,76)) + return; + mes "You are too far away to read the grave."; + close; } -027-1.gat,89,62,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ FotherJ ~"; - mes "The mad sprite making genius who made all the creepy undead monster graphics."; - close; +027-1.gat,89,62,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ FotherJ ~"; + mes "The mad sprite making genius who made all the creepy undead monster graphics."; + close; } -027-1.gat,118,54,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ Yosuhara ~"; - mes "Contributed some of the tombstones."; - close; +027-1.gat,118,54,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ Yosuhara ~"; + mes "Contributed some of the tombstones."; + close; } -027-1.gat,111,62,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ Feline Monstrosity ~"; - mes "Made the background music you are hearing."; - close; +027-1.gat,111,62,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ Feline Monstrosity ~"; + mes "Made the background music you are hearing."; + close; } -027-1.gat,112,76,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ Superkoop ~"; - mes "Mapped the swamp to the south."; - close; +027-1.gat,112,76,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ Superkoop ~"; + mes "Mapped the swamp to the south."; + close; } -027-1.gat,120,76,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ Aroleon ~"; - mes "Mapped the swamp to the southeast."; - close; +027-1.gat,120,76,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ Aroleon ~"; + mes "Mapped the swamp to the southeast."; + close; } -027-1.gat,100,68,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ John P ~"; - mes "Wrote the graveyard backstory and the dialog for the caretaker quest."; - close; +027-1.gat,100,68,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ John P ~"; + mes "Wrote the graveyard backstory and the dialog for the caretaker quest."; + close; } -027-1.gat,94,70,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ Spit23 ~"; - mes "Made those freakin awesome cemetery gates."; - close; +027-1.gat,94,70,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ Spit23 ~"; + mes "Made those freakin awesome cemetery gates."; + close; } -027-1.gat,106,60,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ Black Don ~"; - mes "Contributed those cool gargoyle statues."; - close; +027-1.gat,106,60,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ Black Don ~"; + mes "Contributed those cool gargoyle statues."; + close; } -027-1.gat,92,54,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ Jaxad0127 ~"; - mes "Did all the scripting work for the graveyard. Made Caretaker's house."; - close; +027-1.gat,92,54,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ Jaxad0127 ~"; + mes "Did all the scripting work for the graveyard. Made Caretaker's house."; + close; } -027-1.gat,122,64,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ Ces Vargavind ~"; - mes "Scripted caretaker's daughter."; - close; +027-1.gat,122,64,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ Ces Vargavind ~"; + mes "Scripted caretaker's daughter."; + close; } -027-1.gat,102,62,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ Crush ~"; - mes "Organizer of the whole graveyard project, graveyard fence graphics, mapping of the graveyard itself."; - close; +027-1.gat,102,62,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ Crush ~"; + mes "Organizer of the whole graveyard project, graveyard fence graphics, mapping of the graveyard itself."; + close; } -027-1.gat,104,76,0 script Grave 127,{ - callfunc "GraveTooFar"; - mes "~ Freeyorp ~"; - mes "Planned out monster stats and placements."; - close; +027-1.gat,104,76,0|script|Grave|127,{ + callfunc "GraveTooFar"; + mes "~ Freeyorp ~"; + mes "Planned out monster stats and placements."; + close; } diff --git a/world/map/npc/027-1/monsters.txt b/world/map/npc/027-1/monsters.txt index 0efe43c4..b8f1233a 100644 --- a/world/map/npc/027-1/monsters.txt +++ b/world/map/npc/027-1/monsters.txt @@ -1,61 +1,66 @@ // 027-1 Graveyard zombies and fallens // they need to be in an extra file because of the crying child quest -027-1.gat,71,41,31,22 monster Zombie 1036,2,300000,120000,specialMob027-1::On1036 -027-1.gat,37,41,33,22 monster Zombie 1036,2,200000,10000,specialMob027-1::On1036 -027-1.gat,37,65,33,22 monster Zombie 1036,3,140000,30000,specialMob027-1::On1036 -027-1.gat,37,65,33,22 monster Fallen 1045,3,120000,30000,specialMob027-1::On1045 +027-1.gat,71,41,31,22|monster|Zombie|1036,2,300000,120000,specialMob027-1::On1036 +027-1.gat,37,41,33,22|monster|Zombie|1036,2,200000,10000,specialMob027-1::On1036 +027-1.gat,37,65,33,22|monster|Zombie|1036,3,140000,30000,specialMob027-1::On1036 +027-1.gat,37,65,33,22|monster|Fallen|1045,3,120000,30000,specialMob027-1::On1045 -027-1.gat,0,0,0 script specialMob027-1 -1,{ +027-1.gat,0,0,0|script|specialMob027-1|-1,{ On1036: - set @mobID, 1036; - callsub _MOBCOUNT_ZOMBIES; - callfunc "MobPoints"; - break; + set @mobID, 1036; + callsub _MOBCOUNT_ZOMBIES; + callfunc "MobPoints"; + break; On1045: - set @mobID, 1045; - callsub _MOBCOUNT_FALLENS; - callfunc "MobPoints"; - break; + set @mobID, 1045; + callsub _MOBCOUNT_FALLENS; + callfunc "MobPoints"; + break; _MOBCOUNT_ZOMBIES: - set @Graveyard_Inn_MASK, NIBBLE_2_MASK; - set @Graveyard_Inn_SHIFT, NIBBLE_2_SHIFT; + set @Graveyard_Inn_MASK, NIBBLE_2_MASK; + set @Graveyard_Inn_SHIFT, NIBBLE_2_SHIFT; - set @state, ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT); + set @state, ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT); - if (@state != 1) return; - set @ring, @ring + 1; - if (@ring < 10) return; - if (rand(8) != 0) return; - message strcharinfo(0), "You found a ring hidden in the zombie's rotten rags. Maybe this is what Aldred was looking for..."; - set @state, 2; - callsub S_Update_Mask; - return; + if (@state != 1) + return; + set @ring, @ring + 1; + if (@ring < 10) + return; + if (rand(8) != 0) + return; + message strcharinfo(0), "You found a ring hidden in the zombie's rotten rags. Maybe this is what Aldred was looking for..."; + set @state, 2; + callsub S_Update_Mask; + return; _MOBCOUNT_FALLENS: - set @Graveyard_Inn_MASK, NIBBLE_2_MASK; - set @Graveyard_Inn_SHIFT, NIBBLE_2_SHIFT; - - set @state, ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT); + set @Graveyard_Inn_MASK, NIBBLE_2_MASK; + set @Graveyard_Inn_SHIFT, NIBBLE_2_SHIFT; - if (@state != 1) return; - set @ring, @ring + 1; - if (@ring < 10) return; - if (rand(8) != 0) return; - message strcharinfo(0), "You found a ring inside the fallen's broken helmet. Maybe this is what Aldred was looking for..."; - set @state, 2; - callsub S_Update_Mask; - return; + set @state, ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT); -S_Update_Mask: - set QUEST_Graveyard_Inn, - (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) - | (@state << @Graveyard_Inn_SHIFT); + if (@state != 1) + return; + set @ring, @ring + 1; + if (@ring < 10) return; + if (rand(8) != 0) + return; + message strcharinfo(0), "You found a ring inside the fallen's broken helmet. Maybe this is what Aldred was looking for..."; + set @state, 2; + callsub S_Update_Mask; + return; - end; +S_Update_Mask: + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) + | (@state << @Graveyard_Inn_SHIFT); + return; + end; } diff --git a/world/map/npc/027-2/alacrius2.txt b/world/map/npc/027-2/alacrius2.txt index 6e708157..b6ed70ff 100644 --- a/world/map/npc/027-2/alacrius2.txt +++ b/world/map/npc/027-2/alacrius2.txt @@ -14,20 +14,18 @@ // mes "[Alacrius]"; // mes "\"The reaper kidnapped my beloved wife, and took her to the underworld. I had to find a way to stop him, and as time went by, I became what you can see now... But if you dare to cheat death, time and space you'll have to pay a high price... \""; // next; - // mes "[Alacrius]"; // mes "\"Being away from time and space doesn't allow me to try to save my beloved wife... I need your help. Do you think you have what it takes to handle the most powerful monsters over the world of Mana? \""; // next; - // menu // "Let's go!",L_PLAY_OK, // "No, thank you.",-; // close; - // L_PLAY_OK: -// if ($@FIGHT_ALACRIUS_STATUS != 0) goto L_AlreadyStarted; +// if ($@FIGHT_ALACRIUS_STATUS != 0) +// goto L_AlreadyStarted; // set $@FIGHT_ALACRIUS_STATUS, 1; // set $@MO_REAPER, 0; // startnpctimer; @@ -85,10 +83,12 @@ // L_AllDead: -// if(@PRIZE == 0) goto L_NOHERO; +// if(@PRIZE == 0) +// goto L_NOHERO; // getinventorylist; -// if (@inventorylist_count == 100) goto L_TooMany; +// if (@inventorylist_count == 100) +// goto L_TooMany; // getitem "CasinoCoins", 1; // mes "[Alacrius]"; diff --git a/world/map/npc/027-2/caretaker.txt b/world/map/npc/027-2/caretaker.txt index 3a53fb99..d86a14f9 100644 --- a/world/map/npc/027-2/caretaker.txt +++ b/world/map/npc/027-2/caretaker.txt @@ -22,10 +22,8 @@ L_Who: mes "\"I was once the caretaker to these cemetery grounds, but look at what they have become."; mes "I now care only for my wife. I watch over her... make sure that nobody ever does her harm.\""; next; - menu "You guard her corpse day and night?", -; - mes "[Caretaker]"; mes "\"I am bound to this place by the very same spell that was cast to keep the undead from leaving. Until the day that this cemetery is cured of its curse, I remain within these gates.\""; set QUEST_Graveyard_Caretaker, 1; @@ -36,7 +34,6 @@ L_Return_Dialog: mes "\"I am somewhat fortunate that adventurers like yourself frequent this place... despite your intentions."; mes "Perhaps you can do me a favor?\""; next; - menu "What is the favor?", L_Favor, "I'm sure I can, for a price.", L_Favor, @@ -49,7 +46,6 @@ L_Favor: mes "We communicate now through letters. Would you please take this to her?"; mes "I am sure she will compensate you for your trouble.\""; next; - menu "I will take it to her.", L_Receive, "I will help you. Where can I find your daughter?", L_Receive, @@ -59,7 +55,8 @@ L_Favor: L_Receive: set QUEST_Graveyard_Caretaker, 2; mes "You receive the letter and put it in a special place so it doesn't get lost among your inventory."; - if (@menu == 2) goto L_Location; + if (@menu == 2) + goto L_Location; close; L_Location: @@ -74,7 +71,6 @@ L_Has_Letter: mes "[Caretaker]"; mes "\"Have you found my daughter?\""; next; - menu "Not Yet.", -, "I'll get there when I get there.", -, @@ -85,10 +81,8 @@ L_Delivered_Letter: mes "[Caretaker]"; mes "\"Have you found my daughter?\""; next; - menu "Yes.", -; - mes "[Caretaker]"; mes "\"Thank you for delivering my letter.\""; set QUEST_Graveyard_Caretaker, 4; @@ -98,18 +92,15 @@ L_Give_New_Letter: mes "[Caretaker]"; mes "\"I have another letter, if you want to deliver it.\""; next; - menu "Sure.", L_Give_New_Letter_Real, "I'm too busy right now.", -; - close; L_Give_New_Letter_Real: set QUEST_Graveyard_Caretaker, 5; mes "You receive the letter and put it in a special place so it doesn't get lost among your inventory."; next; - mes "[Caretaker]"; mes "\"Thank you.\""; close; @@ -130,5 +121,4 @@ OnWifeDeath: gmcommand "@ban +5mn " + strcharinfo(0); initnpctimer; end; - } diff --git a/world/map/npc/027-2/crying_child.txt b/world/map/npc/027-2/crying_child.txt index ebafc9c6..54f70604 100644 --- a/world/map/npc/027-2/crying_child.txt +++ b/world/map/npc/027-2/crying_child.txt @@ -77,7 +77,6 @@ L_intro: menu "Don't worry, I will look around. Maybe I can find it for you...",-, "Hey, you messed up, now you deal with this.",L_close; - mes "[Aldred]"; mes "\"Thank you " +strcharinfo(0)+"! Find it for me, pleeeease! Ohh, and don't tell my parents I lost their ring, okay?\""; set @state, 1; @@ -109,7 +108,6 @@ L_return1: callsub S_Update_Mask; close; - L_return2: mes "[Aldred]"; mes "\"Hi "+strcharinfo(0)+ "! I was thinking... you were sooo nice helping me find the ring... I think I should give you a gift, but I'm just a dead kid, I have nothing to give you!\""; @@ -156,7 +154,8 @@ L_return4: next; mes "\"Well, I guess you can keep it, but don't show it to my mother again, she is already very sad. But now I am really curious, who else would give a gift to my mother? There are so many strange things happening lately...\""; getinventorylist; - if (@inventorylist_count == 100) goto L_full; + if (@inventorylist_count == 100) + goto L_full; getitem "RingSimple", 1; set @state, 7; callsub S_Update_Mask; @@ -173,7 +172,6 @@ L_full: mes "\"I dont think you can carry this ring... Your backpack is full! Throw something away and come back to get it.\""; close; - L_close: close; @@ -182,5 +180,4 @@ S_Update_Mask: (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) | (@state << @Graveyard_Inn_SHIFT); return; - } diff --git a/world/map/npc/027-2/diary.txt b/world/map/npc/027-2/diary.txt index 2446daac..904da80f 100644 --- a/world/map/npc/027-2/diary.txt +++ b/world/map/npc/027-2/diary.txt @@ -28,7 +28,8 @@ L_Diary: mes "'Hamond won't be here tomorrow night - he needs to visit our wine supplier to negotiate the prices. Savaric knows this. I'm feeling so excited - I should go with Hamond, but I told him I need to take care of the inn while he's away. Savaric.. '"; next; mes "This is the last entry."; - if (@reid != 6) goto L_Close; + if (@reid != 6) + goto L_Close; set @reid, 7; callsub S_Update_Mask; diff --git a/world/map/npc/027-2/golbenez.txt b/world/map/npc/027-2/golbenez.txt index 7969fcb5..6c2b56d4 100644 --- a/world/map/npc/027-2/golbenez.txt +++ b/world/map/npc/027-2/golbenez.txt @@ -52,7 +52,6 @@ "What is this place? Why is it full of dead people?",-, "You look different here. Nice horns.",L_Horns, "I'm enjoying myself, thanks for asking.",L_Close; - mes "[Golbenez]"; mes "\"Mortal, this is way over your head. Don't worry about that and enjoy your time.\""; @@ -60,7 +59,6 @@ goto L_Close; menu "I want to know. Try me.",-; - mes "Golbenez takes a piercing look at you."; mes "[Golbenez]"; mes "\"Fine.\""; @@ -74,7 +72,6 @@ menu "What do you mean by 'playground?'",-, "Recreated? What do you mean by that?",-; - mes "[Golbenez]"; mes "\"As I said, you don't understand. You start to bore me. Leave.\""; @@ -95,8 +92,10 @@ L_Memory: menu "I want to know what happened in the inn before it was destroyed.",-, "Nevermind.",L_Close; - if ((@woman >= 7) && (@lover >= 3) && (@husband >= 4)) - goto L_Detective; + if ((@woman >= 7) + && (@lover >= 3) + && (@husband >= 4)) + goto L_Detective; mes "[Golbenez]"; mes "\"I was watching you playing detective. It is amusing. Play it a little longer and I may show you some of the memories from that time.\""; close; @@ -232,7 +231,8 @@ L_Savaric: close; L_All: - if (@lover == 6) goto L_Negotiate; + if (@lover == 6) + goto L_Negotiate; mes "[Golbenez]"; mes "\"Did you come back to see the memories again?\""; menu @@ -252,7 +252,6 @@ L_Negotiate: "I want to see Hamonds memory again.",L_H_Again, "I want to see Savarics memory again.",L_S_Again, "Nevermind.",L_Close; - mes "[Golbenez]"; mes "\"Savarics soul, yes. It is a pretty nice soul, you know. From a mage... no, even better... from a loving mage. It is valuable.\""; next; @@ -262,7 +261,6 @@ L_Negotiate: "What about another cake?",L_Cake, "I'm not sure. What do you want?",-, "No.",L_Close; - mes "[Golbenez]"; mes "\"Bring me a soul of at least equal power to the mage. I don't care where you get it.\""; set @state, 6; @@ -272,6 +270,7 @@ L_Negotiate: L_Soul: mes "[Golbenez]"; mes "\"So, did you get a soul for me?\""; + L_Soul_Try: if (countitem("JackOSoul") < 1) menu @@ -280,10 +279,12 @@ L_Soul_Try: "What about this Jack O Soul?",-, "I'll go and try to find a soul.",L_Close; - if (countitem("JackOSoul") < 1) goto L_Betray; + if (countitem("JackOSoul") < 1) + goto L_Betray; delitem "JackOSoul", 1; set @soul, rand(50); - if (@soul == 0) goto L_Soul_Success; + if (@soul == 0) + goto L_Soul_Success; mes "[Golbenez]"; mes "\"No, this one isn't as powerful as the mage. Bring me another one of them.\""; goto L_Soul_Try; diff --git a/world/map/npc/027-2/headless_man.txt b/world/map/npc/027-2/headless_man.txt index 94188f5b..4f630d0d 100644 --- a/world/map/npc/027-2/headless_man.txt +++ b/world/map/npc/027-2/headless_man.txt @@ -36,7 +36,8 @@ mes "You jump back a bit, startled, as the head starts talking to you!"; mes "It's a little strange watching him talk, but it's better than looking at what's left of his neck."; next; - if (baselevel < 85) goto L_greet; + if (baselevel < 85) + goto L_greet; mes "[Headless Man]"; mes "\"Hello " + @madamsir$ + ". My name is Thurstan. Could I ask your assistance with something? I seem to be in a spot of difficulty.\""; menu @@ -44,13 +45,11 @@ "Ack, a bloody talking head! Gross, no way!", L_Quest_close; L_greet: - mes "[Headless Man]"; mes "\"Greetings " + @madamsir$ + "! Do you have any duck tape?\""; close; L_Quest_ask: - mes "[Thurstan]"; mes "\"A little while ago there was a patron visiting the inn...I can't remember his name now. He noticed this predicament I am in and offered to help me. He told me that he was an alchemist and that he had a recipe for an adhesive that would keep my head where it's supposed to be. Unfortunately, he wasn't able to stay long enough to gather all the ingredients for the spell, so he gave me the recipe instead. However, it's rather hard to gather things when I have to carry it around all day.\""; next; @@ -61,11 +60,9 @@ L_Quest_ask: "Sorry, I'm kinda busy with, you know, living.", L_Quest_no; L_Quest_close: - close; L_Quest_start: - mes "[Thurstan]"; mes "\"Great! I will need the following things.\""; mes "\"" + @Wisp_Powder + " Wisp Powder,\""; @@ -88,13 +85,11 @@ L_Quest_start: close; L_Quest_no: - mes "[Thurstan]"; mes "\"Very well. Just don't come looking to me when your own head falls off!\""; close; L_Quest_progress: - mes "[Thurstan]"; mes "Have you managed to find those items yet?\""; menu @@ -103,16 +98,16 @@ L_Quest_progress: "No, I'm still working on it.", L_Quest_close; L_Quest_check: - - if (countitem("WispPowder") < @Wisp_Powder || - countitem("PoltergeistPowder") < @Polt_Powder || - countitem("SpectrePowder") < @Spec_Powder || - countitem("IronPotion") < @Iron_Pot || - countitem("ConcentrationPotion") < @Conc_Pot || - countitem("RedDye") < @Red_Dye || - countitem("YellowDye") < @Yellow_Dye || - countitem("LightBlueDye") < @LB_Dye || - countitem("InfantryHelmet") < 1) goto L_Quest_notenough; + if (countitem("WispPowder") < @Wisp_Powder + || countitem("PoltergeistPowder") < @Polt_Powder + || countitem("SpectrePowder") < @Spec_Powder + || countitem("IronPotion") < @Iron_Pot + || countitem("ConcentrationPotion") < @Conc_Pot + || countitem("RedDye") < @Red_Dye + || countitem("YellowDye") < @Yellow_Dye + || countitem("LightBlueDye") < @LB_Dye + || countitem("InfantryHelmet") < 1) + goto L_Quest_notenough; delitem "WispPowder", @Wisp_Powder; delitem "PoltergeistPowder", @Polt_Powder; @@ -150,14 +145,12 @@ L_Quest_check: close; L_Quest_notenough: - mes "Thurstan quickly looks through the items you've brought."; mes "[Thurstan]"; mes "\"It seems you are missing a few things. Please come back once you have everything on the list.\""; close; L_Quest_items: - mes "[Thurstan]"; mes "\"" + @Wisp_Powder + " Wisp Powder,\""; mes "\"" + @Polt_Powder + " Poltergeist Powder,\""; @@ -171,7 +164,6 @@ L_Quest_items: close; L_Quest_finished: - mes "[Thurstan]"; mes "\"Thank you for all your help.\""; next; @@ -179,7 +171,8 @@ L_Quest_finished: mes "\"It worked well and the bond seemed to be holding for a while. Then I started feeling a strange tingling in my neck. I suppose that was the adhesive starting to dissolve. I was leaned over my trunk digging around for something appropriate to give you..Aaaand once again my head left it's proper place.\""; next; getinventorylist; - if (@inventorylist_count == 100) goto L_Full_Inv; + if (@inventorylist_count == 100) + goto L_Full_Inv; mes "[Thurstan]"; mes "\"Please take this for your efforts. I got it in payment of some work I did protecting the pinkie population from a terrible scourge some time ago.\""; getitem "pinkiehelmet", 1; @@ -193,16 +186,14 @@ L_Full_Inv: close; L_Final: - mes "[Thurstan]"; mes "\"I guess I will need to find another way to re-attach my cranium. If you come across any good alchemists who might be able to help, please let me know.\""; close; S_Update_Mask: - - set QUEST_Graveyard_Inn, - (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) - | (@state << @Graveyard_Inn_SHIFT); - return; + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) + | (@state << @Graveyard_Inn_SHIFT); + return; } diff --git a/world/map/npc/027-2/husband.txt b/world/map/npc/027-2/husband.txt index 0d89709d..333470d1 100644 --- a/world/map/npc/027-2/husband.txt +++ b/world/map/npc/027-2/husband.txt @@ -43,13 +43,13 @@ mes "[Pale Man]"; mes "\"Hello, I hope you're enjoying your time in Reid's Inn. My name is Hamond, and I'm running this inn together with my beautiful wife Reid. If there is anything I can do for you, please let me know.\""; - if (baselevel < 85) goto L_Close; + if (baselevel < 85) + goto L_Close; next; menu "I'd like to know why all the people in here are dead.",-, "Are you feeling well? You look very pale... In fact, deathly pale.",-, "Thank you, but I'm fine.", L_Close; - mes "Hamond seems very confused. Then he notices the grey color of his hands and begins to shake his head in panic."; mes "[Hamond]"; mes "\"WHAT IS THIS?\""; @@ -81,22 +81,20 @@ L_Ice_Cube: mes "\"Hello my friend! Good to see you again. Did you find something to cool the drinks?\""; next; - if ((@kidstate == 4) && countitem("IceCube") > 0) - menu - "Maybe this never melting Ice Cube?", L_Check_Ice, - "I found this in the main hall. Do you know to whom it belongs?", L_Ring, - "I'm still searching.", L_Close; - + if ((@kidstate == 4) + && countitem("IceCube") > 0) + menu + "Maybe this never melting Ice Cube?", L_Check_Ice, + "I found this in the main hall. Do you know to whom it belongs?", L_Ring, + "I'm still searching.", L_Close; if (@kidstate == 4) menu "I found this in the main hall. Do you know to whom it belongs?", L_Ring, "I'm still searching.", L_Close; - if (countitem("IceCube") > 0) menu "Maybe this never melting Ice Cube?", L_Check_Ice, "I'm still searching.", L_Close; - mes "\"You didn't? Too bad.\""; close; @@ -140,8 +138,9 @@ L_Check_Ice: L_Check_Bones: mes "[Hamond]"; mes "\"Welcome back! Let me see what you have.\""; - if ((countitem("Bone") < @BONE_AMOUNT) || (countitem("Skull") < @SKULL_AMOUNT)) - goto L_Not_Enough_B; + if ((countitem("Bone") < @BONE_AMOUNT) + || (countitem("Skull") < @SKULL_AMOUNT)) + goto L_Not_Enough_B; delitem "Bone", @BONE_AMOUNT; delitem "Skull", @SKULL_AMOUNT; @@ -155,24 +154,22 @@ L_Brought_Bones: mes "\"Thanks for your help! Now I'll be able to satisfy another strange request from one of our patrons.\""; next; - if ((@kidstate == 4) && (@woman > 5)) - menu - "Would you tell me about this mage named Savaric?", L_Savaric, - "I found this in the main hall. Do you know to whom it belongs?", L_Ring, - "You're welcome.", L_Close; - + if ((@kidstate == 4) + && (@woman > 5)) + menu + "Would you tell me about this mage named Savaric?", L_Savaric, + "I found this in the main hall. Do you know to whom it belongs?", L_Ring, + "You're welcome.", L_Close; if (@kidstate == 4) menu "I found this in the main hall. Do you know to whom it belongs?", L_Ring, "You're welcome.", L_Close; - if (@woman > 5) menu "Would you tell me about this mage named Savaric?", L_Savaric, "You're welcome.",-; mes "[Hamond]"; mes "\"Please make yourself at home.\""; - close; L_Savaric: @@ -181,8 +178,12 @@ L_Savaric: mes "\"That cheeky egomaniac - \""; next; - if ((Sex == 0) && (@kidstate < 7)) goto L_Woman; - if ((Sex == 1) && (@kidstate < 7)) goto L_Man; + if ((Sex == 0) + && (@kidstate < 7)) + goto L_Woman; + if ((Sex == 1) + && (@kidstate < 7)) + goto L_Man; mes "\"Well, I have been thinking about you. You seem to be a very helpful and wise person. Even my son told me good things about you, making a long speech about how great you are and your ability to comprehend and deal with delicate matters. I wonder how he reached that conclusion... But anyway, I'll tell you about Savaric.\""; next; @@ -238,7 +239,6 @@ L_News: menu "I'm enjoying myself.",L_Close, "I found out what happened to you and this place.",-; - mes "[Hamond]"; mes "\"You did? Amazing! Please tell me.\""; next; @@ -256,7 +256,6 @@ L_News: "Maybe it was just fate.",-, "You got very upset, don't blame yourself",-, "You're right. You were very violent. How could you do that if you love her?",-; - mes "[Hamond]"; mes "\"I- I need to apologize.\""; next; @@ -282,7 +281,8 @@ L_Apologize: next; mes "\"However, you are a great friend and did a lot for me. I want you to have this.\""; getinventorylist; - if (@inventorylist_count == 100) goto L_Full_Inv; + if (@inventorylist_count == 100) + goto L_Full_Inv; getitem "BowlerHatBrown", 1; set @state, 7; callsub S_Update_Mask; @@ -314,14 +314,14 @@ L_Close: close; S_Update_Mask_Kid: - set QUEST_Graveyard_Inn, - (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Kid_MASK)) - | (@kidstate << @Graveyard_Inn_Kid_SHIFT); - return; + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Kid_MASK)) + | (@kidstate << @Graveyard_Inn_Kid_SHIFT); + return; S_Update_Mask: - set QUEST_Graveyard_Inn, - (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) - | (@state << @Graveyard_Inn_SHIFT); - return; + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) + | (@state << @Graveyard_Inn_SHIFT); + return; } diff --git a/world/map/npc/027-2/innkeeper.txt b/world/map/npc/027-2/innkeeper.txt index d3f7589a..b1732ee0 100644 --- a/world/map/npc/027-2/innkeeper.txt +++ b/world/map/npc/027-2/innkeeper.txt @@ -74,33 +74,31 @@ L_After_Welcome: mes "[Reid's Ghost]"; mes "\"Please enjoy yourself!\""; - if (baselevel < 85) goto L_Close; + if (baselevel < 85) + goto L_Close; L_Ask_Dead: - if (baselevel < 85) goto L_Close; + if (baselevel < 85) + goto L_Close; menu "What happened to you?", - , "Thank you, I'll surely enjoy my visit.", L_Close; - mes "[Reid's Ghost]"; mes "\"What happened to me? What do you mean?\""; menu "Ahm, you don't look very well - actually, you look dead.",-, "You don't seem to be in the best condition.",-, "You are dead!",-; - mes "Reid looks down at her body and turns even more pale, if this is possible."; next; mes "[Reid's Ghost]"; mes "\"OH?\""; next; - menu "I'm sorry. I didn't know you weren't aware of that.",-, "Yes - do you understand my question now?",-, "Shall I help you to find out what happened to you?", L_Offer_Help1; - mes "[Reid's Ghost]"; mes "\"I'm dead? But why? And why am I still here?\""; next; @@ -117,6 +115,7 @@ L_Offer_Help2: "Shall I help you to find out what happened to you?", L_Offer_Help1, "Hi. I found this in the main hall. Do you know to whom it belongs?", L_Ring, "I don't want to bother you.", L_Close; + L_Skip1: menu "Shall I help you to find out what happened to you?", -, @@ -136,22 +135,20 @@ L_Bring_Tears: mes "\"Did you find something that can represent my sadness?\""; next; - if ((@kidstate == 5) && countitem("FrozenYetiTear") > 0) - menu - "I found this frozen tear to represent your sadness.", L_Check_Tears, - "Hi. I found this in the main hall. Do you know to whom it belongs?", L_Ring, - "I'm still searching.", L_Close; - + if ((@kidstate == 5) + && countitem("FrozenYetiTear") > 0) + menu + "I found this frozen tear to represent your sadness.", L_Check_Tears, + "Hi. I found this in the main hall. Do you know to whom it belongs?", L_Ring, + "I'm still searching.", L_Close; if (@kidstate == 5) menu "Hi. I found this in the main hall. Do you know to whom it belongs?", L_Ring, "I'm still searching.", L_Close; - if (countitem("FrozenYetiTear") > 0) menu "I found this frozen tear to represent your sadness.", L_Check_Tears, "I'm still searching.", L_Close; - mes "\"You didn't? It seems you're not serious with your offer to help me.\""; close; @@ -168,6 +165,7 @@ L_Check_Tears: mes "[Reid's Ghost]"; mes "\"These tears.. how they shimmer in the candle light. Yes, it seems you are serious about your offer. I think maybe you have the sensibility to help me find out the real meaning behind this terrible feeling.\""; next; + L_Ask_Life: mes "[Reid's Ghost]"; mes "\"But how do you plan to help me?\""; @@ -178,11 +176,11 @@ L_Ask_Life: "Please tell me about your life. Maybe this will give us a clue about what happened.",L_Skip2, "Hi. I found this in the main hall. Do you know to whom it belongs?", L_Ring, "I need to think about that.", L_Close; + L_Skip2: menu "Please tell me about your life. Maybe this will give us a clue about what happened.",-, "I need to think about that.", L_Close; - mes "[Reid's Ghost]"; mes "\"About my life? Well, ok.\""; next; @@ -201,11 +199,9 @@ L_Skip2: mes "Reid seems to be tortured by her memories."; next; mes "\"That was a very hard time.\""; - menu "Yes, yes, but what about your life shortly before you died?",-, "I can imagine. I'm very sorry for you",-; - mes "She doesn't seem to pay much attention to what you say."; next; mes "\"But Hamond, my friend since I was a child, helped me in those bad times. We built up the inn again and we - we married.\""; @@ -219,13 +215,16 @@ L_Skip2: callsub S_Update_Mask; L_Check_Kid: - if (@kidstate == 5) menu "Hi. I found this in the main hall. Do you know to whom it belongs?", L_Ring; - if ((Sex == 1) && (@kidstate < 7)) goto L_Man; - if ((Sex == 0) && (@kidstate < 7)) goto L_Woman; + if ((Sex == 1) + && (@kidstate < 7)) + goto L_Man; + if ((Sex == 0) + && (@kidstate < 7)) + goto L_Woman; mes "\"What I'm going to tell you is very personal, but your acts have shown me that you're a person I can trust. You kindly asked me about that ring you have found... and also, even my son, who is always so reserved with strangers, came to me and spent a long time telling me a lot of nice things about you. So I will tell you about my sad love.\""; next; @@ -296,11 +295,14 @@ L_Savaric: L_Sorry: mes "[Reid's Ghost]"; mes "\"Welcome back.\""; - if ((@lover == 4) && (countitem("GemRawWhite") >= @DIAMOND_AMOUNT) && (countitem("GemRawRed") >= @RUBY_AMOUNT) && (@husband == 5)) - menu - "Savaric asked me to give you something.",L_Diamond, - "Hamond sent me to bring you this.",L_Ruby, - "Nevermind.",-; + if ((@lover == 4) + && (countitem("GemRawWhite") >= @DIAMOND_AMOUNT) + && (countitem("GemRawRed") >= @RUBY_AMOUNT) + && (@husband == 5)) + menu + "Savaric asked me to give you something.",L_Diamond, + "Hamond sent me to bring you this.",L_Ruby, + "Nevermind.",-; if (@lover == 4 && (countitem("GemRawWhite") >= @DIAMOND_AMOUNT)) menu "Savaric asked me to give you something.",L_Diamond, @@ -312,7 +314,8 @@ L_Sorry: close; L_Diamond: - if (countitem("GemRawWhite") < @DIAMOND_AMOUNT) goto L_Kidding; + if (countitem("GemRawWhite") < @DIAMOND_AMOUNT) + goto L_Kidding; delitem "GemRawWhite", @DIAMOND_AMOUNT; mes "You explain how Savaric feels and what the diamonds mean."; next; @@ -325,7 +328,8 @@ L_Diamond: close; L_Ruby: - if (countitem("GemRawRed") < @RUBY_AMOUNT) goto L_Kidding; + if (countitem("GemRawRed") < @RUBY_AMOUNT) + goto L_Kidding; delitem "GemRawRed", @RUBY_AMOUNT; mes "You tell her about Hamonds feelings."; next; @@ -350,11 +354,13 @@ L_Thanks: mes "[Reid's Ghost]"; mes "\"I'm so glad, now I know what happened and spoke to both Savaric and Hamond. Thank you so much. Please take this.\""; getinventorylist; - if (@inventorylist_count == 100) goto L_Full_Inv; + if (@inventorylist_count == 100) + goto L_Full_Inv; getitem "MylarinDust", 1; set @state, 11; callsub S_Update_Mask; next; + L_Mylarin: mes "[Reid's Ghost]"; mes "\"This is called mylarin dust. My mother gave it to me when my father had his accident. She said it is very valuable.\""; @@ -413,26 +419,26 @@ L_Close: close; S_Update_Mask_Kid: - set QUEST_Graveyard_Inn, - (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Kid_MASK)) - | (@kidstate << @Graveyard_Inn_Kid_SHIFT); - return; + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Kid_MASK)) + | (@kidstate << @Graveyard_Inn_Kid_SHIFT); + return; S_Update_Mask_Husband: - set QUEST_Graveyard_Inn, - (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Husband_MASK)) - | (@husband << @Graveyard_Inn_Husband_SHIFT); - return; + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Husband_MASK)) + | (@husband << @Graveyard_Inn_Husband_SHIFT); + return; S_Update_Mask_Lover: - set QUEST_Graveyard_Inn, - (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Lover_MASK)) - | (@lover << @Graveyard_Inn_Lover_SHIFT); - return; + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Lover_MASK)) + | (@lover << @Graveyard_Inn_Lover_SHIFT); + return; S_Update_Mask: - set QUEST_Graveyard_Inn, - (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) - | (@state << @Graveyard_Inn_SHIFT); - return; + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) + | (@state << @Graveyard_Inn_SHIFT); + return; } diff --git a/world/map/npc/027-2/lover.txt b/world/map/npc/027-2/lover.txt index eab823a4..61703327 100644 --- a/world/map/npc/027-2/lover.txt +++ b/world/map/npc/027-2/lover.txt @@ -93,6 +93,7 @@ L_Crystals: set @crystal, @CRYSTAL_MAX; delitem "DarkCrystal", @crystal; getexp @crystal*@CRYSTAL_EXTRA_EXP, 0; + L_Skip: mes "[Hanged Man]"; mes "\"Well, let's start now.\""; @@ -133,25 +134,26 @@ L_Skip: L_News: mes "[Savaric]"; mes "\"Welcome back. Did you find a possible source for the dark magic?\""; - if ((@woman < 6) && (@golbanez == 0)) - menu - "Not yet, I'm still searching.",L_Close; - - if ((@woman < 6) && (@golbanez > 0)) - menu - "Yes, let me tell you.",L_Golbenez, - "I don't think so.",L_Close; - - if ((@woman >= 6) && (@golbanez == 0)) - menu - "Can you tell me about your relationship to Reid?",L_Reid, - "Not yet, I'm still searching.",L_Close; - - if ((@woman >= 6) && (@golbanez >= 0)) - menu - "Can you tell me about your relationship to Reid?",L_Reid, - "Yes, let me tell you.",L_Golbenez, - "I don't think so.",L_Close; + if ((@woman < 6) + && (@golbanez == 0)) + menu + "Not yet, I'm still searching.",L_Close; + if ((@woman < 6) + && (@golbanez > 0)) + menu + "Yes, let me tell you.",L_Golbenez, + "I don't think so.",L_Close; + if ((@woman >= 6) + && (@golbanez == 0)) + menu + "Can you tell me about your relationship to Reid?",L_Reid, + "Not yet, I'm still searching.",L_Close; + if ((@woman >= 6) + && (@golbanez >= 0)) + menu + "Can you tell me about your relationship to Reid?",L_Reid, + "Yes, let me tell you.",L_Golbenez, + "I don't think so.",L_Close; L_Golbenez: mes "You explain how you came to the inn and what Golbenez said to you."; @@ -229,13 +231,13 @@ L_Apologize: close; L_Want_Soul: - if (@golbanez >= 7) goto L_Soul; + if (@golbanez >= 7) + goto L_Soul; mes "[Savaric]"; mes "\"Welcome back! Are you still working on getting my soul back?\""; menu "I'm doing my best.",-, "Yes, but it isn't easy.",-; - mes "[Savaric]"; mes "\"Thank you so much! I'm counting on you!\""; close; @@ -246,7 +248,8 @@ L_Soul: next; mes "\"Please take this as a symbol of my gratitude.\""; getinventorylist; - if (@inventorylist_count == 100) goto L_Full_Inv; + if (@inventorylist_count == 100) + goto L_Full_Inv; getitem "SorcererRobeRed", 1; set @state, 7; callsub S_Update_Mask; @@ -278,8 +281,8 @@ L_Close: close; S_Update_Mask: - set QUEST_Graveyard_Inn, - (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) - | (@state << @Graveyard_Inn_SHIFT); - return; + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) + | (@state << @Graveyard_Inn_SHIFT); + return; } diff --git a/world/map/npc/027-2/werewolf.txt b/world/map/npc/027-2/werewolf.txt index 41870095..59272169 100644 --- a/world/map/npc/027-2/werewolf.txt +++ b/world/map/npc/027-2/werewolf.txt @@ -15,7 +15,8 @@ mes "\"What a nice place here, isn't it?\""; next; mes "\"Just the stuff they call 'food' in here is awful, bah.\""; - if (baselevel < 80) goto L_Close; + if (baselevel < 80) + goto L_Close; next; mes "\"I like bones from big animals, the best would be with some raw flesh on it. But just the bones are fine too.\""; next; @@ -28,11 +29,12 @@ L_Bones: mes "[Wolfgang]"; mes "\"Do you have " + @ANIMALBONES_AMOUNT + " bones of an animal for me?\""; next; - if ((countitem("Bone") > 0) && (countitem("AnimalBones") >= @ANIMALBONES_AMOUNT)) - menu - "Yes, here they are.",L_Bring, - "What about this normal bone?",L_Human, - "Not yet.",L_Close; + if ((countitem("Bone") > 0) + && (countitem("AnimalBones") >= @ANIMALBONES_AMOUNT)) + menu + "Yes, here they are.",L_Bring, + "What about this normal bone?",L_Human, + "Not yet.",L_Close; if (countitem("Bone") > 0) menu "What about this normal bone?",L_Human, @@ -85,7 +87,8 @@ L_Happy: //The game mechanics is copied from casino.txt L_Game: - if(zeny < @money) goto L_No_Money; + if (zeny < @money) + goto L_No_Money; mes "[Wolfgang]"; mes "\"Very nice. Let's start.\""; mes "He shuffles the cards."; @@ -95,29 +98,33 @@ L_Game: set @croupier, @croupier + 17; set @player, rand(4, 21); mes "\"You got " + @player + " with your cards."; - if(@player == 21) goto L_End; + if (@player == 21) + goto L_End; mes "Do you want another card?\""; next; - menu "Yes.", L_Another, "No.", L_End; L_Another: set @tempace, rand(2, 11); - if (@tempace == 11) goto L_Ace; + if (@tempace == 11) + goto L_Ace; set @player, @player + @tempace; - if (@player > 21) goto L_Lost; - if (@player == 21) goto L_End; + if (@player > 21) + goto L_Lost; + if (@player == 21) + goto L_End; mes "\"You got " + @player + " with your cards."; mes "Do you want another card?\""; next; - menu "Yes", L_Another, "No", L_End; + L_End: - if (@player <= @croupier) goto L_Lost; + if (@player <= @croupier) + goto L_Lost; mes "\"You won! Hrm, here is your money.\""; set zeny, zeny + (3 * @money); close; @@ -135,13 +142,15 @@ L_Lost: L_Ace: set @player, @player + 11; - if (@player > 21) set @player, @player - 10; - if (@player > 21) goto L_Lost; - if (@player == 21) goto L_End; + if (@player > 21) + set @player, @player - 10; + if (@player > 21) + goto L_Lost; + if (@player == 21) + goto L_End; mes "You got " + @player + " with your cards."; mes "Do you want another card?"; next; - menu "Yes", L_Another, "No", L_End; @@ -151,8 +160,8 @@ L_Close: close; S_Update_Mask: - set QUEST_Graveyard_Inn, - (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) - | (@state << @Graveyard_Inn_SHIFT); - return; -} + set QUEST_Graveyard_Inn, + (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) + | (@state << @Graveyard_Inn_SHIFT); + return; +}
\ No newline at end of file diff --git a/world/map/npc/027-3/entrance.txt b/world/map/npc/027-3/entrance.txt index 50022459..b2f9ca9c 100644 --- a/world/map/npc/027-3/entrance.txt +++ b/world/map/npc/027-3/entrance.txt @@ -4,32 +4,32 @@ mes "Once you pass this point I cannot warp anyone else to help. " + "Are you sure you are ready to go?"; menu - "Let's go",L_BEGIN, - "No thank you",-; + "Let's go",L_BEGIN, + "No thank you",-; warp "027-3.gat",40,60; close; L_BEGIN: disablenpc "#closedgate"; initnpctimer; - specialeffect 300; - // add stop alacrius warp flag to temp globals + specialeffect 300; + // add stop alacrius warp flag to temp globals close; OnTimer2000: enablenpc "#opengate"; - disablenpc "#gatecontrol"; - end; + disablenpc "#gatecontrol"; + end; } 027-3.gat,40,59,0|script|#closedgate|322,{ end; } + 027-3.gat,40,59,0|script|#opengate|323,{ end; } - // Effects for the exit. 027-3.gat,40,78,0|script|#cryptexit2|127,3,3{ @@ -38,4 +38,4 @@ OnTimer2000: + "The only way to get out is to defeat the reaper" + "or die..."; close; -} +}
\ No newline at end of file diff --git a/world/map/npc/027-4/reaper_script.txt b/world/map/npc/027-4/reaper_script.txt index 0a3fcc6f..38ee6fc3 100644 --- a/world/map/npc/027-4/reaper_script.txt +++ b/world/map/npc/027-4/reaper_script.txt @@ -9,6 +9,7 @@ OnDead: OnPCDieEvent: // summon a zombie and give a message and sfx end; + OnAvenged: // tell players your fallen comrad has been avenged end; diff --git a/world/map/npc/028-1/Portal.txt b/world/map/npc/028-1/Portal.txt index f286739a..7dbdff22 100644 --- a/world/map/npc/028-1/Portal.txt +++ b/world/map/npc/028-1/Portal.txt @@ -1,8 +1,8 @@ 028-1.gat,63,68,0|script|Portal#_M|127,{ -if (isin("028-1.gat",59,64,67,70)) goto L_Main; + if (isin("028-1.gat",59,64,67,70)) goto L_Main; mes "There is something there, but you aren't quite close enough to see exactly what it is."; -close; + close; L_Main: mes "[Portal]"; @@ -22,10 +22,11 @@ L_Main: mes "[Portal]"; mes ""; mes "What do you do?"; - menu "Jump through, without looking back.", L_No_Hesitation, + menu + "Jump through, without looking back.", L_No_Hesitation, "Take one more look around.", L_Look, "Leave it alone.", -; -close; + close; L_No_Hesitation: mes "There has been quite enough of this harsh place. You jump through without hesitation..."; @@ -35,58 +36,66 @@ L_No_Hesitation: mes "Dizzying colors whirl around you. You collapse."; savepoint "009-1", 52, 39; itemheal -hp -1, 0; -close; + close; L_Look: mes "[Portal]"; mes ""; mes "There was a lot here. You don't know where it came from, or quite how you ended up here."; - if ((Easter_2010_QuestState >> E10_STATE_ROSE_SHIFT) & E10_STATE_ROSE_MASK == E10_STATE_ROSE_ROSE_COMPLETE) goto L_Full_Helped; - if ((Easter_2010_QuestState >> E10_HELPED_DOCTOR_SHIFT) & E10_HELPED_DOCTOR_MASK) goto L_Somewhat_Helped; - if ((Easter_2010_QuestState >> E10_FLAG_KNOWS_DOCTOR_SHIFT) & E10_FLAG_KNOWS_DOCTOR) goto L_Met; - if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK) goto L_Unknown_Defeat; + if ((Easter_2010_QuestState >> E10_STATE_ROSE_SHIFT) & E10_STATE_ROSE_MASK == E10_STATE_ROSE_ROSE_COMPLETE) + goto L_Full_Helped; + if ((Easter_2010_QuestState >> E10_HELPED_DOCTOR_SHIFT) & E10_HELPED_DOCTOR_MASK) + goto L_Somewhat_Helped; + if ((Easter_2010_QuestState >> E10_FLAG_KNOWS_DOCTOR_SHIFT) & E10_FLAG_KNOWS_DOCTOR) + goto L_Met; + if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK) + goto L_Unknown_Defeat; mes "Come to think of it, there is still quite a lot you're not sure about. There was talk about something big, but you must have missed it... whatever it was, it seems gone now."; -goto L_Post_Look; + goto L_Post_Look; L_Full_Helped: - if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK) goto L_Full_Helped_Defeat; + if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK) + goto L_Full_Helped_Defeat; mes "Your assistance was helpful, you know that much. If only you could have faced the darkness that plagued this world more directly..."; -goto L_Post_Look; + goto L_Post_Look; L_Full_Helped_Defeat: mes "You know you have done everything that you could have. Your determination will have surely meant the world will be restored, once more."; -goto L_Post_Look; + goto L_Post_Look; L_Somewhat_Helped: - if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK) goto L_Somewhat_Helped_Defeat; + if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK) + goto L_Somewhat_Helped_Defeat; mes "You feel your help was not for nothing, though you can't quite shake the feeling there was still something more to do."; -goto L_Post_Look; + goto L_Post_Look; L_Somewhat_Helped_Defeat: mes "Your help was not for nothing. Your destruction of evil would surely help heal this world!"; -goto L_Post_Look; + goto L_Post_Look; L_Met: - if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK) goto L_Met_Defeat; + if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK) + goto L_Met_Defeat; mes "While you only met the Doctor briefly, he seemed to think there was something wrong. If only there was a way you could have helped, somehow."; -goto L_Post_Look; + goto L_Post_Look; L_Met_Defeat: mes "Striking down that evil, dark, figure would surely make a difference. While you only met the Doctor briefly, he seemed to think there was something wrong... with any luck, this defeat would be, at the very least, a significant setback."; -goto L_Post_Look; + goto L_Post_Look; L_Unknown_Defeat: mes "Striking down that evil, dark, figure would surely make a difference. You just wish you knew what that was about... if only there had been someone that could have explained it all."; -goto L_Post_Look; + goto L_Post_Look; L_Post_Look: next; mes "What do you do?"; - menu "Jump through", L_Jump, + menu + "Jump through", L_Jump, "Leave it alone", -; -close; + close; L_Jump: mes "[Portal]"; @@ -121,5 +130,5 @@ L_Jump: mes "[Home]"; mes ""; mes "You land softly. It is good to be home..."; -close; + close; } diff --git a/world/map/npc/029-1/barrier.txt b/world/map/npc/029-1/barrier.txt index 4a570c62..7625014f 100644 --- a/world/map/npc/029-1/barrier.txt +++ b/world/map/npc/029-1/barrier.txt @@ -3,6 +3,6 @@ warp "029-3.gat", 46, 23; end; - L_Block: +L_Block: message strcharinfo(0), "Some force seems to be blocking you from entering."; } diff --git a/world/map/npc/029-3/parua.txt b/world/map/npc/029-3/parua.txt index 03aa8a76..5498aaf2 100644 --- a/world/map/npc/029-3/parua.txt +++ b/world/map/npc/029-3/parua.txt @@ -13,18 +13,24 @@ mes "\"Very well, for a fee of 20,000 GP, I will awaken that power.\""; menu "No, what a ripoff!", L_Exit, "Fine, here you go.", -; - if ($@FIGHT_CAVE_STATUS == 1) goto L_AlreadyStarted; - if (zeny >= 20000 + 3000) goto L_CallPlayers; + if ($@FIGHT_CAVE_STATUS == 1) + goto L_AlreadyStarted; + if (zeny >= 20000 + 3000) + goto L_CallPlayers; L_Paying: - if (getareausers("029-3.gat", 20, 20, 70, 60) < 5) goto L_NotEnoughPlayers; - if (zeny < 20000) goto L_NotEnough; + if (getareausers("029-3.gat", 20, 20, 70, 60) < 5) + goto L_NotEnoughPlayers; + if (zeny < 20000) + goto L_NotEnough; // Do not charge the money if the fight or the announces were already started by someone else - if ($@FIGHT_CAVE_STATUS != 0) close; + if ($@FIGHT_CAVE_STATUS != 0) + close; set zeny, zeny - 20000; L_StartFight: - if (getareausers("029-3.gat", 20, 20, 70, 60) < 5) goto L_NotEnoughPlayers; + if (getareausers("029-3.gat", 20, 20, 70, 60) < 5) + goto L_NotEnoughPlayers; npctalk "Let the battle begin!"; set $@FIGHT_CAVE_STATUS, 1; set $@FIGHT_CAVE_LEVEL, 1; @@ -35,29 +41,36 @@ L_StartFight: L_CallPlayers: mes "[Parua]"; mes "\"Good... Your money will be very useful. I can awaken this power right now, if you want, or, for an additional fee of 3,000 GP, I can help you gather some of your friends to help you in this battle. What will it be?\""; - menu "We are OK. Just do it!", L_Paying, - "I will accept your help.", -; - + menu + "We are OK. Just do it!", L_Paying, + "I will accept your help.", -; mes "[Parua]"; mes "\"OK, I can make up to 3 announcements to the people of this world, letting them know that you are about to challenge the powers that sleep in this cave! If you want the fight to start in 5 minutes, I will make one announcement, if it is 15 minutes, I will make 2 announcements, and if it is to start in 30 minutes, it will be 3 announcements.\""; next; mes "\"But be careful! If there aren't at least five people here at the time of the fight, your money will be lost.\""; next; mes "\"So, when should it start?\""; - menu "In 5 minutes.", -, - "In 15 minutes.", -, - "In 30 minutes.", -, - "I don't want to wait. Let's start it now!", L_Paying; + menu + "In 5 minutes.", -, + "In 15 minutes.", -, + "In 30 minutes.", -, + "I don't want to wait. Let's start it now!", L_Paying; // Do not charge the money if the fight or the announces were already started by someone else - if ($@FIGHT_CAVE_STATUS != 0) close; - if (getareausers("029-3.gat", 20, 20, 70, 60) < 5) goto L_NotEnoughPlayers; - if (zeny < 20000 + 3000) goto L_NotEnough_Announce; + if ($@FIGHT_CAVE_STATUS != 0) + close; + if (getareausers("029-3.gat", 20, 20, 70, 60) < 5) + goto L_NotEnoughPlayers; + if (zeny < 20000 + 3000) + goto L_NotEnough_Announce; set zeny, zeny - (20000 + 3000); set $@SPONSOR$, strcharinfo(0); set $@FIGHT_CAVE_STATUS, $@FIGHT_CAVE_STATUS + (@menu + 2); - if ($@FIGHT_CAVE_STATUS == 3) set $@ANNOUNCE_TIME, gettimetick(2) + 300; - if ($@FIGHT_CAVE_STATUS == 4) set $@ANNOUNCE_TIME, gettimetick(2) + 900; - if ($@FIGHT_CAVE_STATUS >= 5) set $@ANNOUNCE_TIME, gettimetick(2) + 1800; + if ($@FIGHT_CAVE_STATUS == 3) + set $@ANNOUNCE_TIME, gettimetick(2) + 300; + if ($@FIGHT_CAVE_STATUS == 4) + set $@ANNOUNCE_TIME, gettimetick(2) + 900; + if ($@FIGHT_CAVE_STATUS >= 5) + set $@ANNOUNCE_TIME, gettimetick(2) + 1800; startnpctimer; close; @@ -69,8 +82,10 @@ L_Enjoy: L_Wait: set @seconds, ($@ANNOUNCE_TIME - gettimetick(2)); mes "[Parua]"; - if (@seconds/60 == 0) mes "\"Be Patient... The fight will start in " + @seconds + " seconds.\""; - if (@seconds/60 > 0) mes "\"Be Patient... The fight will start in " + @seconds/60 + " minute(s).\""; + if (@seconds/60 == 0) + mes "\"Be Patient... The fight will start in " + @seconds + " seconds.\""; + if (@seconds/60 > 0) + mes "\"Be Patient... The fight will start in " + @seconds/60 + " minute(s).\""; goto L_Exit; L_NotEnough: @@ -89,7 +104,8 @@ L_AlreadyStarted: goto L_Exit; L_NotEnoughPlayers: - if ($@FIGHT_CAVE_STATUS == 2) goto L_CleanUp_Announcement; + if ($@FIGHT_CAVE_STATUS == 2) + goto L_CleanUp_Announcement; mes "[Parua]"; mes "\"Maybe you should bring some friends with you; this will get messy.\""; mes "He takes a moment to calculate. \"You'll probably need at least...five people, including yourself.\""; @@ -102,8 +118,10 @@ L_Exit: // Fight logic OnTimer5000: setnpctimer 0; - if ($@FIGHT_CAVE_STATUS == 1) goto L_CaveLogic; - if ($@FIGHT_CAVE_STATUS >= 2) goto L_GlobalAnnounce; + if ($@FIGHT_CAVE_STATUS == 1) + goto L_CaveLogic; + if ($@FIGHT_CAVE_STATUS >= 2) + goto L_GlobalAnnounce; L_Return_1: set $@FIGHT_CAVE_PLAYER_COUNT, 0; @@ -112,24 +130,32 @@ L_Return_1: L_CaveLogic: set $@FIGHT_CAVE_ROUND_PEN, $@FIGHT_CAVE_PLAYER_COUNT; - if ($@FIGHT_CAVE_ROUND_PEN > 60) set $@FIGHT_CAVE_ROUND_PEN, 60; - if ($@FIGHT_CAVE_PLAYER_COUNT <= 0) goto L_CleanUp; + if ($@FIGHT_CAVE_ROUND_PEN > 60) + set $@FIGHT_CAVE_ROUND_PEN, 60; + if ($@FIGHT_CAVE_PLAYER_COUNT <= 0) + goto L_CleanUp; set $@FIGHT_CAVE_ROUND_TIMER, $@FIGHT_CAVE_ROUND_TIMER + 5; // Advance 5 seconds - if (mobcount("029-3.gat", "Parua::onPetDeath") <= 0) goto L_NextRound; - if ($@FIGHT_CAVE_ROUND_TIMER + $@FIGHT_CAVE_ROUND_PEN >= 120) goto L_NextRound; + if (mobcount("029-3.gat", "Parua::onPetDeath") <= 0) + goto L_NextRound; + if ($@FIGHT_CAVE_ROUND_TIMER + $@FIGHT_CAVE_ROUND_PEN >= 120) + goto L_NextRound; goto L_Return_1; L_NextRound: set $@FIGHT_CAVE_ROUND_TIMER, 0; set $@FIGHT_CAVE_TEMP_UP, ($@FIGHT_CAVE_LEVEL / 10); - if ($@FIGHT_CAVE_TEMP_UP > 100) set $@FIGHT_CAVE_TEMP_UP, 100; + if ($@FIGHT_CAVE_TEMP_UP > 100) + set $@FIGHT_CAVE_TEMP_UP, 100; set $@FIGHT_CAVE_LEVEL, $@FIGHT_CAVE_LEVEL + $@FIGHT_CAVE_PLAYER_COUNT + $@FIGHT_CAVE_TEMP_UP; - if ($@FIGHT_CAVE_LEVEL >= 2200) goto L_CleanUp; + if ($@FIGHT_CAVE_LEVEL >= 2200) + goto L_CleanUp; set $@FIGHT_CAVE_POINTS, $@FIGHT_CAVE_LEVEL; - if ($@FIGHT_CAVE_LAST + 30 < $@FIGHT_CAVE_LEVEL) goto L_Announce; + if ($@FIGHT_CAVE_LAST + 30 < $@FIGHT_CAVE_LEVEL) + goto L_Announce; + L_Return_2: mapannounce "029-3.gat", "Parua: The next round (level " + $@FIGHT_CAVE_LEVEL + ") is starting with " + $@FIGHT_CAVE_PLAYER_COUNT + " player(s) left alive." , 0; @@ -139,13 +165,26 @@ L_Return_2: set $@MOB_4_SUMMON, 0; set $@MOB_5_SUMMON, 0; set $@MOB_6_SUMMON, 0; + L_Summon: - if ($@FIGHT_CAVE_POINTS >= 243 && $@MOB_1_SUMMON < 2) goto L_MOB1; - if ($@FIGHT_CAVE_POINTS >= 81 && $@MOB_2_SUMMON < 6) goto L_MOB2; - if ($@FIGHT_CAVE_POINTS >= 27 && $@MOB_3_SUMMON < 5) goto L_MOB3; - if ($@FIGHT_CAVE_POINTS >= 9 && $@MOB_4_SUMMON < 7) goto L_MOB4; - if ($@FIGHT_CAVE_POINTS >= 3 && $@MOB_5_SUMMON < 10) goto L_MOB5; - if ($@FIGHT_CAVE_POINTS >= 1 && $@MOB_6_SUMMON < 12) goto L_MOB6; + if ($@FIGHT_CAVE_POINTS >= 243 + && $@MOB_1_SUMMON < 2) + goto L_MOB1; + if ($@FIGHT_CAVE_POINTS >= 81 + && $@MOB_2_SUMMON < 6) + goto L_MOB2; + if ($@FIGHT_CAVE_POINTS >= 27 + && $@MOB_3_SUMMON < 5) + goto L_MOB3; + if ($@FIGHT_CAVE_POINTS >= 9 + && $@MOB_4_SUMMON < 7) + goto L_MOB4; + if ($@FIGHT_CAVE_POINTS >= 3 + && $@MOB_5_SUMMON < 10) + goto L_MOB5; + if ($@FIGHT_CAVE_POINTS >= 1 + && $@MOB_6_SUMMON < 12) + goto L_MOB6; goto L_Return_1; L_Announce: @@ -154,20 +193,26 @@ L_Announce: goto L_Return_2; L_GlobalAnnounce: - if ($@FIGHT_CAVE_STATUS == 3) goto L_Five_Minutes; - if ($@FIGHT_CAVE_STATUS == 4) goto L_Fifteen_Minutes; - if ($@FIGHT_CAVE_STATUS >= 5) goto L_Thirty_Minutes; - if (gettimetick(2) >= $@ANNOUNCE_TIME) goto L_StartFight; + if ($@FIGHT_CAVE_STATUS == 3) + goto L_Five_Minutes; + if ($@FIGHT_CAVE_STATUS == 4) + goto L_Fifteen_Minutes; + if ($@FIGHT_CAVE_STATUS >= 5) + goto L_Thirty_Minutes; + if (gettimetick(2) >= $@ANNOUNCE_TIME) + goto L_StartFight; end; L_Five_Minutes: - if ($@ANNOUNCE_TIME - gettimetick(2) > 300) end; + if ($@ANNOUNCE_TIME - gettimetick(2) > 300) + end; announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. It is almost time! The fight will start in 5 minutes and, at the moment, there are only " + getareausers("029-3.gat", 20, 20, 70, 60) + " fighter(s) in the cave.", 0; set $@FIGHT_CAVE_STATUS, 2; end; L_Fifteen_Minutes: - if ($@ANNOUNCE_TIME - gettimetick(2) > 900) end; + if ($@ANNOUNCE_TIME - gettimetick(2) > 900) + end; announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. You still have time to prepare yourself for this fight, since it will only start in 15 minutes. Right now, there are " + getareausers("029-3.gat", 20, 20, 70, 60) + " fighter(s) in the cave.", 0; set $@FIGHT_CAVE_STATUS, 3; end; @@ -225,6 +270,7 @@ onPetDeath: onInit: initnpctimer; stopnpctimer; + L_CleanUp: npctalk "Game Over"; mapannounce "029-1.gat", "Parua: The dungeon is now ready for its next victims.", 0; diff --git a/world/map/npc/031-1/angelaOutside.txt b/world/map/npc/031-1/angelaOutside.txt index 3e503187..9fce8e10 100644 --- a/world/map/npc/031-1/angelaOutside.txt +++ b/world/map/npc/031-1/angelaOutside.txt @@ -5,7 +5,7 @@ // state2 and state3: Cindy is saved Angela invites you to visit them for giving a reward // state greater than 3: Angela invites and asks you to bring present boxes -031-1.gat,79,24,0|script|Angela|195, { +031-1.gat,79,24,0|script|Angela|195,{ set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; @@ -21,8 +21,9 @@ next; mes "\"It's terrible, oh my dear child!\""; next; - - if (countitem("ConcentrationPotion") > 0 && baselevel > 69) goto L_Menu_Potion; + if (countitem("ConcentrationPotion") > 0 + && baselevel > 69) + goto L_Menu_Potion; menu "\"Please calm down and tell me what happened.\"", L_Whining, @@ -60,7 +61,8 @@ L_Menu_Potion: close; L_Calm_Down: - if (countitem("ConcentrationPotion") == 0) goto L_No_Potion; + if (countitem("ConcentrationPotion") == 0) + goto L_No_Potion; delitem "ConcentrationPotion", 1; mes "She drinks the concentration potions and calms down."; mes "[Angela]"; @@ -103,14 +105,8 @@ L_Please_Visit_Again: close; S_Update_Mask: - set QUEST_Nivalis_state, - (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) - | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); - return; -} - - - - - - + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; +}
\ No newline at end of file diff --git a/world/map/npc/031-1/frozenbeard.txt b/world/map/npc/031-1/frozenbeard.txt index 923ae449..6a8eb467 100644 --- a/world/map/npc/031-1/frozenbeard.txt +++ b/world/map/npc/031-1/frozenbeard.txt @@ -10,7 +10,8 @@ close; L_Frozenbeard_Argaes: - if (zeny < 500) goto L_NoMoney; + if (zeny < 500) + goto L_NoMoney; mes "[Frozenbeard]"; mes "\"Pleasant Journeys!\""; set zeny, zeny-500; diff --git a/world/map/npc/031-1/house.txt b/world/map/npc/031-1/house.txt index 9913bdec..aa0d4067 100644 --- a/world/map/npc/031-1/house.txt +++ b/world/map/npc/031-1/house.txt @@ -7,12 +7,13 @@ set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); - - if (@rescue_Cindy > 2) goto L_Warp; - message strcharinfo(0), "The door is locked."; + + if (@rescue_Cindy > 2) + goto L_Warp; + message strcharinfo(0), "The door is locked."; close; - -L_Warp: + +L_Warp: warp "031-2.gat", 23, 28; end; } diff --git a/world/map/npc/031-2/angelaHouse.txt b/world/map/npc/031-2/angelaHouse.txt index 488f600a..dbc82681 100644 --- a/world/map/npc/031-2/angelaHouse.txt +++ b/world/map/npc/031-2/angelaHouse.txt @@ -1,113 +1,97 @@ // author: Jenalya -// reviewed by: +// reviewed by: // state0, 1, 2: you shouldn't be able to come here // state3: it's your first visit, you can choose a reward // state4: you can do daily quests with white and yellow presents boxes -// +// -031-2.gat,29,28,0 script Angela 196, { +031-2.gat,29,28,0|script|Angela|196,{ - set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; - set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; + set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; + set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; - set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); - - if (@rescue_Cindy == 4) goto L_Hello_Again; - if (@rescue_Cindy == 3) goto L_Reward; + set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); + + if (@rescue_Cindy == 4) goto L_Hello_Again; + if (@rescue_Cindy == 3) goto L_Reward; + + mes "..."; + close; - mes "..."; - close; - L_Reward: - mes "[Angela]"; - mes "\"Hello " + strcharinfo(0) + ", thank you again. I'm so glad Cindy is back home safe.\""; - next; - mes "\"As I told you, my husband is an adventurer. He is on one of his travels, so he couldn't rescue Cindy himself.\""; - next; - mes "\"I want to give you one of his treasures. Beside all the junk he brings, there are some very valuable things.\""; - next; - mes "\"This item is called the Rock Knife. When you wield it, you feel as robust as a rock.\""; - - getinventorylist; - if (@inventorylist_count == 100) goto L_Full_Inv; + mes "[Angela]"; + mes "\"Hello " + strcharinfo(0) + ", thank you again. I'm so glad Cindy is back home safe.\""; + next; + mes "\"As I told you, my husband is an adventurer. He is on one of his travels, so he couldn't rescue Cindy himself.\""; + next; + mes "\"I want to give you one of his treasures. Beside all the junk he brings, there are some very valuable things.\""; + next; + mes "\"This item is called the Rock Knife. When you wield it, you feel as robust as a rock.\""; + + getinventorylist; + if (@inventorylist_count == 100) + goto L_Full_Inv; + getitem "RockKnife", 1; + set @rescue_Cindy, 4; + callsub S_Update_Mask; + + next; + mes "\"I hope this will be useful for you.\""; + next; + mes "\"I am so glad Cindy is safe. But there is still another problem. The Yetis took away all the white and yellow present boxes we wanted to bring to Santa!\""; + next; + mes "\"Usually, Yetis are very shy - I wonder why they did that. There is something strange going on.\""; + next; + mes "\"May I ask you for help again? I'll give you a small reward for every 3 boxes of one color you bring me.\""; + close; - getitem "RockKnife", 1; - - set @rescue_Cindy, 4; - callsub S_Update_Mask; - - next; - mes "\"I hope this will be useful for you.\""; - next; - mes "\"I am so glad Cindy is safe. But there is still another problem. The Yetis took away all the white and yellow present boxes we wanted to bring to Santa!\""; - next; - mes "\"Usually, Yetis are very shy - I wonder why they did that. There is something strange going on.\""; - next; - mes "\"May I ask you for help again? I'll give you a small reward for every 3 boxes of one color you bring me.\""; - close; - L_Full_Inv: - mes "\"Oh, it seems you carry so much stuff - I will keep it for you until you can take it.\""; - close; - + mes "\"Oh, it seems you carry so much stuff - I will keep it for you until you can take it.\""; + close; + L_Hello_Again: - mes "[Angela]"; - mes "\"Hello! Good to see you again. Please warm yourself.\""; - next; - menu - "I just wanted to say hello.",-, - "I have some yellow present boxes.",L_Yellow, - "I have some white present boxes.",L_White; - close; - -L_Yellow: - set @dq_level, 70; - set @dq_cost, 32; - set @dq_count, 3; - set @dq_name$, "YellowPresentBox"; - set @dq_friendly_name$, "yellow present box"; - set @dq_money, 5300; - set @dq_exp, 1300; + mes "[Angela]"; + mes "\"Hello! Good to see you again. Please warm yourself.\""; + next; + menu + "I just wanted to say hello.",-, + "I have some yellow present boxes.",L_Yellow, + "I have some white present boxes.",L_White; + close; - callfunc "DailyQuest"; - - next; - - if (@dq_return ==4) mes "\"Santa will be glad to have them back.\""; - close; +L_Yellow: + set @dq_level, 70; + set @dq_cost, 32; + set @dq_count, 3; + set @dq_name$, "YellowPresentBox"; + set @dq_friendly_name$, "yellow present box"; + set @dq_money, 5300; + set @dq_exp, 1300; + + callfunc "DailyQuest"; + next; + if (@dq_return ==4) + mes "\"Santa will be glad to have them back.\""; + close; L_White: - set @dq_level, 80; - set @dq_cost, 64; - set @dq_count, 3; - set @dq_name$, "WhitePresentBox"; - set @dq_friendly_name$, "white present box"; - set @dq_money, 10800; - set @dq_exp, 2800; + set @dq_level, 80; + set @dq_cost, 64; + set @dq_count, 3; + set @dq_name$, "WhitePresentBox"; + set @dq_friendly_name$, "white present box"; + set @dq_money, 10800; + set @dq_exp, 2800; + + callfunc "DailyQuest"; + next; + if (@dq_return ==4) + mes "\"You are a great help!\""; + close; - callfunc "DailyQuest"; - - next; - - if (@dq_return ==4) mes "\"You are a great help!\""; - close; - S_Update_Mask: - set QUEST_Nivalis_state, - (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) - | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); - return; -} - - - - - - - - - - - - - + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; +}
\ No newline at end of file diff --git a/world/map/npc/031-2/cindyHouse.txt b/world/map/npc/031-2/cindyHouse.txt index 79b8704c..beae6e0a 100644 --- a/world/map/npc/031-2/cindyHouse.txt +++ b/world/map/npc/031-2/cindyHouse.txt @@ -19,7 +19,9 @@ L_Happy_Random: getinventorylist; set @candy, rand(50); - if (@inventorylist_count < 100 && @candy == 42) goto L_Candy; + if (@inventorylist_count < 100 + && @candy == 42) + goto L_Candy; setarray @quote_Cindy$, "Thank you so much for rescuing me!", "My mother made really tasty cookies yesterday. But I already ate them all...", @@ -45,8 +47,8 @@ L_Candy: close; S_Update_Mask: - set QUEST_Nivalis_state, - (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) - | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); - return; + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; } diff --git a/world/map/npc/031-3/labyrinth.txt b/world/map/npc/031-3/labyrinth.txt index b1b5543a..2047582a 100644 --- a/world/map/npc/031-3/labyrinth.txt +++ b/world/map/npc/031-3/labyrinth.txt @@ -9,9 +9,10 @@ //################################################################################# 031-3.gat,46,24,0|script|#YetiBarrier|127,1,1,{ -if ($@FIGHT_YETI_STATUS == 1) goto L_Blocked; + if ($@FIGHT_YETI_STATUS == 1) goto L_Blocked; warp "031-4.gat", 40, 69; end; + L_Blocked: message strcharinfo(0), "A force field seems to be blocking you from entering."; end; diff --git a/world/map/npc/031-4/barrier.txt b/world/map/npc/031-4/barrier.txt index e8b4a5ac..472a42ac 100644 --- a/world/map/npc/031-4/barrier.txt +++ b/world/map/npc/031-4/barrier.txt @@ -1,7 +1,8 @@ -031-4.gat,40,71,0 script #YetiBarrier 127,1,1,{ - if ($@FIGHT_YETI_STATUS == 1) goto L_Block; +031-4.gat,40,71,0|script|#YetiBarrier|127,1,1,{ + if ($@FIGHT_YETI_STATUS == 1) goto L_Block; warp "031-3.gat", 46, 27; - end; + end; + L_Block: message strcharinfo(0), "A force field seems to be blocking you from exiting."; end; diff --git a/world/map/npc/031-4/cindyCave.txt b/world/map/npc/031-4/cindyCave.txt index c4a589b2..6e811aa3 100644 --- a/world/map/npc/031-4/cindyCave.txt +++ b/world/map/npc/031-4/cindyCave.txt @@ -46,15 +46,18 @@ L_Please_Help: close; L_Try_Cage: - if (baselevel < 70) goto L_To_Weak; - if (countitem("TreasureKey") < @KEYS_AMOUNT) goto L_Not_Enough_Keys; + if (baselevel < 70) + goto L_To_Weak; + if (countitem("TreasureKey") < @KEYS_AMOUNT) + goto L_Not_Enough_Keys; delitem "TreasureKey", @KEYS_AMOUNT; mes "As you try to open the door of the cage, there is a loud squeaking noise."; next; mes "You get an uncomfortable feeling and Cindy starts to shiver."; next; mes "\"Oh no, the Yetis...\""; - if ($@FIGHT_YETI_STATUS != 0) goto L_Yeti; + if ($@FIGHT_YETI_STATUS != 0) + goto L_Yeti; // initialize fight set $@FIGHT_YETI_STATUS, 1; @@ -83,10 +86,12 @@ L_Reward: mes "\"I've found this thing in the cave - it looks valuable. I want you to have it.\""; next; getinventorylist; - if (@inventorylist_count == 100) goto L_Full_Inv; + if (@inventorylist_count == 100) + goto L_Full_Inv; set @reward, rand(15); - if (@reward < 10) goto L_Wizard_Hat; + if (@reward < 10) + goto L_Wizard_Hat; getitem "WoodenStaff", 1; set @rescue_Cindy, 3; callsub S_Update_Mask; @@ -125,7 +130,9 @@ L_Full_Inv: // Fight logic attached to npc OnTimer5000: setnpctimer 0; - if ($@FIGHT_YETI_STATUS != 0) goto L_CaveLogic; + if ($@FIGHT_YETI_STATUS != 0) + goto L_CaveLogic; + L_Return_1: set $@FIGHT_YETI_PLAYER_COUNT, 0; areatimer "031-4.gat", 0, 0, 95, 91, 10, "Cindy::onTick"; @@ -133,18 +140,26 @@ L_Return_1: L_CaveLogic: set $@FIGHT_YETI_ROUND_PEN, $@FIGHT_YETI_PLAYER_COUNT; - if ($@FIGHT_YETI_ROUND_PEN > 60) set $@FIGHT_YETI_ROUND_PEN, 60; - if ($@FIGHT_YETI_PLAYER_COUNT <= 0) goto L_CleanUp; + if ($@FIGHT_YETI_ROUND_PEN > 60) + set $@FIGHT_YETI_ROUND_PEN, 60; + if ($@FIGHT_YETI_PLAYER_COUNT <= 0) + goto L_CleanUp; set $@FIGHT_YETI_ROUND_TIMER, $@FIGHT_YETI_ROUND_TIMER + 5; // Advance 5 seconds - if (mobcount("031-4.gat", "Cindy::onPetDeath") <= 0) goto L_NextWave; - if ($@FIGHT_YETI_ROUND_TIMER + $@FIGHT_YETI_ROUND_PEN >= 120) goto L_NextWave; + if (mobcount("031-4.gat", "Cindy::onPetDeath") <= 0) + goto L_NextWave; + if ($@FIGHT_YETI_ROUND_TIMER + $@FIGHT_YETI_ROUND_PEN >= 120) + goto L_NextWave; goto L_Return_1; L_NextWave: set $@FIGHT_YETI_ROUND_TIMER, 0; set $@FIGHT_YETI_WAVE, $@FIGHT_YETI_WAVE + 1; - if ($@FIGHT_YETI_WAVE > 10 && $@YETI_COUNT == 0) goto L_CleanUp; - if ($@FIGHT_YETI_WAVE > 10 && $@FIGHT_YETI_WAVE < 22) goto L_Return_1; + if ($@FIGHT_YETI_WAVE > 10 + && $@YETI_COUNT == 0) + goto L_CleanUp; + if ($@FIGHT_YETI_WAVE > 10 + && $@FIGHT_YETI_WAVE < 22) + goto L_Return_1; if ($@FIGHT_YETI_WAVE > 22) areamonster "031-4.gat", 0, 0, 95, 91, "", 1072, $@FIGHT_YETI_WAVE*2 + $@FIGHT_YETI_PLAYER_COUNT*5, "Cindy::onPetDeath"; if ($@FIGHT_YETI_WAVE > 22) @@ -211,6 +226,7 @@ onPetDeath: onInit: initnpctimer; stopnpctimer; + L_CleanUp: areatimer "031-4.gat", 0, 0, 95, 91, 10, "Cindy::onReward"; set $@FIGHT_YETI_STATUS, 0; @@ -227,7 +243,8 @@ onReward: set @bonus, (baselevel/2); set DailyQuestBonus, DailyQuestBonus + @bonus; message strcharinfo(0), "You feel a temporary rush of power and zest for action. " + @bonus + " daily bonus gained." ; - if (@rescue_Cindy != 1 ) end; + if (@rescue_Cindy != 1 ) + end; set @rescue_Cindy, 2; callsub S_Update_Mask; message strcharinfo(0), "Cindy looks relieved and as if she wants to talk with you."; @@ -235,21 +252,8 @@ onReward: ///////// S_Update_Mask: - set QUEST_Nivalis_state, - (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) - | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); - return; + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; } - - - - - - - - - - - - - diff --git a/world/map/npc/032-1/miriam.txt b/world/map/npc/032-1/miriam.txt index 80cd3f4e..852c8931 100644 --- a/world/map/npc/032-1/miriam.txt +++ b/world/map/npc/032-1/miriam.txt @@ -4,16 +4,16 @@ // This npc teaches you the speed skill. // used variables: // QUEST_MIRIAM: -// 0 either fully completed the quests in here, or not started. -// 1 you said the wrong words, she is insulted. (so you excuse and goto 2) -// 2 waiting for the ingredients -// 3 you brought the needed stuff. if you meet other criteria (baselevel, agi) you will be taught the skill -// 4 you have met the criteria of 3, but declined to take the speed test. -// 5 you tried the quest but you failed +// 0 either fully completed the quests in here, or not started. +// 1 you said the wrong words, she is insulted. (so you excuse and goto 2) +// 2 waiting for the ingredients +// 3 you brought the needed stuff. if you meet other criteria (baselevel, agi) you will be taught the skill +// 4 you have met the criteria of 3, but declined to take the speed test. +// 5 you tried the quest but you failed // QUEST_MIRIAM_start -// a time in ticks. This is only !=0 if you started running to pachua. +// a time in ticks. This is only !=0 if you started running to pachua. // QUEST_MIRIAM_run -// when you reach pachua, he stores the difference of start and arrival in here. +// when you reach pachua, he stores the difference of start and arrival in here. //############################################# // after you gained the speed skill, all variables are reset to zero. //############################################# @@ -70,7 +70,6 @@ L_intro: set QUEST_MIRIAM, 2; close; - L_canthelp: mes "[Miriam]"; mes "\"Oh, really? So you better pray to not need my help in the future!\""; @@ -118,7 +117,9 @@ L_ask3: close; L_getitems: - if (countitem("SnakeTongue") < 10 || countitem("ConcentrationPotion") < 5) goto L_notenough; + if (countitem("SnakeTongue") < 10 + || countitem("ConcentrationPotion") < 5) + goto L_notenough; delitem "SnakeTongue", 10; delitem "ConcentrationPotion", 5; set QUEST_MIRIAM, 3; @@ -128,7 +129,6 @@ L_getitems: mes "\"Now, since you helped me, maybe I can teach you a basic skill, but only if you prove yourself to be a fast runner! Come back and talk to me when you think you are prepared to learn.\""; close; - L_notenough: mes "[Miriam]"; mes "\"Hey, you don't have all that I asked. Come back when you have everything.\""; @@ -145,10 +145,20 @@ L_teach: set @agi, readparam(bAgi); set @torso$, getitemname(getequipid(equip_torso)); set @weight, MaxWeight/Weight; - if (@weight < 3) goto L_heavyweight; - if (@agi < 60) goto L_slow; - if (baselevel < 60) goto L_lowlevel; - if (countitem("SteelShield") > 0 || countitem("WarlordHelmet") > 0 || countitem("CrusadeHelmet") > 0 || countitem("WarlordPlate") > 0 || countitem("KnightsHelmet") > 0 || countitem("InfantryHelmet") > 0 || countitem("ChainmailShirt") > 0) goto L_heavymetal; + if (@weight < 3) + goto L_heavyweight; + if (@agi < 60) + goto L_slow; + if (baselevel < 60) + goto L_lowlevel; + if (countitem("SteelShield") > 0 + || countitem("WarlordHelmet") > 0 + || countitem("CrusadeHelmet") > 0 + || countitem("WarlordPlate") > 0 + || countitem("KnightsHelmet") > 0 + || countitem("InfantryHelmet") > 0 + || countitem("ChainmailShirt") > 0) + goto L_heavymetal; goto L_offer; L_heavyweight: @@ -177,7 +187,8 @@ L_offer: mes "[Miriam]"; mes "\"Hmm! You look great in these clothes! They look very comfortable too... And it seems like you are not carrying too much weight.\""; next; - if (!(getskilllv(SKILL_POOL))) goto L_noskill; + if (!(getskilllv(SKILL_POOL))) + goto L_noskill; menu "Yes, I look really good in this " +@torso$+ ".",-; mes "[Miriam]"; @@ -259,9 +270,12 @@ L_wasting: close; L_checktime: - if (QUEST_MIRIAM_cheat != 0) goto L_warning; - if (QUEST_MIRIAM_run > 210) goto L_tryagain; - if (QUEST_MIRIAM_run <= 210) goto L_goodjob; + if (QUEST_MIRIAM_cheat != 0) + goto L_warning; + if (QUEST_MIRIAM_run > 210) + goto L_tryagain; + if (QUEST_MIRIAM_run <= 210) + goto L_goodjob; L_tryagain: mes "[Miriam]"; diff --git a/world/map/npc/042-1/hasan.txt b/world/map/npc/042-1/hasan.txt index 0393e697..f658445e 100644 --- a/world/map/npc/042-1/hasan.txt +++ b/world/map/npc/042-1/hasan.txt @@ -31,6 +31,7 @@ mes "[Unfriendly Guy]"; mes "\"I, Hasan the Mighty, have decided to put a toll on this path.\""; next; + L_Toll: mes "[Hasan]"; mes "\"Give me " + @toll + "GP, and I may let you pass.\""; @@ -246,9 +247,9 @@ OnTouch: if (hasan == 4) message strcharinfo(0), "Hasan: \"Please wait a moment!\""; end; + L_Tut: warp "022-1.gat", 23, 38; end; - } diff --git a/world/map/npc/042-1/kaan.txt b/world/map/npc/042-1/kaan.txt index e3998d1c..ca35843f 100644 --- a/world/map/npc/042-1/kaan.txt +++ b/world/map/npc/042-1/kaan.txt @@ -99,6 +99,7 @@ L_Hasan: mes "\"He might listen to one of the adult men, but they're all off to work in Tulimshar during the day.\""; set kaan, 3; next; + L_Trick: mes "[Kaan]"; mes "\"Do you have any idea what Hasans weakness could be?"; @@ -112,6 +113,7 @@ L_Trick: mes "\"Scorpions?! Right! How could I forget?"; mes "When he was a child, he nearly died because he fell into a scorpion nest.\""; next; + L_Explain: mes "\"Ok, then here's the plan:"; mes "I will catch one of the scorpions that's coming to the fence from the desert.\""; diff --git a/world/map/npc/042-1/valon.txt b/world/map/npc/042-1/valon.txt index 221d161c..47aa18a6 100644 --- a/world/map/npc/042-1/valon.txt +++ b/world/map/npc/042-1/valon.txt @@ -32,6 +32,7 @@ OnTouch: mes "\"The desert is merciless."; mes "I can't let you leave like this.\""; close; + L_Tut: warp "041-1.gat", 33, 8; end; diff --git a/world/map/npc/042-2/sorfina.txt b/world/map/npc/042-2/sorfina.txt index efee998c..0d1d127e 100644 --- a/world/map/npc/042-2/sorfina.txt +++ b/world/map/npc/042-2/sorfina.txt @@ -10,6 +10,7 @@ if (sorfina == 1) goto L_Carpet; callfunc "GameRules"; + L_Start: mes "You open your eyes."; mes ""; @@ -45,6 +46,7 @@ L_Tut: mes "\"You still look rather shaky."; mes "You're not used to the hot weather, right?\""; next; + L_Carpet: mes "\"Try to take a few steps and walk to that red carpet over there."; mes "Just use the arrow keys or click on the place you want to go to.\""; @@ -70,7 +72,8 @@ L_Naked: close; L_Clothes: - if (getequipid(equip_torso) < 0) goto L_Naked; + if (getequipid(equip_torso) < 0) + goto L_Naked; mes "[Sorfina]"; mes "\"That's much better, don't you think?\""; next; @@ -240,6 +243,7 @@ OnTouch: 042-2.gat,33,27,0|script|#Carpet|45,1,1{ end; + OnTouch: if (sorfina != 1) end; @@ -266,6 +270,7 @@ OnTouch: mes "The chest is locked."; close; + L_Shirt: mes "You take a simple Cotton Shirt out of the chest."; getitem "CottonShirt", 1; @@ -286,10 +291,14 @@ L_Empty: 042-2.gat,44,31,0|script|#DoorOut|45,0,0{ end; + OnTouch: - if ((sorfina < 4) && !(FLAGS & FLAG_TUTORIAL_DONE)) goto L_Block; + if ((sorfina < 4) + && !(FLAGS & FLAG_TUTORIAL_DONE)) + goto L_Block; warp "042-1.gat", 37, 57; end; + L_Block: message strcharinfo(0), "Sorfina: Wait a moment! You're not ready to leave."; end; diff --git a/world/map/npc/042-2/tanisha.txt b/world/map/npc/042-2/tanisha.txt index cc5d307a..d774709a 100644 --- a/world/map/npc/042-2/tanisha.txt +++ b/world/map/npc/042-2/tanisha.txt @@ -83,6 +83,7 @@ L_Stats: next; mes "\"Press F2 or click the Status button in the bar at the upper right to see your status window. There you can distribute your points on six different properties.\""; next; + L_StatsRe: mes "\"Strength makes you hit harder and you can carry more weight.\""; next; |