diff options
Diffstat (limited to 'npc/001-1')
-rw-r--r-- | npc/001-1/calypsan.txt | 2 | ||||
-rw-r--r-- | npc/001-1/doors.txt | 4 | ||||
-rw-r--r-- | npc/001-1/enora.txt | 16 | ||||
-rw-r--r-- | npc/001-1/fexil.txt | 2 | ||||
-rw-r--r-- | npc/001-1/flags.txt | 18 | ||||
-rw-r--r-- | npc/001-1/katja.txt | 2 | ||||
-rw-r--r-- | npc/001-1/koga.txt | 14 | ||||
-rw-r--r-- | npc/001-1/qonan.txt | 5 | ||||
-rw-r--r-- | npc/001-1/rowboat.txt | 13 | ||||
-rw-r--r-- | npc/001-1/rowboathelper.txt | 15 | ||||
-rw-r--r-- | npc/001-1/salem.txt | 2 | ||||
-rw-r--r-- | npc/001-1/sophialla.txt | 44 | ||||
-rw-r--r-- | npc/001-1/trees.txt | 32 |
13 files changed, 119 insertions, 50 deletions
diff --git a/npc/001-1/calypsan.txt b/npc/001-1/calypsan.txt index c8b5b8bb..36668f1b 100644 --- a/npc/001-1/calypsan.txt +++ b/npc/001-1/calypsan.txt @@ -46,7 +46,7 @@ shop "Cashmere#Dye001-1"; break; default: - debugmes "Calypsan script error, tissue_type is incorrect"; + consolemes(CONSOLEMES_ERROR, "Calypsan script error, tissue_type is incorrect"); break; } close; diff --git a/npc/001-1/doors.txt b/npc/001-1/doors.txt index 67936b4b..7cf4e132 100644 --- a/npc/001-1/doors.txt +++ b/npc/001-1/doors.txt @@ -32,11 +32,15 @@ OnUnTouch: OnTouch: .@enora = getq(ArtisQuests_Enora); + .@legion = getq(Artis_Legion_Progress); + .@brotherhood = getq(General_Brotherhood); if (.@enora < 11) { setfakecells 57, 41, 1; end; } + if (.@legion == 6 && !.@brotherhood) + addtimer 30, "Sophialla#001-1::OnLegionComplete"; setfakecells 57, 41, 0; doorTouch; diff --git a/npc/001-1/enora.txt b/npc/001-1/enora.txt index 45e6e551..140f51b0 100644 --- a/npc/001-1/enora.txt +++ b/npc/001-1/enora.txt @@ -123,7 +123,7 @@ .@zeny_reward = getarg(1); getexp .@exp_reward, 0; - Zeny = Zeny + .@zeny_reward; + Zeny += .@zeny_reward; narrator S_LAST_NEXT, l("You received @@ EXP and @@ E.", .@exp_reward, .@zeny_reward); @@ -300,6 +300,8 @@ l("Only one more Fluffy to kill and it's done!"); return; + } else if (getq(ArtisQuests_Enora) == 10) { + inventoryplace TreasureKey, 1; } speech S_FIRST_BLANK_LINE | S_LAST_NEXT, @@ -314,6 +316,10 @@ { setq ArtisQuests_Enora, 11; enora_reward(140, 500); + getitem TreasureKey, 1; + mesn; + mesq l("Also, here is a %s. If you find a Treasure Chest somewhere, you can open it with this!", getitemlink(TreasureKey)); + next; } return; @@ -440,10 +446,7 @@ OnInit: end; } -001-1,0,0,0 script Mobs#001-1 NPC_HIDDEN,{ - end; - -OnNPCKillEvent: +function script EnoraKills { if (getq(ArtisQuests_Enora) == 10 && killedrid == Fluffy && strcharinfo(PC_MAP) == "001-1" @@ -451,5 +454,6 @@ OnNPCKillEvent: { setq(ArtisQuests_Enora, 10, getq2(ArtisQuests_Enora) + 1); } - end; + return; } + diff --git a/npc/001-1/fexil.txt b/npc/001-1/fexil.txt index 2ea78091..7b612674 100644 --- a/npc/001-1/fexil.txt +++ b/npc/001-1/fexil.txt @@ -122,7 +122,7 @@ l("Deal, I offer you @@ E!", .@price); delitem FluffyFur, .@amount; - Zeny = Zeny + .@price; + Zeny += .@price; break; diff --git a/npc/001-1/flags.txt b/npc/001-1/flags.txt index 10ebf3c4..5e70c25a 100644 --- a/npc/001-1/flags.txt +++ b/npc/001-1/flags.txt @@ -1,25 +1,17 @@ // Evol scripts. // Author: // Micksha +// Jesusalva // Description: // The flags supposed to mark Rowboat unmounting spots in Artis // THIS IS A PLACEHOLDER! 001-1,200,63,0 script Flag#1 NPC_FLAG_L,{ OnTouch: - narrator S_LAST_NEXT, - l("You see a suspicious greenish flag. It reminds you of something you seem to have forgotten."); -} - -001-1,27,101,0 script Flag#2 NPC_FLAG_R,{ - OnTouch: - narrator S_LAST_NEXT, - l("You see a suspicious greenish flag. It reminds you of something you seem to have forgotten."); -} - -001-1,68,139,0 script Flag#3 NPC_FLAG_R,{ - OnTouch: - narrator S_LAST_NEXT, + narrator l("You see a suspicious greenish flag. It reminds you of something you seem to have forgotten."); + close; } +001-1,27,101,0 duplicate(Flag#1) Flag#2 NPC_FLAG_R +001-1,68,139,0 duplicate(Flag#1) Flag#3 NPC_FLAG_R diff --git a/npc/001-1/katja.txt b/npc/001-1/katja.txt index 2d79a730..38ff2725 100644 --- a/npc/001-1/katja.txt +++ b/npc/001-1/katja.txt @@ -6,7 +6,7 @@ // Little girl playing around the hill on top of the port. // She wants you to find her brother. // Variables: -// AtrilQuests_LazyBrother = 19 -- quest var +// ArtisQuests_LazyBrother = 19 -- quest var // LazyBrother_TreesLeft = 15 -- how many trees left to search // LazyBrother_TreeSearched[15] -- whether given tree was searched // LazyBrother_TreeWithBrother -- the number of tree where he's hiding diff --git a/npc/001-1/koga.txt b/npc/001-1/koga.txt index 3aecb09a..2595be63 100644 --- a/npc/001-1/koga.txt +++ b/npc/001-1/koga.txt @@ -9,12 +9,24 @@ speech l("Ah, whom did you bring here?"), l("Isnt that the one Nard found on a float in the sea, with the sign of the Legion on his chest?"); - l("I hope they know what they are doing. So, come on board. I am looking forward to go back to Woodland, haven't been there for a while."); + next; + mesc l("Travel to woodlands?"); + if (askyesno() == ASK_YES) + { + speech + l("I hope they know what they are doing. So, come on board. I am looking forward to go back to Woodland, haven't been there for a while."); + next; + closeclientdialog; + setmount 0; + warp "008-1-1", 33, 63; + dispbottom l("After a tiring, yet fast, travel by Koga, you arrive at @@.", l("Woodlands")); + } close; OnInit: .sex = G_MALE; .distance = 4; + .alwaysVisible = true; end; } diff --git a/npc/001-1/qonan.txt b/npc/001-1/qonan.txt index 48b0c3f8..6805356a 100644 --- a/npc/001-1/qonan.txt +++ b/npc/001-1/qonan.txt @@ -60,6 +60,9 @@ l("You should check on the highest part of the cliff, I was hiding there."), l("I hope to see you soon."); getitem IronShovel, 1; + // For questlog + setq2 ArtisQuests_QOnan, .move__rand_x+any(-1,1); + setq3 ArtisQuests_QOnan, .move__rand_y+any(-1,1); close; case 2: speech S_FIRST_BLANK_LINE | S_LAST_BLANK_LINE, @@ -101,7 +104,7 @@ OnInit: } function script QOnanFoundItem { - setq ArtisQuests_QOnan, 2; + setq ArtisQuests_QOnan, 2, 0, 0; // getitem SmallChest, 1; narrator S_FIRST_BLANK_LINE, l("You found a small chest, surprisingly heavy for it's size."), diff --git a/npc/001-1/rowboat.txt b/npc/001-1/rowboat.txt index 3c8429a4..fa95f737 100644 --- a/npc/001-1/rowboat.txt +++ b/npc/001-1/rowboat.txt @@ -15,9 +15,16 @@ l("Do you have this commendatory letter?"); closeclientdialog(); if (askyesno() == 1) { - slide 204, 62; - movenpc("#Rowboat", 192, 25); - setmount 1; + if (getq(General_Brotherhood) >= 2) + { + slide 204, 62; + movenpc("#Rowboat", 192, 25); + setmount 1; + } + else + { + npctalk3 l("You're lying, aren't you? I heard nothing from you-know-whom!"); + } close; } diff --git a/npc/001-1/rowboathelper.txt b/npc/001-1/rowboathelper.txt index 675cfdaf..7cd419e4 100644 --- a/npc/001-1/rowboathelper.txt +++ b/npc/001-1/rowboathelper.txt @@ -27,8 +27,9 @@ l("Maybe you should try this phrase?")); if (askyesno() == ASK_YES) { - narrator(S_LAST_BLANK_LINE | S_LAST_NEXT, - l("'Enter strange phrase here.'")); + mesn strcharinfo(0); + mesc l("Sagratha is great."); + next; speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Hello, a rowboat is on his way to the beach. Please wait for a while for it to arrive."); @@ -40,10 +41,6 @@ close; } -// Make sure to unmount the boat when player dies -OnPCDieEvent: - setmount 0; - OnInit: .distance = 1; } @@ -119,3 +116,9 @@ OnInit: .sex = G_OTHER; .distance = 1; } + +function script ForcedUnmount { + setmount 0; + return; +} + diff --git a/npc/001-1/salem.txt b/npc/001-1/salem.txt index c8ea3ab8..ceaeda8f 100644 --- a/npc/001-1/salem.txt +++ b/npc/001-1/salem.txt @@ -48,7 +48,7 @@ return 3; } - Zeny = Zeny - .@price; + Zeny -= .@price; getitem PiouEgg, 1; ArtisQuests_PiousBought += 1; mesq l("You take good care of your piou. Remember to feed it every day."); diff --git a/npc/001-1/sophialla.txt b/npc/001-1/sophialla.txt index ad4d508a..ad0755ec 100644 --- a/npc/001-1/sophialla.txt +++ b/npc/001-1/sophialla.txt @@ -6,15 +6,59 @@ // THIS IS A PLACEHOLDER! 001-1,73,40,0 script Sophialla#001-1 NPC_SOPHIALLA,{ + .@q=getq(General_Brotherhood); + if (!.@q) + { + speech + l("Hello."), + l("Can't you see I am reading? Please go, please."); + close; + } speech l("Hello."), l("Can't you see I am reading? If you need something, tell me the secret password."); + // TODO: Use a token to know password or whatever + select + l("Sorry to disturb you."), + rif(getq(ArtisQuests_MonaDad) == 3, l("Sagratha is great.")), + l("I don't know the password"); + mes ""; + if (@menu == 2) + { + speech + l("If you visit the sewers again... You'll find secret passages..."), + l("Look for the hideout, but tell no one about this. Then, say the password again."); + compareandsetq General_Brotherhood, 1, 2; + } + + speech lg("If you don't know it, just go, please."); + close; +OnLegionComplete: + restorecam; + mesn "???"; + mesc l("A strange voice seems to be calling out your name."); + next; + // NOTE: Sophialla is more than 15 tiles of distance from player + // Server refuses to send client data about where she is and that makes + // setcamnpc fail. This is why I set .alwaysVisible attribute to true. + // Note: you can work around with coordinates, but she won't be drawn. + setcamnpc "Sophialla#001-1"; + mesn; + mesq l("Hey. ppst. I have something important to tell you."); + next; + mesn; + mesq l("I just can't remember what. But come talk to me later once devs becomes less lazy."); + setq General_Brotherhood, 1; + next; + restorecam; + closeclientdialog; close; OnInit: .sex = G_FEMALE; .distance = 2; + .alwaysVisible = true; end; } diff --git a/npc/001-1/trees.txt b/npc/001-1/trees.txt index cba42f8f..2c147bf9 100644 --- a/npc/001-1/trees.txt +++ b/npc/001-1/trees.txt @@ -4,7 +4,7 @@ // Description: // Invisible tree NPCs for "Lazy Brother" quest // Variables: -// AtrilQuests_LazyBrother = 19 -- quest var +// ArtisQuests_LazyBrother = 19 -- quest var // LazyBrother_TreesLeft = 15 -- how many trees left to search // LazyBrother_TreeSearched[15] -- whether given tree was searched // LazyBrother_TreeWithBrother -- the number of tree where he's hiding @@ -99,7 +99,7 @@ L_FoundHim: close; } -001-1,179,30,0 script #AtrilTree1 NPC_KATJA_TREE,{ +001-1,179,30,0 script #ArtisTree1 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(1); end; OnInit: @@ -108,7 +108,7 @@ OnInit: end; } -001-1,177,29,0 script #AtrilTree2 NPC_KATJA_TREE,{ +001-1,177,29,0 script #ArtisTree2 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(2); end; OnInit: @@ -117,7 +117,7 @@ OnInit: end; } -001-1,183,28,0 script #AtrilTree3 NPC_KATJA_TREE,{ +001-1,183,28,0 script #ArtisTree3 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(3); end; OnInit: @@ -126,7 +126,7 @@ OnInit: end; } -001-1,182,25,0 script #AtrilTree4 NPC_KATJA_TREE,{ +001-1,182,25,0 script #ArtisTree4 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(4); end; OnInit: @@ -135,7 +135,7 @@ OnInit: end; } -001-1,187,26,0 script #AtrilTree5 NPC_KATJA_TREE,{ +001-1,187,26,0 script #ArtisTree5 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(5); end; OnInit: @@ -144,7 +144,7 @@ OnInit: end; } -001-1,189,28,0 script #AtrilTree6 NPC_KATJA_TREE,{ +001-1,189,28,0 script #ArtisTree6 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(6); end; OnInit: @@ -153,7 +153,7 @@ OnInit: end; } -001-1,184,30,0 script #AtrilTree7 NPC_KATJA_TREE,{ +001-1,184,30,0 script #ArtisTree7 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(7); end; OnInit: @@ -162,7 +162,7 @@ OnInit: end; } -001-1,189,31,0 script #AtrilTree8 NPC_KATJA_TREE,{ +001-1,189,31,0 script #ArtisTree8 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(8); end; OnInit: @@ -171,7 +171,7 @@ OnInit: end; } -001-1,191,30,0 script #AtrilTree9 NPC_KATJA_TREE,{ +001-1,191,30,0 script #ArtisTree9 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(9); end; OnInit: @@ -180,7 +180,7 @@ OnInit: end; } -001-1,191,33,0 script #AtrilTree10 NPC_KATJA_TREE,{ +001-1,191,33,0 script #ArtisTree10 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(10); end; OnInit: @@ -189,7 +189,7 @@ OnInit: end; } -001-1,187,34,0 script #AtrilTree11 NPC_KATJA_TREE,{ +001-1,187,34,0 script #ArtisTree11 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(11); end; OnInit: @@ -198,7 +198,7 @@ OnInit: end; } -001-1,185,35,0 script #AtrilTree12 NPC_KATJA_TREE,{ +001-1,185,35,0 script #ArtisTree12 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(12); end; OnInit: @@ -207,7 +207,7 @@ OnInit: end; } -001-1,182,34,0 script #AtrilTree13 NPC_KATJA_TREE,{ +001-1,182,34,0 script #ArtisTree13 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(13); end; OnInit: @@ -216,7 +216,7 @@ OnInit: end; } -001-1,180,33,0 script #AtrilTree14 NPC_KATJA_TREE,{ +001-1,180,33,0 script #ArtisTree14 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(14); end; OnInit: @@ -225,7 +225,7 @@ OnInit: end; } -001-1,181,32,0 script #AtrilTree15 NPC_KATJA_TREE,{ +001-1,181,32,0 script #ArtisTree15 NPC_KATJA_TREE,{ LazyBrotherTreeFunc(15); end; OnInit: |