diff options
-rw-r--r-- | npc/024-1/john.txt | 115 |
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; } |