diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/001-1/_mobs.txt | 4 | ||||
-rw-r--r-- | npc/001-1/enora.txt | 19 | ||||
-rw-r--r-- | npc/functions/quest-debug/027-ArtisQuests_Enora.txt | 36 |
3 files changed, 38 insertions, 21 deletions
diff --git a/npc/001-1/_mobs.txt b/npc/001-1/_mobs.txt index 97e5a6ec..a2b6e5f1 100644 --- a/npc/001-1/_mobs.txt +++ b/npc/001-1/_mobs.txt @@ -2,8 +2,8 @@ // Map 001-1: Artis mobs 001-1,0,0,0,0 monster Piou 1002,2,15000,60000 001-1,0,0,0,0 monster Piousse 1003,1,15000,150000 -001-1,174,34,11,15 monster Fluffy 1022,6,18000,100000,Mobs#001-1::OnFluffyDeath -001-1,199,48,2,5 monster Fluffy 1022,4,18000,100000,Mobs#001-1::OnFluffyDeath +001-1,174,34,11,15 monster Fluffy 1022,6,18000,100000 +001-1,199,48,2,5 monster Fluffy 1022,4,18000,100000 001-1,174,34,11,15 monster Piou 1002,1,12000,60000 001-1,35,62,1,4 monster Pikpik 1013,3,40000,20000 001-1,26,96,3,2 monster Pikpik 1013,1,40000,20000 diff --git a/npc/001-1/enora.txt b/npc/001-1/enora.txt index da2248de..1061dace 100644 --- a/npc/001-1/enora.txt +++ b/npc/001-1/enora.txt @@ -287,14 +287,14 @@ } function enora_hill_cleaned { - if (ArtisFluffyKilled < 9) + if (getq2(ArtisQuests_Enora) < 9) { speech 5, - l("Oh no, you still have @@ Fluffies to kill.", 10 - ArtisFluffyKilled); + l("Oh no, you still have @@ Fluffies to kill.", 10 - getq2(ArtisQuests_Enora)); return; } - else if (ArtisFluffyKilled < 10) + else if (getq2(ArtisQuests_Enora) < 10) { speech 5, l("Only one more Fluffy to kill and it's done!"); @@ -400,8 +400,8 @@ break; case 5: speech 5, - l("You killed @@ Fluffies.", ArtisFluffyKilled); - if (ArtisFluffyKilled > 8) + l("You killed @@ Fluffies.", getq2(ArtisQuests_Enora)); + if (getq2(ArtisQuests_Enora) > 8) { mesq l("If you continue there will be none left!"); next; @@ -443,10 +443,13 @@ OnInit: 001-1,0,0,0 script Mobs#001-1 NPC_HIDDEN,{ end; -OnFluffyDeath: - if (playerattached()) +OnNPCKillEvent: + if (getq(ArtisQuests_Enora) == 10 + && killedrid == Fluffy + && strcharinfo(PC_MAP) == "001-1" + && getq2(ArtisQuests_Enora) < 10) { - set ArtisFluffyKilled, ArtisFluffyKilled + 1; + setq(ArtisQuests_Enora, 10, getq2(ArtisQuests_Enora) + 1); } end; } diff --git a/npc/functions/quest-debug/027-ArtisQuests_Enora.txt b/npc/functions/quest-debug/027-ArtisQuests_Enora.txt index fb20205a..9121ceb3 100644 --- a/npc/functions/quest-debug/027-ArtisQuests_Enora.txt +++ b/npc/functions/quest-debug/027-ArtisQuests_Enora.txt @@ -5,14 +5,16 @@ function script QuestDebug27 { do { - clear; - setnpcdialogtitle l("Quest debug"); - mes "ArtisQuests_Enora"; - mes "---"; - mes l("Quest state: @@", getq(ArtisQuests_Enora)); - next; + clear(); + setnpcdialogtitle(l("Quest debug")); + mes("ArtisQuests_Enora"); + mes("---"); + mes(l("Quest state: @@, @@", + getq(ArtisQuests_Enora), + getq2(ArtisQuests_Enora))); + next(); - GenericQuestDebug ArtisQuests_Enora, + GenericQuestDebug(ArtisQuests_Enora, l("Does not have the quest"), 0, l("Enora asks to visit Chelios"), 1, l("Chelios asks to visit Lloyd"), 2, @@ -23,12 +25,24 @@ function script QuestDebug27 { l("Enora asks to visit Q'Pid"), 7, l("Lost the riddle"), 8, l("Ivan gave package"), 9, - l("Enora asks to kill fluffys"), 10, - l("Completed, got reward"), 11; + l("Enora asks to kill fluffies"), 10, + l("Completed, got reward"), 11); - if (@menuret < 0) + switch (@menuret) { - return; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: setq(ArtisQuests_Enora, getq(ArtisQuests_Enora), 0); break; + case 11: setq(ArtisQuests_Enora, getq(ArtisQuests_Enora), 10); break; + default: if (@menuret < 0) return; } } while (1); |