summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/024-1/john.txt115
1 files changed, 107 insertions, 8 deletions
diff --git a/npc/024-1/john.txt b/npc/024-1/john.txt
index ef5da5333..0fb62f87f 100644
--- a/npc/024-1/john.txt
+++ b/npc/024-1/john.txt
@@ -102,7 +102,7 @@
.@c = min(.@c, countitem(Coffee));
if (.@c < 1) break;
delitem Coffee, .@c;
- .@q2 = getq2(FrostiaQuest_JhonH) + .@c;
+ .@q2 = getq2(FrostiaQuest_JhonH) + rand2(.@c);
.@q3 = getq3(FrostiaQuest_JhonH);
setq2 FrostiaQuest_JhonH, .@q2;
.@xp = 250 + rand2(getiteminfo(Coffee, ITEMINFO_SELLPRICE) / 3);
@@ -164,30 +164,129 @@
break;
case 7:
if (.@q2 >= 40) {
- inventoryplace AlchemyBlueprintC, 1;
- getitem AlchemyBlueprintC, 1;
+ .@i = any(LukPotionA, DexPotionA, IntPotionA, VitPotionA, AgiPotionA);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
}
break;
case 8:
if (.@q2 >= 50) {
- inventoryplace AlchemyBlueprintD, 1;
- getitem AlchemyBlueprintD, 1;
+ inventoryplace AlchemyBlueprintC, 1;
+ getitem AlchemyBlueprintC, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
}
break;
case 9:
+ if (.@q2 >= 60) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 10:
if (.@q2 >= 75) {
+ inventoryplace AlchemyBlueprintD, 1;
+ getitem AlchemyBlueprintD, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 11:
+ if (.@q2 >= 90) {
inventoryplace AncientBlueprint, 1;
getitem AncientBlueprint, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
}
break;
- case 10:
+ case 12:
if (.@q2 >= 100) {
- inventoryplace AlchemyBlueprintE, 1;
- getitem AlchemyBlueprintE, 1;
+ .@i = any(LukPotionB, DexPotionB, IntPotionB, VitPotionB, AgiPotionB, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 13:
+ if (.@q2 >= 120) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 14:
+ if (.@q2 >= 140) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 15:
+ if (.@q2 >= 150) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 16:
+ if (.@q2 >= 175) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 17:
+ if (.@q2 >= 200) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 18:
+ if (.@q2 >= 250) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 19:
+ if (.@q2 >= 300) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern, GoldenApple);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 20:
+ if (.@q2 >= 400) {
+ .@i = any(SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern, PirateTreasureMap, TimeFlask);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 21:
+ if (.@q2 >= 450) {
+ .@i = any(ScrollCriticalFortuneB, ScrollBattlePlansB, ScrollDefenseBlessB, ScrollMagnusHealB, ScrollSDragon, GoldenApple);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 22:
+ if (.@q2 >= 500) {
+ .@i = any(ScrollCriticalFortuneB, ScrollBattlePlansB, ScrollDefenseBlessB, ScrollMagnusHealB, ScrollSDragon, DivineApple);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ mesc l("You have reached the current reward limit for Jhon."), 1;
+ mesc l("Futurely, Mylarin Dust and a Sunny Crystal will also be available.");
}
break;
}